Magellan Linux

Annotation of /branches/mage-next/src/pkg_all_sources.sh

Parent Directory Parent Directory | Revision Log Revision Log


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