Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
1cf8b826
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,发现更多精彩内容 >>
提交
1cf8b826
编写于
3月 02, 2001
作者:
J
James Troup
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add (unfinished) check_source_in_one_dir() and check_md5sums() function.
上级
cb9b3094
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
61 addition
and
3 deletion
+61
-3
tea
tea
+61
-3
未找到文件。
tea
浏览文件 @
1cf8b826
#!/usr/bin/env python
# Sanity check the database
# Copyright (C) 2000 James Troup <james@nocrew.org>
# $Id: tea,v 1.
5 2001-02-04 04:27:58
troup Exp $
# Copyright (C) 2000
, 2001
James Troup <james@nocrew.org>
# $Id: tea,v 1.
6 2001-03-02 02:30:12
troup Exp $
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
...
...
@@ -101,6 +101,8 @@ def check_dscs():
if
count
:
sys
.
stderr
.
write
(
"Found %s invalid .dsc files.
\n
"
%
(
count
));
################################################################################
def
check_override
():
for
suite
in
[
"stable"
,
"unstable"
]:
print
suite
...
...
@@ -122,6 +124,60 @@ SELECT DISTINCT s.source FROM source s, src_associations sa
################################################################################
# Ensure that the source files for any given package is all in one
# directory so that 'apt-get source' works...
def
check_source_in_one_dir
():
# Not the most enterprising method, but hey...
broken_count
=
0
;
q
=
projectB
.
query
(
"SELECT id FROM source;"
);
for
i
in
q
.
getresult
():
source_id
=
i
[
0
];
q2
=
projectB
.
query
(
"""
SELECT f.filename FROM files f, dsc_files df WHERE df.source = %s AND f.id = df.file"""
%
(
source_id
));
first_path
=
""
;
broken
=
0
;
for
j
in
q2
.
getresult
():
path
=
os
.
path
.
dirname
(
j
[
0
]);
if
first_path
==
""
:
first_path
=
path
;
elif
first_path
!=
path
:
broken
=
1
;
#print "Woah, we got a live one here... %s" % (source_id);
if
broken
:
broken_count
=
broken_count
+
1
;
print
q2
print
"Found %d source packages where the source is not all in one directory."
%
(
broken_count
);
################################################################################
def
check_md5sums
():
print
"Getting file information from database..."
;
q
=
projectB
.
query
(
"SELECT l.path, f.filename, f.md5sum, f.size FROM files f, location l WHERE f.location = l.id"
)
ql
=
q
.
getresult
();
print
"Checking file md5sums & sizes..."
;
for
i
in
ql
:
filename
=
os
.
path
.
abspath
(
i
[
0
]
+
i
[
1
]);
db_md5sum
=
i
[
2
];
db_size
=
int
(
i
[
3
]);
try
:
file
=
utils
.
open_file
(
filename
,
'r'
);
except
:
sys
.
stderr
.
write
(
"E: can't open '%s'.
\n
"
%
(
filename
));
continue
;
md5sum
=
apt_pkg
.
md5sum
(
file
);
size
=
os
.
stat
(
filename
)[
stat
.
ST_SIZE
];
if
md5sum
!=
db_md5sum
:
sys
.
stderr
.
write
(
"E: **WARNING** md5sum mismatch for '%s' ('%s' [current] vs. '%s' [db]).
\n
"
%
(
filename
,
md5sum
,
db_md5sum
));
if
size
!=
db_size
:
sys
.
stderr
.
write
(
"E: **WARNING** size mismatch for '%s' ('%s' [current] vs. '%s' [db]).
\n
"
%
(
filename
,
size
,
db_size
));
print
"Done."
################################################################################
def
main
():
global
Cnf
,
projectB
,
db_files
,
waste
,
excluded
;
...
...
@@ -138,7 +194,9 @@ def main ():
projectB
=
pg
.
connect
(
'projectb'
,
'localhost'
);
db_access
.
init
(
Cnf
,
projectB
);
check_override
();
check_md5sums
();
#check_source_in_one_dir();
#check_override();
#check_dscs();
#check_files();
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录