Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
a3104afe
D
Dak
项目概览
喜羊羊3508
/
Dak
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
D
Dak
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
a3104afe
编写于
4月 30, 2017
作者:
N
Niels Thykier
提交者:
Joerg Jaspert
6月 18, 2017
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
dak auto-decruft: Support decrufting equal versions for NVIX decrufts
Signed-off-by:
N
Niels Thykier
<
niels@thykier.net
>
上级
8985dc72
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
23 addition
and
9 deletion
+23
-9
dak/auto_decruft.py
dak/auto_decruft.py
+15
-5
daklib/cruft.py
daklib/cruft.py
+8
-4
未找到文件。
dak/auto_decruft.py
浏览文件 @
a3104afe
...
...
@@ -59,6 +59,8 @@ Automatic removal of common kinds of cruft
unstable)
--if-newer-version-in-rm-msg RMMSG
use RMMSG in the removal message (e.g. "NVIU")
--decruft-equal-versions use with --if-newer-version-in to also decruft versions
that are identical in both suites.
"""
sys
.
exit
(
exit_code
)
...
...
@@ -374,7 +376,7 @@ def sources2removals(source_list, suite_id, session):
return
to_remove
def
decruft_newer_version_in
(
othersuite
,
suite_name
,
suite_id
,
rm_msg
,
session
,
dryrun
):
def
decruft_newer_version_in
(
othersuite
,
suite_name
,
suite_id
,
rm_msg
,
session
,
dryrun
,
decruft_equal_versions
):
"""Compute removals items given a list of names of source packages
@type othersuite: str
...
...
@@ -394,8 +396,11 @@ def decruft_newer_version_in(othersuite, suite_name, suite_id, rm_msg, session,
@type dryrun: bool
@param dryrun: If True, just print the actions rather than actually doing them
@type decruft_equal_versions: bool
@param decruft_equal_versions: If True, use >= instead of > for finding decruftable packages.
"""
nvi_list
=
[
x
[
0
]
for
x
in
newer_version
(
othersuite
,
suite_name
,
session
)]
nvi_list
=
[
x
[
0
]
for
x
in
newer_version
(
othersuite
,
suite_name
,
session
,
include_equal
=
decruft_equal_versions
)]
if
nvi_list
:
message
=
"[auto-cruft] %s"
%
rm_msg
if
dryrun
:
...
...
@@ -416,8 +421,10 @@ def main ():
(
's'
,
"suite"
,
"Auto-Decruft::Options::Suite"
,
"HasArg"
),
# The "\0" seems to be the only way to disable short options.
(
"
\0
"
,
'if-newer-version-in'
,
"Auto-Decruft::Options::OtherSuite"
,
"HasArg"
),
(
"
\0
"
,
'if-newer-version-in-rm-msg'
,
"Auto-Decruft::Options::OtherSuiteRMMsg"
,
"HasArg"
)]
for
i
in
[
"help"
,
"Dry-Run"
,
"Debug"
,
"OtherSuite"
,
"OtherSuiteRMMsg"
]:
(
"
\0
"
,
'if-newer-version-in-rm-msg'
,
"Auto-Decruft::Options::OtherSuiteRMMsg"
,
"HasArg"
),
(
"
\0
"
,
'decruft-equal-versions'
,
"Auto-Decruft::Options::OtherSuiteDecruftEqual"
)
]
for
i
in
[
"help"
,
"Dry-Run"
,
"Debug"
,
"OtherSuite"
,
"OtherSuiteRMMsg"
,
"OtherSuiteDecruftEqual"
]:
if
not
cnf
.
has_key
(
"Auto-Decruft::Options::%s"
%
(
i
)):
cnf
[
"Auto-Decruft::Options::%s"
%
(
i
)]
=
""
...
...
@@ -431,10 +438,13 @@ def main ():
debug
=
False
dryrun
=
False
decruft_equal_versions
=
False
if
Options
[
"Dry-Run"
]:
dryrun
=
True
if
Options
[
"Debug"
]:
debug
=
True
if
Options
[
"OtherSuiteDecruftEqual"
]:
decruft_equal_versions
=
True
if
Options
[
"OtherSuite"
]
and
not
Options
[
"OtherSuiteRMMsg"
]:
utils
.
fubar
(
"--if-newer-version-in requires --if-newer-version-in-rm-msg"
)
...
...
@@ -452,7 +462,7 @@ def main ():
if
Options
[
"OtherSuite"
]:
osuite
=
get_suite
(
Options
[
"OtherSuite"
].
lower
(),
session
).
suite_name
decruft_newer_version_in
(
osuite
,
suite_name
,
suite_id
,
Options
[
"OtherSuiteRMMsg"
],
session
,
dryrun
)
decruft_newer_version_in
(
osuite
,
suite_name
,
suite_id
,
Options
[
"OtherSuiteRMMsg"
],
session
,
dryrun
,
decruft_equal_versions
)
if
not
dryrun
:
session
.
commit
()
...
...
daklib/cruft.py
浏览文件 @
a3104afe
...
...
@@ -26,7 +26,7 @@ from daklib.dbconn import *
from
sqlalchemy
import
func
from
sqlalchemy.orm
import
object_session
def
newer_version
(
lowersuite_name
,
highersuite_name
,
session
):
def
newer_version
(
lowersuite_name
,
highersuite_name
,
session
,
include_equal
=
False
):
'''
Finds newer versions in lowersuite_name than in highersuite_name. Returns a
list of tuples (source, higherversion, lowerversion) where higherversion is
...
...
@@ -42,9 +42,13 @@ def newer_version(lowersuite_name, highersuite_name, session):
list
=
[]
for
(
source
,
higherversion
)
in
query
:
lowerversion
=
session
.
query
(
func
.
max
(
DBSource
.
version
)).
\
filter_by
(
source
=
source
).
filter
(
DBSource
.
version
>
higherversion
).
\
with_parent
(
lowersuite
).
group_by
(
DBSource
.
source
).
scalar
()
q
=
session
.
query
(
func
.
max
(
DBSource
.
version
)).
\
filter_by
(
source
=
source
)
if
include_equal
:
q
=
q
.
filter
(
DBSource
.
version
>=
higherversion
)
else
:
q
=
q
.
filter
(
DBSource
.
version
>
higherversion
)
lowerversion
=
q
.
with_parent
(
lowersuite
).
group_by
(
DBSource
.
source
).
scalar
()
if
lowerversion
is
not
None
:
list
.
append
((
source
,
higherversion
,
lowerversion
))
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录