Magellan Linux

Contents of /trunk/pkgtools/add2svn.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 821 - (show annotations) (download) (as text)
Fri Apr 24 19:17:49 2009 UTC (15 years ago) by niro
File MIME type: application/x-sh
File size: 4845 byte(s)
-added svn related tools
1 #!/bin/bash
2
3 source /usr/lib/mage/mage4.functions.sh
4
5 SMAGEFILE="$1"
6 if [[ -z ${SMAGEFILE} ]]
7 then
8 echo "No smagefile given."
9 exit 1
10 fi
11 [[ -n $2 ]] && [[ $2 != -st ]] && SVN_COMMIT="$2"
12 if [[ $3 = -st ]] || [[ $2 = -st ]]
13 then
14 echo "Using SRCTARBALL ..."
15 USE_SRCTARBALL=true
16 fi
17
18 #CURARCH=i686
19 CURARCH=x86_64
20
21 BUILDROOT=/mnt/BUILDROOT-${CURARCH}-svn
22
23 SMAGEDIR=$(dirname ${SMAGEFILE})
24 MD5DIR=${SMAGEDIR}/md5
25 MD5NAME=$(basename $1 .smage2).md5
26 SMAGENAME=$(basename $1)
27 CURPNAME=$(magename2pname $1)
28 CURPVER=$(magename2pver $1)
29 CURPBUILD=$(magename2pbuild $(basename $1 .smage2))
30 PKGNAME=${CURPNAME}-${CURPVER}-${CURARCH}-${CURPBUILD}.mpk
31 SRCPKGNAME=${CURPNAME}-${CURPVER}-${CURPBUILD}.mpks
32 REPO="$(echo ${SMAGEFILE#*trunk/} | cut -d'/' -f1)"
33 SSHLOGIN="tjoke@magellan-linux.de:/var/www/htdocs/magellan/magellan-dev/svn/unstable/packages"
34 SRCTARBALL_URI="http://magellan-linux.de/magellan/magellan-dev/svn/unstable/packages/src"
35
36 # 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 INSTALLDB_BUILDROOT=$(get_value_from_file INSTALLDB ${BUILDROOT}/etc/mage.rc)
55
56 if [[ -d ${BUILDROOT}/${INSTALLDB_BUILDROOT}/${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD} ]]
57 then
58 echo "Package '${CURPCATEGORIE}/${CURPNAME}-${CURPVER}-${CURPBUILD}' already installed in ${BUILDROOT}. Aborting!"
59 exit 1
60 fi
61
62 # delete md5 if exist
63 [[ -f ${MD5DIR}/${MD5NAME} ]] && rm ${MD5DIR}/${MD5NAME}
64
65 if [[ ${USE_SRCTARBALL} != true ]]
66 then
67 /sbin/smage2 download ${SMAGEFILE}
68 /sbin/smage2 calcmd5 ${SMAGEFILE} ${MD5DIR}
69 pushd ${SMAGEDIR}/../
70 svn add ${CURPNAME}
71 pushd ${SMAGEDIR}
72 svn add md5
73 svn add ${SMAGENAME} md5/${MD5NAME}
74
75 [[ -z ${SVN_COMMIT} ]] && SVN_COMMIT="auto added: ver bump to ${CURPVER}-${CURPBUILD}"
76 svn commit -m "${SVN_COMMIT}" ${SMAGENAME} md5/${MD5NAME}
77 popd
78 fi
79
80 sudo -s << EOF
81 :> ${BUILDROOT}/.installrc
82
83 echo "export LC_ALL=C" >> ${BUILDROOT}/.installrc
84 echo "REPO=${REPO}" >> ${BUILDROOT}/.installrc
85 echo "CURPNAME=${CURPNAME}" >> ${BUILDROOT}/.installrc
86 echo "CURPVER=${CURPVER}" >> ${BUILDROOT}/.installrc
87 echo "CURPBUILD=${CURPBUILD}" >> ${BUILDROOT}/.installrc
88 echo "CURARCH=${CURARCH}" >> ${BUILDROOT}/.installrc
89 echo "SMAGENAME=${SMAGENAME}" >> ${BUILDROOT}/.installrc
90 echo "MD5NAME=${MD5NAME}" >> ${BUILDROOT}/.installrc
91 echo "PKGNAME=${PKGNAME}" >> ${BUILDROOT}/.installrc
92 echo "SPKGNAME=${SPKGNAME}" >> ${BUILDROOT}/.installrc
93 echo '/usr/bin/whoami' >> ${BUILDROOT}/.installrc
94 echo 'source /etc/profile' >> ${BUILDROOT}/.installrc
95 #echo 'echo PATH=\${PATH};read' >> ${BUILDROOT}/.installrc
96 echo 'cd /var/cache/mage/smage/trunk/${REPO}' >> ${BUILDROOT}/.installrc
97 echo 'svn update include' >> ${BUILDROOT}/.installrc
98 echo 'svn update ${CURPNAME}' >> ${BUILDROOT}/.installrc
99 echo 'USE_SRCTARBALL=${USE_SRCTARBALL}' >> ${BUILDROOT}/.installrc
100 echo 'if [[ \${USE_SRCTARBALL} != true ]];then ' >> ${BUILDROOT}/.installrc
101 echo '/sbin/smage2 /var/cache/mage/smage/trunk/${REPO}/${CURPNAME}/${SMAGENAME} || exit 1' >> ${BUILDROOT}/.installrc
102 echo 'else' >> ${BUILDROOT}/.installrc
103 echo 'echo "Fetching SRC_TARBALL"' >> ${BUILDROOT}/.installrc
104 echo 'pushd /var/tmp/magebuild > /dev/null' >> ${BUILDROOT}/.installrc
105 echo "SRCTARBALL=${CURPNAME}-${CURPVER}-${CURPBUILD}.mpks" >> ${BUILDROOT}/.installrc
106 echo "SRCTARBALL_URI=${SRCTARBALL_URI}" >> ${BUILDROOT}/.installrc
107 echo '/usr/bin/wget -c \${SRCTARBALL_URI}/\${SRCTARBALL}' >> ${BUILDROOT}/.installrc
108 echo '/sbin/smage2 -st \${SRCTARBALL}' >> ${BUILDROOT}/.installrc
109 echo '[[ -f \${SRCTARBALL} ]] && rm \${SRCTARBALL}' >> ${BUILDROOT}/.installrc
110 echo 'popd > /dev/null' >> ${BUILDROOT}/.installrc
111 echo 'fi' >> ${BUILDROOT}/.installrc
112 echo '/sbin/mage install ${CURPNAME} || exit 1' >> ${BUILDROOT}/.installrc
113 echo 'mv /var/cache/mage/packages/${PKGNAME} /BUILDED' >> ${BUILDROOT}/.installrc
114 echo 'mv /var/cache/mage/packages/sources/${SRCPKGNAME} /BUILDED/sources' >> ${BUILDROOT}/.installrc
115 echo 'rm -rf /var/cache/mage/sources/${CURPNAME}' >> ${BUILDROOT}/.installrc
116 EOF
117
118 sudo -H /sbin/chroot ${BUILDROOT} /bin/bash /.installrc
119 sudo rm ${BUILDROOT}/.installrc
120
121 if [[ -f ${BUILDROOT}/BUILDED/${PKGNAME} ]]
122 then
123 scp ${BUILDROOT}/BUILDED/${PKGNAME} ${SSHLOGIN}/${CURARCH}/
124 else
125 echo "Error: ${BUILDROOT}/BUILDED/${PKGNAME} missing!"
126 exit 1
127 fi
128
129 if [[ -f ${BUILDROOT}/BUILDED/sources/${SRCPKGNAME} ]]
130 then
131 scp ${BUILDROOT}/BUILDED/sources/${SRCPKGNAME} ${SSHLOGIN}/src/
132 else
133 echo "Error: ${BUILDROOT}/BUILDED/${SRCPKGNAME} missing!"
134 exit 1
135 fi
136
137 [[ -d /var/cache/mage/sources/${CURPNAME} ]] && rm -rf /var/cache/mage/sources/${CURPNAME}
138
139

Properties

Name Value
svn:executable *
svn:keywords Id