Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 610 - (show annotations) (download) (as text)
Sun Nov 11 23:40:52 2007 UTC (16 years, 5 months ago) by niro
File MIME type: application/x-sh
File size: 3654 byte(s)
-added some pkgtools

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

Properties

Name Value
svn:executable *