Magellan Linux

Annotation of /trunk/pkgtools/add2cvs.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1331 - (hide annotations) (download) (as text)
Tue May 31 17:44:01 2011 UTC (12 years, 11 months ago) by niro
File MIME type: application/x-sh
File size: 4687 byte(s)
-sync with current
1 niro 610 #!/bin/bash
2    
3     source /usr/lib/mage/mage4.functions.sh
4    
5     SMAGEFILE="$1"
6 niro 1331 if [[ -z ${SMAGEFILE} ]]
7     then
8     echo "No smagefile given."
9     exit 1
10     fi
11 niro 718 [[ -n $2 ]] && [[ $2 != -st ]] && CVS_COMMIT="$2"
12     if [[ $3 = -st ]] || [[ $2 = -st ]]
13     then
14     echo "Using SRCTARBALL ..."
15     USE_SRCTARBALL=true
16     fi
17 niro 610
18 niro 1331 #CURARCH=i686
19     CURARCH=x86_64
20 niro 610
21 niro 1331 BUILDROOT=/mnt/BUILDROOT-${CURARCH}
22     #BUILDROOT=/mnt/BUILDROOT
23 niro 721
24 niro 610 SMAGEDIR=$(dirname ${SMAGEFILE})
25     MD5DIR=${SMAGEDIR}/md5
26     MD5NAME=$(basename $1 .smage2).md5
27     SMAGENAME=$(basename $1)
28     CURPNAME=$(magename2pname $1)
29     CURPVER=$(magename2pver $1)
30     CURPBUILD=$(magename2pbuild $(basename $1 .smage2))
31     PKGNAME=${CURPNAME}-${CURPVER}-${CURARCH}-${CURPBUILD}.mpk
32     SRCPKGNAME=${CURPNAME}-${CURPVER}-${CURPBUILD}.mpks
33 niro 718 SSHLOGIN="tjoke@magellan-linux.de:/var/www/htdocs/magellan/magellan-dev/unstable/packages"
34     SRCTARBALL_URI="http://magellan-linux.de/magellan/magellan-dev/unstable/packages/src"
35 niro 610
36 niro 718 # abort if the package is already installed in BUILDROOT
37     get_value_from_file()
38     {
39     local var="$1"
40     local file="$2"
41     local value
42    
43     # source /etc/mage.rc to get the includes right
44     source /etc/mage.rc.global
45     source /etc/mage.rc
46    
47     # evaluate the value
48     source ${file} $> /dev/null
49     eval value=\$$(echo ${var})
50     echo "${value}"
51     }
52    
53     CURPCATEGORIE=$(get_value_from_file PCATEGORIE ${SMAGEFILE})
54 niro 721 INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/etc/mage.rc)
55 niro 718
56 niro 721 if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD} ]]
57 niro 718 then
58 niro 721 echo "Package '${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD}' already installed in ${BUILDROOT}. Aborting!"
59 niro 718 exit 1
60     fi
61    
62 niro 610 # delete md5 if exist
63     [[ -f ${MD5DIR}/${MD5NAME} ]] && rm ${MD5DIR}/${MD5NAME}
64    
65 niro 718 if [[ ${USE_SRCTARBALL} != true ]]
66     then
67     /sbin/smage2 download ${SMAGEFILE}
68     /sbin/smage2 calcmd5 ${SMAGEFILE} ${MD5DIR}
69     pushd ${SMAGEDIR}/../
70     cvs add ${CURPNAME}
71     pushd ${SMAGEDIR}
72     cvs add md5
73     cvs add ${SMAGENAME} md5/${MD5NAME}
74 niro 610
75 niro 718 [[ -z ${CVS_COMMIT} ]] && CVS_COMMIT="auto added: ver bump to ${CURPVER}-${CURPBUILD}"
76     cvs commit -m "${CVS_COMMIT}" ${SMAGENAME} md5/${MD5NAME}
77     popd
78     fi
79 niro 610
80     sudo -s << EOF
81 niro 721 :> ${BUILDROOT}/.installrc
82 niro 610
83 niro 721 echo "CURPNAME=${CURPNAME}" >> ${BUILDROOT}/.installrc
84     echo "CURPVER=${CURPVER}" >> ${BUILDROOT}/.installrc
85     echo "CURPBUILD=${CURPBUILD}" >> ${BUILDROOT}/.installrc
86     echo "CURARCH=${CURARCH}" >> ${BUILDROOT}/.installrc
87     echo "SMAGENAME=${SMAGENAME}" >> ${BUILDROOT}/.installrc
88     echo "MD5NAME=${MD5NAME}" >> ${BUILDROOT}/.installrc
89     echo "PKGNAME=${PKGNAME}" >> ${BUILDROOT}/.installrc
90     echo "SPKGNAME=${SPKGNAME}" >> ${BUILDROOT}/.installrc
91     echo '/usr/bin/whoami' >> ${BUILDROOT}/.installrc
92     echo 'source /etc/profile' >> ${BUILDROOT}/.installrc
93     #echo 'echo PATH=\${PATH};read' >> ${BUILDROOT}/.installrc
94     echo 'cd /var/cache/mage/smage' >> ${BUILDROOT}/.installrc
95     echo 'cvs update include' >> ${BUILDROOT}/.installrc
96     echo 'cvs update -dPA ${CURPNAME}' >> ${BUILDROOT}/.installrc
97     echo 'USE_SRCTARBALL=${USE_SRCTARBALL}' >> ${BUILDROOT}/.installrc
98     echo 'if [[ \${USE_SRCTARBALL} != true ]];then ' >> ${BUILDROOT}/.installrc
99     echo '/sbin/smage2 /var/cache/mage/smage/${CURPNAME}/${SMAGENAME} || exit 1' >> ${BUILDROOT}/.installrc
100     echo 'else' >> ${BUILDROOT}/.installrc
101     echo 'echo "Fetching SRC_TARBALL"' >> ${BUILDROOT}/.installrc
102     echo 'pushd /var/tmp/magebuild > /dev/null' >> ${BUILDROOT}/.installrc
103     echo "SRCTARBALL=${CURPNAME}-${CURPVER}-${CURPBUILD}.mpks" >> ${BUILDROOT}/.installrc
104     echo "SRCTARBALL_URI=${SRCTARBALL_URI}" >> ${BUILDROOT}/.installrc
105     echo '/usr/bin/wget -c \${SRCTARBALL_URI}/\${SRCTARBALL}' >> ${BUILDROOT}/.installrc
106     echo '/sbin/smage2 -st \${SRCTARBALL}' >> ${BUILDROOT}/.installrc
107     echo '[[ -f \${SRCTARBALL} ]] && rm \${SRCTARBALL}' >> ${BUILDROOT}/.installrc
108     echo 'popd > /dev/null' >> ${BUILDROOT}/.installrc
109     echo 'fi' >> ${BUILDROOT}/.installrc
110     echo '/sbin/mage install ${CURPNAME} || exit 1' >> ${BUILDROOT}/.installrc
111     echo 'mv /var/cache/mage/packages/${PKGNAME} /BUILDED' >> ${BUILDROOT}/.installrc
112     echo 'mv /var/cache/mage/packages/sources/${SRCPKGNAME} /BUILDED/sources' >> ${BUILDROOT}/.installrc
113     echo 'rm -rf /var/cache/mage/sources/${CURPNAME}' >> ${BUILDROOT}/.installrc
114 niro 610 EOF
115    
116 niro 721 sudo -H /sbin/chroot ${BUILDROOT} /bin/bash /.installrc
117     sudo rm ${BUILDROOT}/.installrc
118 niro 610
119 niro 721 if [[ -f ${BUILDROOT}/BUILDED/${PKGNAME} ]]
120 niro 610 then
121 niro 721 scp ${BUILDROOT}/BUILDED/${PKGNAME} ${SSHLOGIN}/${CURARCH}/
122 niro 610 else
123 niro 721 echo "Error: ${BUILDROOT}/BUILDED/${PKGNAME} missing!"
124 niro 610 exit 1
125     fi
126    
127 niro 721 if [[ -f ${BUILDROOT}/BUILDED/sources/${SRCPKGNAME} ]]
128 niro 610 then
129 niro 721 scp ${BUILDROOT}/BUILDED/sources/${SRCPKGNAME} ${SSHLOGIN}/src/
130 niro 610 else
131 niro 721 echo "Error: ${BUILDROOT}/BUILDED/${SRCPKGNAME} missing!"
132 niro 610 exit 1
133     fi
134    
135     [[ -d /var/cache/mage/sources/${CURPNAME} ]] && rm -rf /var/cache/mage/sources/${CURPNAME}
136    
137    

Properties

Name Value
svn:executable *