Contents of /trunk/pkgtools/get_missing_packages.sh
Parent Directory | Revision Log
Revision 612 -
(show annotations)
(download)
(as text)
Sun Nov 11 23:43:38 2007 UTC (16 years, 10 months ago) by niro
File MIME type: application/x-sh
File size: 2652 byte(s)
Sun Nov 11 23:43:38 2007 UTC (16 years, 10 months ago) by niro
File MIME type: application/x-sh
File size: 2652 byte(s)
-updated mage profile
1 | #!/bin/bash |
2 | |
3 | # default die function |
4 | die() |
5 | { |
6 | echo -e ${COLRED}"$@"${COLDEFAULT} |
7 | exit 1 |
8 | } |
9 | |
10 | |
11 | # mage cvs location |
12 | CVS_DEST=$(mktemp -d) |
13 | CVS_MODULE=magellan-src/mage |
14 | CVS_OPTS="" |
15 | CVS_ROOT=":pserver:anonymous:@127.0.0.1:/magellan-cvs" |
16 | |
17 | # repo location |
18 | MPK_REPO=/var/www/magellan/magellan-dev |
19 | |
20 | # mage-db location |
21 | MAGE_REPO=/var/www/magellan/magellan-dev/rsync/mage |
22 | |
23 | # supported arches |
24 | ARCHES="i686 x86_64" |
25 | |
26 | # supported distribuions |
27 | DISTRIBUTIONS="stable testing unstable" |
28 | |
29 | # search dist |
30 | DISTRIBUTION="$1" # stable/testing/unstable |
31 | [[ -z ${DISTRIBUTION} ]] && die "You must tell me a distribution!" |
32 | |
33 | # used mage profile |
34 | MAGE_PROFILE="mage080" |
35 | |
36 | MISSING_PKGS="" |
37 | DIST_MISSING="" |
38 | |
39 | echo "Running QA lint checks ..." |
40 | echo |
41 | |
42 | # get cvs |
43 | echo "Getting newest mage version ..." |
44 | cd ${CVS_DEST} |
45 | cvs -Q -d ${CVS_ROOT} login |
46 | cvs -Q -z3 -d ${CVS_ROOT} co ${CVS_MODULE} |
47 | |
48 | # setup mage profile |
49 | ln -snf ${MAGE_REPO}/profiles/${MAGE_PROFILE} /etc/mage-profile |
50 | |
51 | source ${CVS_DEST}/magellan-src/mage/usr/lib/mage/mage4.functions.sh |
52 | |
53 | echo "Building list ...." |
54 | |
55 | for arch in ${ARCHES} |
56 | do |
57 | for pkg in ${MAGE_REPO}/*/* |
58 | do |
59 | pcat="$(basename $(dirname ${pkg}))" |
60 | |
61 | # excludes |
62 | [[ ${pcat} = profiles ]] && continue |
63 | [[ ${pcat} = fake ]] && continue |
64 | [[ ${pcat} = include ]] && continue |
65 | |
66 | pname="$(basename ${pkg})" |
67 | |
68 | # echo "${pcat} ${pname}" |
69 | |
70 | MAGEDIR=${MAGE_REPO} |
71 | MAGE_DISTRIBUTION=${DISTRIBUTION} |
72 | ARCH=${arch} |
73 | |
74 | # ignore blacklist |
75 | # blacklisted(){ return 0; } |
76 | |
77 | pkg=$(get_highest_magefile ${pcat} ${pname}) |
78 | |
79 | #echo "DEBUG: pkg=${pkg}" |
80 | |
81 | # search all dist dirs |
82 | found=1 |
83 | for dist in ${DISTRIBUTIONS} |
84 | do |
85 | pkgname="$(get_value_from_magefile PKGNAME ${pkg})" |
86 | |
87 | # abort and warn if nothing found |
88 | if [[ -z ${pkgname} ]] |
89 | then |
90 | echo "WARNING: nothing found for ${pcat}/${pname} with dist '${DISTRIBUTION}' for arch '${ARCH}'" |
91 | if [[ -z $(echo ${DIST_MISSING} | fgrep "${pcat}/${pname}-${ARCH}") ]] |
92 | then |
93 | DIST_MISSING="${DIST_MISSING} ${pcat}/${pname}-${ARCH}" |
94 | fi |
95 | |
96 | # do not add the previous item on the list |
97 | found=0 |
98 | |
99 | continue |
100 | fi |
101 | |
102 | mpk="${MPK_REPO}/${dist}/packages/${ARCH}/${pkgname}.mpk" |
103 | #echo ${mpk} |
104 | if [ -f ${mpk} ] |
105 | then |
106 | #echo "found: ${mpk}" |
107 | found=0 |
108 | break |
109 | else |
110 | #echo "missing: ${mpk}" |
111 | found=1 |
112 | fi |
113 | done |
114 | |
115 | #echo "DEBUG: found=${found}" |
116 | [[ ${found} = 1 ]] && MISSING_PKGS="${MISSING_PKGS} ${ARCH}:$(basename ${mpk})" |
117 | done |
118 | done |
119 | |
120 | echo |
121 | echo "Missing following packages:" |
122 | for i in ${MISSING_PKGS} |
123 | do |
124 | echo "${i}" |
125 | done | sort |
126 | |
127 | |
128 | echo |
129 | echo "Following packages are not in dist '${DISTRIBUTION}' or blacklisted:" |
130 | for i in ${DIST_MISSING} |
131 | do |
132 | echo "${i}" |
133 | done | sort |
134 | |
135 | rm -rf ${CVS_DEST} |
Properties
Name | Value |
---|---|
svn:executable | * |