Magellan Linux

Contents of /trunk/pkgtools/regen_mage_tree_rsync-alx-eglibc.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2017 - (show annotations) (download) (as text)
Thu Jan 3 10:02:24 2013 UTC (11 years, 3 months ago) by niro
File MIME type: application/x-sh
File size: 4175 byte(s)
-added more scripts
1 #!/bin/bash
2
3 minclude()
4 {
5 echo "error: minclude found in ${PKGNAME}"
6 }
7
8 export -f minclude
9
10 MY_CVS_REPO="/var/www/htdocs/magellan/alx-dev/eglibc"
11 MY_CVS_DEST="${MY_CVS_REPO}/rsync"
12 MY_CVS_MODULES="mage-eglibc smage-eglibc"
13 MAGE_CVS_MODULE="magellan-src/mage"
14 MY_CVS_OPTS=""
15 MY_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/alx-cvs"
16 MAGE_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/magellan-cvs"
17 MY_CVS_REMOVE_MAGE_SOURCES=true
18 MY_TARBALL_VERSION_TAG="$(date +%Y%m%d-%k%M | sed 's:\ :0:')"
19
20 MY_CVS_ARCHES="i486"
21 MY_CVS_DISTRIBUTIONS="stable testing unstable"
22
23 # like mage.rc; needed only for smage2
24 export ARCH=i686
25 export PKGDIR="${MY_CVS_REPO}/unstable/packages/${ARCH}"
26 export SMAGESCRIPTSDIR="${MY_CVS_DEST}/smage-eglibc"
27 export MAGE_TREE_DEST="${MY_CVS_DEST}/mage-eglibc"
28 export REGEN_MAGE_TREE=true
29
30 # setup a fake mage rc
31 MY_MAGE_RC=$(mktemp)
32 echo "ARCH=${ARCH}" > ${MY_MAGE_RC}
33 echo "PKGDIR=${PKGDIR}" >> ${MY_MAGE_RC}
34 echo "SMAGESCRIPTSDIR=${SMAGESCRIPTSDIR}" >> ${MY_MAGE_RC}
35 echo "MAGE_TREE_DEST=${MAGE_TREE_DEST}" >> ${MY_MAGE_RC}
36 echo "REGEN_MAGE_TREE=${REGEN_MAGE_TREE}" >> ${MY_MAGE_RC}
37 export MAGERC=${MY_MAGE_RC}
38
39
40 [ ! -d "${MY_CVS_DEST}" ] && install -d ${MY_CVS_DEST}
41
42 # get rid of old cruft (fixes some rsync issues)
43 rm -rf ${MY_CVS_DEST}/*
44
45 # get mage
46 export CVSROOT="${MAGE_CVS_ROOT}"
47 cvs login
48 if [ ! -d ${MY_CVS_DEST}/${MAGE_CVS_MODULE}/CVS ]
49 then
50 (cd ${MY_CVS_DEST}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${MAGE_CVS_MODULE})
51 else
52 (cd ${MY_CVS_DEST}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${MAGE_CVS_MODULE})
53 # needed to fetch new directories --^
54 # needed to kill old directories ------^
55 fi
56
57
58 # cvs login
59 export CVSROOT="${MY_CVS_ROOT}"
60 cvs login
61
62 # get all our modules or update them
63 for module in ${MY_CVS_MODULES}
64 do
65 if [ ! -d ${MY_CVS_DEST}/${module}/CVS ]
66 then
67 (cd ${MY_CVS_DEST}; cvs -z3 checkout -P ${MY_CVS_OPTS} ${module})
68 else
69 (cd ${MY_CVS_DEST}; cvs -z3 update -d -P ${MY_CVS_OPTS} ${module})
70 # needed to fetch new directories --^
71 # needed to kill old directories ------^
72 fi
73 done
74
75 # delete CVS directories
76 # i don't get the problem why this not work
77 #find ${MY_CVS_DEST} -name CVS -type d -exec rm -rf '{}' ';'
78 # so i use this now:
79 for file in $(find ${MY_CVS_DEST} -type d -name CVS)
80 do
81 rm -rf ${file}
82 done
83
84 #correct permissions
85 find ${MY_CVS_DEST} -type f -exec chmod 0644 '{}' ';'
86 find ${MY_CVS_DEST} -type d -exec chmod 0755 '{}' ';'
87
88 # now regen mage tree
89
90 if [ -f ${MY_CVS_DEST}/smage-eglibc/.regenignore ]
91 then
92 export EXCLUDED="$(< ${MY_CVS_DEST}/smage-eglibc/.regenignore )"
93 fi
94
95 if [[ -n ${EXCLUDED} ]]
96 then
97 for i in ${EXCLUDED}
98 do
99 if [ -e "${MY_CVS_DEST}/smage-eglibc/${i}" ]
100 then
101 rm -rf "${MY_CVS_DEST}/smage-eglibc/${i}"
102 fi
103 done
104 fi
105
106 # exec permissions
107 chmod a+x ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh
108
109 # shut up some warnings
110 [ ! -f /etc/mage.rc ] && touch /etc/mage.rc
111 [ ! -f /usr/lib/mage/version ] && { install -d /usr/lib/mage; touch /usr/lib/mage/version; }
112
113 for dist in ${MY_CVS_DISTRIBUTIONS}
114 do
115 for arch in ${MY_CVS_ARCHES}
116 do
117 export ARCH="${arch}"
118 #export PKGDIR="$(dirname ${PKGDIR})/${ARCH}"
119 export PKGDIR="${MY_CVS_REPO}/${dist}/packages/${ARCH}"
120 sed -i -e "s:\(ARCH=\).*:\1${ARCH}:" -e "s:\(PKGDIR=\).*:\1${PKGDIR}:" ${MY_MAGE_RC}
121
122 for i in $(find ${MY_CVS_DEST}/smage-eglibc -type f -name "*.smage2" | sort)
123 do
124 ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh only-regen-tree "${i}"
125 done
126 done
127 done
128
129
130 # create tarballs
131 pushd ${MY_CVS_DEST}
132 for module in ${MY_CVS_MODULES}
133 do
134 tar cvjf ${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ./${module}
135 done
136 popd
137
138 # remove mage sources
139 if [[ ${MY_CVS_REMOVE_MAGE_SOURCES} = true ]]
140 then
141 [ -d ${MY_CVS_DEST}/magellan-src ] && rm -rf ${MY_CVS_DEST}/magellan-src
142 [ -d ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
143 rm -rf ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2
144 fi
145
146
147 # move tarballs to a proper location
148 install -d ${MY_CVS_DEST}/tarballs
149 for module in ${MY_CVS_MODULES}
150 do
151 [ -f ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
152 mv ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_CVS_DEST}/tarballs
153 done
154

Properties

Name Value
svn:executable *