Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
喜羊羊3508
Dak
提交
d6dd1d07
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,发现更多精彩内容 >>
提交
d6dd1d07
编写于
9月 24, 2003
作者:
J
James Troup
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
new check files-not-symlinks.
上级
63d91e6f
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
48 addition
and
2 deletion
+48
-2
tea
tea
+48
-2
未找到文件。
tea
浏览文件 @
d6dd1d07
#!/usr/bin/env python
#
Sanity check the database
#
Various different sanity checks
# Copyright (C) 2000, 2001, 2002, 2003 James Troup <james@nocrew.org>
# $Id: tea,v 1.2
3 2003-09-07 13:52:17
troup Exp $
# $Id: tea,v 1.2
4 2003-09-24 00:13:46
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
...
...
@@ -60,6 +60,7 @@ The following MODEs are available:
timestamps - check for future timestamps in .deb's
tar-gz-in-dsc - ensure each .dsc lists a .tar.gz file
validate-indices - ensure files mentioned in Packages & Sources exist
files-not-symlinks - check files in the database aren't symlinks
"""
sys
.
exit
(
exit_code
)
...
...
@@ -346,6 +347,49 @@ def check_indices_files_exist():
################################################################################
def
check_files_not_symlinks
():
print
"Building list of database files... "
,;
before
=
time
.
time
();
q
=
projectB
.
query
(
"SELECT l.path, f.filename, f.id FROM files f, location l WHERE f.location = l.id"
)
print
"done. (%d seconds)"
%
(
int
(
time
.
time
()
-
before
));
q_files
=
q
.
getresult
();
# locations = {};
# q = projectB.query("SELECT l.path, c.name, l.id FROM location l, component c WHERE l.component = c.id");
# for i in q.getresult():
# path = os.path.normpath(i[0] + i[1]);
# locations[path] = (i[0], i[2]);
# q = projectB.query("BEGIN WORK");
for
i
in
q_files
:
filename
=
os
.
path
.
normpath
(
i
[
0
]
+
i
[
1
]);
file_id
=
i
[
2
];
if
os
.
access
(
filename
,
os
.
R_OK
)
==
0
:
utils
.
warn
(
"%s: doesn't exist."
%
(
filename
));
else
:
if
os
.
path
.
islink
(
filename
):
utils
.
warn
(
"%s: is a symlink."
%
(
filename
));
# You probably don't want to use the rest of this...
# print "%s: is a symlink." % (filename);
# dest = os.readlink(filename);
# if not os.path.isabs(dest):
# dest = os.path.normpath(os.path.join(os.path.dirname(filename), dest));
# print "--> %s" % (dest);
# # Determine suitable location ID
# # [in what must be the suckiest way possible?]
# location_id = None;
# for path in locations.keys():
# if dest.find(path) == 0:
# (location, location_id) = locations[path];
# break;
# if not location_id:
# utils.fubar("Can't find location for %s (%s)." % (dest, filename));
# new_filename = dest.replace(location, "");
# q = projectB.query("UPDATE files SET filename = '%s', location = %s WHERE id = %s" % (new_filename, location_id, file_id));
# q = projectB.query("COMMIT WORK");
################################################################################
def
main
():
global
Cnf
,
projectB
,
db_files
,
waste
,
excluded
;
...
...
@@ -388,6 +432,8 @@ def main ():
check_missing_tar_gz_in_dsc
();
elif
mode
==
"validate-indices"
:
check_indices_files_exist
();
elif
mode
==
"files-not-symlinks"
:
check_files_not_symlinks
();
else
:
utils
.
warn
(
"unknown mode '%s'"
%
(
mode
));
usage
(
1
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录