Magellan Linux

Contents of /trunk/pkgtools/regen_mage_tree_rsync-alx-0.5.0-branch.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: 4329 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-0.5.0"
11 MY_CVS_DEST="${MY_CVS_REPO}/rsync"
12 MY_CVS_MODULES="mage smage"
13 MAGE_CVS_MODULE="magellan-src/mage"
14 MY_MAGE_CVS_OPTS="-r mage-0_3_7-r5"
15 MY_CVS_OPTS="-r alx-050-20060918-1_branch"
16 MY_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/alx-cvs"
17 MAGE_CVS_ROOT=":pserver:anonymous:@cvs.magellan-linux.de:/magellan-cvs"
18 MY_CVS_REMOVE_MAGE_SOURCES=true
19 MY_TARBALL_VERSION_TAG="$(date +%Y%m%d-%k%M | sed 's:\ :0:')"
20
21 MY_CVS_ARCHES="i486"
22 MY_CVS_DISTRIBUTIONS="stable testing unstable"
23
24 # like mage.rc; needed only for smage2
25 export ARCH=i486
26 export PKGDIR="${MY_CVS_REPO}/unstable/packages/${ARCH}"
27 export SMAGESCRIPTSDIR="${MY_CVS_DEST}/smage"
28 export MAGE_TREE_DEST="${MY_CVS_DEST}/mage"
29 export REGEN_MAGE_TREE=true
30
31 # setup a fake mage rc
32 MY_MAGE_RC=$(mktemp)
33 echo "ARCH=${ARCH}" > ${MY_MAGE_RC}
34 echo "PKGDIR=${PKGDIR}" >> ${MY_MAGE_RC}
35 echo "SMAGESCRIPTSDIR=${SMAGESCRIPTSDIR}" >> ${MY_MAGE_RC}
36 echo "MAGE_TREE_DEST=${MAGE_TREE_DEST}" >> ${MY_MAGE_RC}
37 echo "REGEN_MAGE_TREE=${REGEN_MAGE_TREE}" >> ${MY_MAGE_RC}
38 export MAGERC=${MY_MAGE_RC}
39
40
41 [ ! -d "${MY_CVS_DEST}" ] && install -d ${MY_CVS_DEST}
42
43 # get rid of old cruft (fixes some rsync issues)
44 rm -rf ${MY_CVS_DEST}/*
45
46 # get mage
47 export CVSROOT="${MAGE_CVS_ROOT}"
48 cvs login
49 if [ ! -d ${MY_CVS_DEST}/${MAGE_CVS_MODULE}/CVS ]
50 then
51 (cd ${MY_CVS_DEST}; cvs -z3 checkout -P ${MY_MAGE_CVS_OPTS} ${MAGE_CVS_MODULE})
52 else
53 (cd ${MY_CVS_DEST}; cvs -z3 update -d -P ${MY_MAGE_CVS_OPTS} ${MAGE_CVS_MODULE})
54 # needed to fetch new directories --^
55 # needed to kill old directories ------^
56 fi
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/.regenignore ]
91 then
92 export EXCLUDED="$(< ${MY_CVS_DEST}/smage/.regenignore )"
93 fi
94
95 if [[ -n ${EXCLUDED} ]]
96 then
97 for i in ${EXCLUDED}
98 do
99 if [ -e "${MY_CVS_DEST}/smage/${i}" ]
100 then
101 rm -rf "${MY_CVS_DEST}/smage/${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 # do not source etc/mage.rc with 0.3.x versions of smage
114 sed -i '/source\ \/etc\/mage.rc/d' ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh
115
116 for dist in ${MY_CVS_DISTRIBUTIONS}
117 do
118 for arch in ${MY_CVS_ARCHES}
119 do
120 export ARCH="${arch}"
121 #export PKGDIR="$(dirname ${PKGDIR})/${ARCH}"
122 export PKGDIR="${MY_CVS_REPO}/${dist}/packages/${ARCH}"
123 sed -i -e "s:\(ARCH=\).*:\1${ARCH}:" -e "s:\(PKGDIR=\).*:\1${PKGDIR}:" ${MY_MAGE_RC}
124
125 for i in $(find ${MY_CVS_DEST}/smage -type f -name "*.smage2" | sort)
126 do
127 ${MY_CVS_DEST}/magellan-src/mage/usr/lib/mage/smage2.sh only-regen-tree "${i}"
128 done
129 done
130 done
131
132
133 # create tarballs
134 pushd ${MY_CVS_DEST}
135 for module in ${MY_CVS_MODULES}
136 do
137 tar cvjf ${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ./${module}
138 done
139 popd
140
141 # remove mage sources
142 if [[ ${MY_CVS_REMOVE_MAGE_SOURCES} = true ]]
143 then
144 [ -d ${MY_CVS_DEST}/magellan-src ] && rm -rf ${MY_CVS_DEST}/magellan-src
145 [ -d ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
146 rm -rf ${MY_CVS_DEST}/magellan-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2
147 fi
148
149
150 # move tarballs to a proper location
151 install -d ${MY_CVS_DEST}/tarballs
152 for module in ${MY_CVS_MODULES}
153 do
154 [ -f ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
155 mv ${MY_CVS_DEST}/${module}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_CVS_DEST}/tarballs
156 done
157

Properties

Name Value
svn:executable *