Contents of /trunk/pkgtools/regen_mage_tree_rsync-alx-0.5.0-branch.sh
Parent Directory | Revision Log
Revision 2017 -
(show annotations)
(download)
(as text)
Thu Jan 3 10:02:24 2013 UTC (11 years, 8 months ago) by niro
File MIME type: application/x-sh
File size: 4329 byte(s)
Thu Jan 3 10:02:24 2013 UTC (11 years, 8 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 | * |