Magellan Linux

Contents of /trunk/pkgtools/core-regen_mage_tree_rsync-svn.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: 3758 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_SVN_REPO="/var/www/htdocs/magellan/magellan-dev/svn"
11 MY_SVN_DEST="${MY_SVN_REPO}/rsync-core"
12 MY_SVN_MODULES="mage/trunk smage/trunk magellan-source/trunk/mage"
13 MY_SVN_OPTS=""
14 MY_SVN_ROOT="svn://cvs.magellan-linux.de/"
15 MY_SVN_REMOVE_MAGE_SOURCES=true
16 MY_TARBALL_VERSION_TAG="$(date +%Y%m%d-%k%M | sed 's:\ :0:')"
17
18 MY_SVN_ARCHES="i686 x86_64"
19 MY_SVN_DISTRIBUTIONS="stable testing unstable"
20
21 # like mage.rc; needed only for smage2
22 export ARCH=i686
23 export PKGDIR="${MY_SVN_REPO}/unstable/packages/${ARCH}"
24 export SMAGESCRIPTSDIR="${MY_SVN_DEST}/smage"
25 export MAGE_TREE_DEST="${MY_SVN_DEST}/mage"
26 export REGEN_MAGE_TREE=true
27
28 # 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
37 # svn root
38 export SVNROOT="${MY_SVN_ROOT}"
39
40 [ ! -d "${MY_SVN_DEST}" ] && install -d ${MY_SVN_DEST}
41
42 # get rid of old cruft (fixes some rsync issues)
43 rm -rf ${MY_SVN_DEST}/*
44
45 # get all our modules or update them
46 for module in ${MY_SVN_MODULES}
47 do
48 case ${module} in
49 mage/trunk) codir=mage;;
50 smage/trunk) codir=smage;;
51 magellan-source/*) codir=mage-src;;
52 esac
53
54 if [ ! -d ${MY_SVN_DEST}/${module}/.svn ]
55 then
56 ( cd ${MY_SVN_DEST}; svn checkout ${MY_SVN_OPTS} ${SVNROOT}/${module} ${codir} )
57 else
58 ( cd ${MY_SVN_DEST}; svn update ${MY_SVN_OPTS} ${SVNROOT}/${module} ${codir} )
59 fi
60 done
61
62 # delete CVS directories
63 for file in $(find ${MY_SVN_DEST} -type d -name .svn)
64 do
65 rm -rf ${file}
66 done
67
68 # correct permissions
69 find ${MY_SVN_DEST} -type f -exec chmod 0644 '{}' ';'
70 find ${MY_SVN_DEST} -type d -exec chmod 0755 '{}' ';'
71
72 # now regen mage tree
73
74 if [ -f ${MY_SVN_DEST}/smage/.regenignore ]
75 then
76 export EXCLUDED="$(< ${MY_SVN_DEST}/smage/.regenignore )"
77 fi
78
79 # add extras too
80 EXCLUDED+=" extras"
81
82 if [[ -n ${EXCLUDED} ]]
83 then
84 for i in ${EXCLUDED}
85 do
86 if [ -e "${MY_SVN_DEST}/smage/${i}" ]
87 then
88 rm -rf "${MY_SVN_DEST}/smage/${i}"
89 fi
90 done
91 fi
92
93 # exec permissions
94 chmod a+x ${MY_SVN_DEST}/mage-src/usr/lib/mage/smage2.sh
95
96 # shut up some warnings
97 [ ! -f /etc/mage.rc ] && touch /etc/mage.rc
98 [ ! -f /usr/lib/mage/version ] && { install -d /usr/lib/mage; touch /usr/lib/mage/version; }
99
100 # fix includes
101 [[ ! -e ${MY_SVN_DEST}/smage/include ]] && ln -snf core/include ${MY_SVN_DEST}/smage/include
102
103 for dist in ${MY_SVN_DISTRIBUTIONS}
104 do
105 for arch in ${MY_SVN_ARCHES}
106 do
107 export ARCH="${arch}"
108 export PKGDIR="${MY_SVN_REPO}/${dist}/packages/${ARCH}"
109
110 for i in $(find ${MY_SVN_DEST}/smage -type f -name "*.smage2" | sort)
111 do
112 ${MY_SVN_DEST}/mage-src/usr/lib/mage/smage2.sh only-regen-tree "${i}"
113 done
114 done
115 done
116
117
118 # create tarballs
119 pushd ${MY_SVN_DEST}
120 for module in ${MY_SVN_MODULES}
121 do
122 case ${module} in
123 magellan-source/*) continue;;
124 esac
125 tar cvjf ${module/\/trunk/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ./${module/\/trunk/}
126 done
127 popd
128
129 # remove mage sources
130 if [[ ${MY_SVN_REMOVE_MAGE_SOURCES} = true ]]
131 then
132 [ -d ${MY_SVN_DEST}/mage-src ] && rm -rf ${MY_SVN_DEST}/mage-src
133 [ -d ${MY_SVN_DEST}/mage-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
134 rm -rf ${MY_SVN_DEST}/mage-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2
135 fi
136
137
138 # move tarballs to a proper location
139 install -d ${MY_SVN_DEST}/tarballs
140 for module in ${MY_SVN_MODULES}
141 do
142 [ -f ${MY_SVN_DEST}/${module/\/trunk/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
143 mv ${MY_SVN_DEST}/${module/\/trunk/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_SVN_DEST}/tarballs
144 done
145
146 # delete fake mage.rc
147 if [[ -f ${MY_MAGE_RC} ]]
148 then
149 rm -f ${MY_MAGE_RC}
150 fi
151