Magellan Linux

Contents of /trunk/pkgtools/regen_mage_tree_rsync-NEXT-unstable-only.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: 4488 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/NEXT"
11 MY_SVN_DEST="${MY_SVN_REPO}/rsync"
12 MY_SVN_MODULES="mage/branches/magellan-next smage/branches/magellan-next 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_ARCHES="x86_64"
20 # unstable supports all distributions
21 MY_SVN_DISTRIBUTION="unstable"
22
23 # like mage.rc; needed only for smage2
24 export ARCH=i686
25 export PKGDIR="${MY_SVN_REPO}/unstable/packages/${ARCH}"
26 export SMAGESCRIPTSDIR="${MY_SVN_DEST}/smage"
27 export MAGE_TREE_DEST="${MY_SVN_DEST}/mage"
28 export MLIBDIR="${MY_SVN_DEST}/mage-src/usr/lib/mage"
29 # support both
30 export REGEN_MAGE_TREE=true
31 export MAGE_FEATURES=( "regentree" )
32
33 # setup a fake mage rc
34 MY_MAGE_RC=$(mktemp)
35 echo "ARCH=${ARCH}" > ${MY_MAGE_RC}
36 echo "PKGDIR=${PKGDIR}" >> ${MY_MAGE_RC}
37 echo "SMAGESCRIPTSDIR=${SMAGESCRIPTSDIR}" >> ${MY_MAGE_RC}
38 echo "MAGE_TREE_DEST=${MAGE_TREE_DEST}" >> ${MY_MAGE_RC}
39 echo "MLIBDIR=${MLIBDIR}" >> ${MY_MAGE_RC}
40 # support both
41 echo "REGEN_MAGE_TREE=${REGEN_MAGE_TREE}" >> ${MY_MAGE_RC}
42 echo "MAGE_FEATURES=\"${MAGE_FEATURES}\"" >> ${MY_MAGE_RC}
43 export MAGERC=${MY_MAGE_RC}
44
45 # svn root
46 export SVNROOT="${MY_SVN_ROOT}"
47
48 [ ! -d "${MY_SVN_DEST}" ] && install -d ${MY_SVN_DEST}
49
50 # get rid of old cruft (fixes some rsync issues)
51 rm -rf ${MY_SVN_DEST}/*
52
53 # get all our modules or update them
54 for module in ${MY_SVN_MODULES}
55 do
56 case ${module} in
57 mage/*) codir=mage;;
58 smage/*) codir=smage;;
59 magellan-source/*) codir=mage-src;;
60 esac
61
62 if [ ! -d ${MY_SVN_DEST}/${module}/.svn ]
63 then
64 ( cd ${MY_SVN_DEST}; svn checkout ${MY_SVN_OPTS} ${SVNROOT}/${module} ${codir} )
65 else
66 ( cd ${MY_SVN_DEST}; svn update ${MY_SVN_OPTS} ${SVNROOT}/${module} ${codir} )
67 fi
68 done
69
70 # delete CVS directories
71 for file in $(find ${MY_SVN_DEST} -type d -name .svn)
72 do
73 rm -rf ${file}
74 done
75
76 # correct permissions
77 find ${MY_SVN_DEST} -type f -exec chmod 0644 '{}' ';'
78 find ${MY_SVN_DEST} -type d -exec chmod 0755 '{}' ';'
79
80 # now regen mage tree
81
82 if [ -f ${MY_SVN_DEST}/smage/.regenignore ]
83 then
84 export EXCLUDED="$(< ${MY_SVN_DEST}/smage/.regenignore )"
85 fi
86
87 if [[ -n ${EXCLUDED} ]]
88 then
89 for i in ${EXCLUDED}
90 do
91 if [ -e "${MY_SVN_DEST}/smage/${i}" ]
92 then
93 rm -rf "${MY_SVN_DEST}/smage/${i}"
94 fi
95 done
96 fi
97
98 # exec permissions
99 chmod a+x ${MY_SVN_DEST}/mage-src/usr/lib/mage/smage2.sh
100
101 # shut up some warnings
102 [ ! -f /etc/mage.rc ] && touch /etc/mage.rc
103 [ ! -f /usr/lib/mage/version ] && { install -d /usr/lib/mage; touch /usr/lib/mage/version; }
104
105 # fix includes
106 [[ ! -e ${MY_SVN_DEST}/smage/include ]] && ln -snf core/include ${MY_SVN_DEST}/smage/include
107
108 for smage in $(find ${MY_SVN_DEST}/smage -type f -name "*.smage2" | sort)
109 do
110 for arch in ${MY_SVN_ARCHES}
111 do
112 export ARCH="${arch}"
113 export PKGDIR="${MY_SVN_REPO}/${MY_SVN_DISTRIBUTION}/packages/${ARCH}"
114 sed -i -e "s:\(ARCH=\).*:\1${ARCH}:" -e "s:\(PKGDIR=\).*:\1${PKGDIR}:" ${MY_MAGE_RC}
115
116 # first regen always to have a mage file
117 ${MY_SVN_DEST}/mage-src/usr/lib/mage/smage2.sh only-regen-tree "${smage}"
118 done
119 done
120
121 # create tarballs
122 pushd ${MY_SVN_DEST}
123 for module in ${MY_SVN_MODULES}
124 do
125 case ${module} in
126 magellan-source/*) continue;;
127 esac
128 tar cvjf ${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ./${module/\/*/}
129 done
130 popd
131
132 # remove mage sources
133 if [[ ${MY_SVN_REMOVE_MAGE_SOURCES} = true ]]
134 then
135 [ -d ${MY_SVN_DEST}/mage-src ] && rm -rf ${MY_SVN_DEST}/mage-src
136 [ -d ${MY_SVN_DEST}/mage-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ] &&
137 rm -rf ${MY_SVN_DEST}/mage-src-"${MY_TARBALL_VERSION_TAG}".tar.bz2
138 fi
139
140
141 # move tarballs to a proper location
142 install -d ${MY_SVN_DEST}/tarballs
143 for module in ${MY_SVN_MODULES}
144 do
145 if [ -f ${MY_SVN_DEST}/${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ]
146 then
147 mv ${MY_SVN_DEST}/${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_SVN_DEST}/tarballs
148
149 # symlink them
150 ln -snf ${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 ${MY_SVN_DEST}/tarballs/${module/\/*/}-latest.tar.bz2
151
152 # and generate md5 sum for each
153 pushd ${MY_SVN_DEST}/tarballs
154 md5sum ${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".tar.bz2 > ${module/\/*/}-"${MY_TARBALL_VERSION_TAG}".md5
155 md5sum ${module/\/*/}-latest.tar.bz2 > ${module/\/*/}-latest.md5
156 popd
157 fi
158 done
159
160 # delete fake mage.rc
161 if [[ -f ${MY_MAGE_RC} ]]
162 then
163 rm -f ${MY_MAGE_RC}
164 fi
165

Properties

Name Value
svn:executable *