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