summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXavier Chantry <shiningxc@gmail.com>2009-01-03 13:22:57 +0100
committerAaron Griffin <aaronmgriffin@gmail.com>2009-01-09 14:51:55 -0800
commitd39b68ede8567fb2ee15f45995ddab8f4710e9dc (patch)
tree0425500ef520f4a98ce5e48210c9604aeae064b0
parent830f8f87e1ede09a8c827c1a93aa4ed5db66f0b6 (diff)
check_packages : add --arch option.
The parsing script didn't set CARCH previously, and the flashplugin PKGBUILD exited in this case. First override the exit function to prevent the whole script to exit, and add a --arch option to be able to set CARCH correctly. To be used like this : For core and extra : ./check_packages.py --abs-tree=/home/abs/rsync/i686 --repos=core,extra --arch=i686 ./check_packages.py --abs-tree=/home/abs/rsync/x86_64 --repos=core,extra --arch=x86_64 For community : ./check_packages.py --abs-tree=/home/abs/rsync/i686 --repos=community --arch=i686 ./check_packages.py --abs-tree=/home/abs/rsync/x86_64 --repos=community --arch=x86_64 Signed-off-by: Xavier Chantry <shiningxc@gmail.com> Signed-off-by: Aaron Griffin <aaronmgriffin@gmail.com>
-rwxr-xr-xcron-jobs/check_archlinux/check_packages.py23
-rwxr-xr-xcron-jobs/check_archlinux/parse_pkgbuilds.sh9
2 files changed, 22 insertions, 10 deletions
diff --git a/cron-jobs/check_archlinux/check_packages.py b/cron-jobs/check_archlinux/check_packages.py
index 69b14c3..f0fd4a5 100755
--- a/cron-jobs/check_archlinux/check_packages.py
+++ b/cron-jobs/check_archlinux/check_packages.py
@@ -49,11 +49,11 @@ class Depend:
self.version = version
self.mod = mod
-def parse_pkgbuilds(repos):
+def parse_pkgbuilds(repos,arch):
oldcwd = os.getcwd()
os.chdir(absroot)
for repo in repos:
- data = commands.getoutput(oldcwd + '/parse_pkgbuilds.sh ' + repo)
+ data = commands.getoutput(oldcwd + '/parse_pkgbuilds.sh ' + arch + ' ' + repo)
parse_data(repo,data)
os.chdir(oldcwd)
@@ -292,24 +292,27 @@ def print_usage():
print "Usage: ./check_packages.py [OPTION]"
print ""
print "Options:"
- print " --abs-tree=<path> Check specified tree (default : /var/abs)"
- print " --repos=<r1,r2,...> Check specified repos (default : core,extra)"
+ print " --abs-tree=<path> Check the specified tree (default : /var/abs)"
+ print " --repos=<r1,r2,...> Check the specified repos (default : core,extra)"
+ print " --arch=<i686|x86_64> Check the specified arch (default : i686)"
print " -h, --help Show this help and exit"
print ""
print "Examples:"
print "\n Check core and extra in existing abs tree:"
- print " ./check_packages.py --abs-tree=/var/abs --repos=core,extra"
+ print " ./check_packages.py --abs-tree=/var/abs --repos=core,extra --arch=i686"
print "\n Check community:"
- print " ./check_packages.py --abs-tree=/var/abs --repos=community"
+ print " ./check_packages.py --abs-tree=/var/abs --repos=community --arch=i686"
print ""
## Default path to the abs root directory
absroot = "/var/abs"
## Default list of repos to check
repos = ['core', 'extra']
+## Default arch
+arch = "i686"
try:
- opts, args = getopt.getopt(sys.argv[1:], "", ["abs-tree=", "repos="])
+ opts, args = getopt.getopt(sys.argv[1:], "", ["abs-tree=", "repos=", "arch="])
except getopt.GetoptError:
print_usage()
sys.exit()
@@ -319,6 +322,8 @@ if opts != []:
absroot = a
elif o in ("--repos"):
repos = a.split(",")
+ elif o in ("--arch"):
+ arch = a
else:
print_usage()
sys.exit()
@@ -339,11 +344,11 @@ loadrepos = set([])
for repo in repos:
loadrepos = loadrepos | set(get_repo_hierarchy(repo))
-print_heading("Integrity Check")
+print_heading("Integrity Check " + arch + " of " + ",".join(repos))
print "\nPerforming integrity checks..."
print "==> parsing pkgbuilds"
-parse_pkgbuilds(loadrepos)
+parse_pkgbuilds(loadrepos,arch)
repopkgs = {}
for name,pkg in packages.iteritems():
diff --git a/cron-jobs/check_archlinux/parse_pkgbuilds.sh b/cron-jobs/check_archlinux/parse_pkgbuilds.sh
index d4205ae..47aec89 100755
--- a/cron-jobs/check_archlinux/parse_pkgbuilds.sh
+++ b/cron-jobs/check_archlinux/parse_pkgbuilds.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# Usage : parse_pkgbuilds.sh arch <pkgbuilds_dir1,dir2,...>
+# Example : parse_pkgbuilds.sh i686 /var/abs/core /var/abs/extra
+
+exit() { return; }
+
parse() {
unset pkgname pkgver pkgrel
unset depends makedepends conflicts provides
@@ -67,10 +72,12 @@ find_pkgbuilds() {
fi
}
-if [ -z "$*" ]; then
+if [ -z "$1" -o -z "$2" ]; then
exit 1
fi
+CARCH=$1
+shift
for dir in "$@"; do
find_pkgbuilds $dir
done