Annotation of /trunk/pkgtools/get_missing_packages.sh
Parent Directory | Revision Log
Revision 612 -
(hide 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 | niro | 610 | #!/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 | niro | 612 | MAGE_PROFILE="mage080" |
35 | niro | 610 | |
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 | * |