Annotation of /trunk/pkgtools/regen_mage_tree_rsync-alx-uclibc.sh
Parent Directory | Revision Log
Revision 2017 -
(hide 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: 4175 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: 4175 byte(s)
-added more scripts
1 | niro | 2017 | #!/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/uclibc" | ||
11 | MY_CVS_DEST="${MY_CVS_REPO}/rsync" | ||
12 | MY_CVS_MODULES="mage-uclibc smage-uclibc" | ||
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=i486 | ||
25 | export PKGDIR="${MY_CVS_REPO}/unstable/packages/${ARCH}" | ||
26 | export SMAGESCRIPTSDIR="${MY_CVS_DEST}/smage-uclibc" | ||
27 | export MAGE_TREE_DEST="${MY_CVS_DEST}/mage-uclibc" | ||
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-uclibc/.regenignore ] | ||
91 | then | ||
92 | export EXCLUDED="$(< ${MY_CVS_DEST}/smage-uclibc/.regenignore )" | ||
93 | fi | ||
94 | |||
95 | if [[ -n ${EXCLUDED} ]] | ||
96 | then | ||
97 | for i in ${EXCLUDED} | ||
98 | do | ||
99 | if [ -e "${MY_CVS_DEST}/smage-uclibc/${i}" ] | ||
100 | then | ||
101 | rm -rf "${MY_CVS_DEST}/smage-uclibc/${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-uclibc -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 | * |