Magellan Linux

Contents of /trunk/pkgtools/add2cvs.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 721 - (show annotations) (download) (as text)
Thu Apr 24 10:27:27 2008 UTC (16 years ago) by niro
File MIME type: application/x-sh
File size: 4581 byte(s)
-variable BUILDROOT

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

Properties

Name Value
svn:executable *