Contents of /trunk/mage/usr/lib/mage/pkg_all_sources.sh
Parent Directory | Revision Log
Revision 423 -
(show annotations)
(download)
(as text)
Mon Feb 5 17:11:36 2007 UTC (17 years, 7 months ago) by niro
File MIME type: application/x-sh
File size: 1820 byte(s)
Mon Feb 5 17:11:36 2007 UTC (17 years, 7 months ago) by niro
File MIME type: application/x-sh
File size: 1820 byte(s)
commited to archive
1 | #!/bin/bash |
2 | # build all source packages for given distribution |
3 | |
4 | if [[ $(id -u) != 0 ]] |
5 | then |
6 | echo "You must be r00t" |
7 | exit 1 |
8 | fi |
9 | |
10 | DISTRI="$1" |
11 | |
12 | if [[ -z ${DISTRI} ]] |
13 | then |
14 | echo "No Distribution given ..." |
15 | exit 1 |
16 | fi |
17 | |
18 | source /etc/mage.rc.global |
19 | source /etc/mage.rc |
20 | |
21 | sminclude() { true; } |
22 | |
23 | blacklisted() |
24 | { |
25 | local EXCLUDED="${MROOT}/etc/mage-profile/package.blacklist-${ARCH}-${DISTRI}" |
26 | |
27 | # return 0 if the list not exist; nothin is masked |
28 | [[ ! -f ${EXCLUDED} ]] && return 0 |
29 | |
30 | local SMAGEFILE="$1" |
31 | |
32 | source ${SMAGEFILE} |
33 | |
34 | local EXPCAT EXPNAME EXPVER EXPBUILD |
35 | while read EXPCAT EXPNAME EXPVER EXPBUILD |
36 | do |
37 | # ignore spaces and comments |
38 | case "${EXPCAT}" in |
39 | \#*|"") continue ;; |
40 | esac |
41 | |
42 | # exclude full pver |
43 | if [[ -n ${PCATEGORIE} ]] && [[ -n ${PNAME} ]] && |
44 | [[ -n ${EXPCAT} ]] && [[ -n ${EXPNAME} ]] && |
45 | [[ -n ${PVER} ]] && [[ -n ${PBUILD} ]] && |
46 | [[ -n ${EXPVER} ]] && [[ -n ${EXPBUILD} ]] |
47 | then |
48 | [[ ${EXPCAT}/${EXPNAME}-${EXPVER}-${EXPBUILD} = ${PCATEGORIE}/${PNAME}-${PVER}-${PBUILD} ]] && return 1 |
49 | fi |
50 | |
51 | # exclude pcat/pname only |
52 | if [[ -n ${PCATEGORIE} ]] && [[ -n ${PNAME} ]] && |
53 | [[ -n ${EXPCAT} ]] && [[ -n ${EXPNAME} ]] && |
54 | [[ -z ${EXPVER} ]] && [[ -z ${EXPBUILD} ]] |
55 | then |
56 | [[ ${EXPCAT}/${EXPNAME} = ${PCATEGORIE}/${PNAME} ]] && return 1 |
57 | fi |
58 | done << EOF |
59 | $(cat ${EXCLUDED}; echo) |
60 | EOF |
61 | return 0 |
62 | } |
63 | |
64 | ALLSMAGES=$(grep -irl ${DISTRI} ${SMAGESCRIPTSDIR}/*/*.smage2) |
65 | |
66 | for smage in ${ALLSMAGES} |
67 | do |
68 | # continue if pkg already exists |
69 | [[ -f ${PKGDIR}/sources/$(basename ${smage} .smage2).mpks ]] && continue |
70 | # continue if a virtual pkg |
71 | [[ -n $(grep -irl 'PKGTYPE="virtual"' ${smage}) ]] && continue |
72 | [[ -n $(grep -irl 'PKGTYPE=virtual' ${smage}) ]] && continue |
73 | # handle blacklisted packages |
74 | blacklisted ${smage} || continue |
75 | |
76 | smage2 --create-src-tarball ${smage} |
77 | done |