6 |
MY_REPOS=( "branches/R11-stable" "trunk" ) |
MY_REPOS=( "branches/R11-stable" "trunk" ) |
7 |
MY_ARCHES=( "x86_64" "i686" ) |
MY_ARCHES=( "x86_64" "i686" ) |
8 |
MY_DISTRO_PKG_BASE="/var/www/htdocs/magellan/R11" |
MY_DISTRO_PKG_BASE="/var/www/htdocs/magellan/R11" |
9 |
|
MY_DISTRO_HTTP_PKG_BASE="http://magellan-linux.de/magellan/R11" |
10 |
|
MY_SSHLOGIN_BASE="tjoke@magellan-linux.de" |
11 |
MY_MAGE_FEATURES=( "pkgdistrotag" ) |
MY_MAGE_FEATURES=( "pkgdistrotag" ) |
12 |
MY_MAGE_FEATURES_i686=( "srcpkgbuild" ) |
MY_MAGE_FEATURES_i686=( "srcpkgbuild" ) |
13 |
|
|
14 |
|
# decide wether to use http method or not |
15 |
|
USE_HTTP=0 |
16 |
|
if [[ $1 = --http ]] |
17 |
|
then |
18 |
|
USE_HTTP=1 |
19 |
|
shift |
20 |
|
fi |
21 |
|
|
22 |
MY_SVN_BASE="$1" |
MY_SVN_BASE="$1" |
23 |
if [[ -z ${MY_SVN_BASE} ]] |
if [[ -z ${MY_SVN_BASE} ]] |
24 |
then |
then |
44 |
export CHOST="${arch}-pc-linux-gnu" |
export CHOST="${arch}-pc-linux-gnu" |
45 |
export PACKAGES_SERVER_PATH="packages/${arch}" |
export PACKAGES_SERVER_PATH="packages/${arch}" |
46 |
export PKGDIR="${MY_DISTRO_PKG_BASE}/packages/${arch}/" |
export PKGDIR="${MY_DISTRO_PKG_BASE}/packages/${arch}/" |
47 |
|
export HTTP_PKGDIR="${MY_DISTRO_HTTP_PKG_BASE}/packages/${arch}/" |
48 |
export SRCPKGDIR="${MY_DISTRO_PKG_BASE}/packages/src/" |
export SRCPKGDIR="${MY_DISTRO_PKG_BASE}/packages/src/" |
49 |
|
export HTTP_SRCPKGDIR="${MY_DISTRO_HTTP_PKG_BASE}/packages/src/" |
50 |
} |
} |
51 |
|
|
52 |
# generate_pkg_file_list REPO |
# generate_pkg_file_list REPO |
55 |
local repo="$1" |
local repo="$1" |
56 |
local smage |
local smage |
57 |
local arch |
local arch |
58 |
|
local _findlist |
59 |
export SMAGESCRIPTSDIR="${repo}" |
export SMAGESCRIPTSDIR="${repo}" |
|
# echo "DEBUG: repo='${repo}'" |
|
60 |
|
|
61 |
for smage in $(find ${repo} -name \*.${SMAGESUFFIX} | sort -u) |
# speed up things - include distribution file here |
62 |
|
source ${SMAGESCRIPTSDIR}/distribution |
63 |
|
|
64 |
|
_findlist=$(find ${repo} -name \*.${SMAGESUFFIX} | sort -u) |
65 |
|
for arch in ${MY_ARCHES[*]} |
66 |
do |
do |
67 |
echo "Processing ${smage}" |
load_arch_values ${arch} |
68 |
for arch in ${MY_ARCHES[*]} |
load_mage_features |
69 |
|
|
70 |
|
for smage in ${_findlist} |
71 |
do |
do |
72 |
load_arch_values ${arch} |
echo "Processing ${smage}" |
73 |
load_mage_features |
|
74 |
# echo |
#smagesource ${smage} &> /dev/null || die |
75 |
# mprintfeatures |
# speed up things |
76 |
# echo |
FVERBOSE=off |
77 |
smagesource ${smage} &> /dev/null || die |
source "${smage}" &> /dev/null || die |
78 |
|
|
79 |
# honor split-packages |
# honor split-packages |
80 |
if [[ -n ${SPLIT_PACKAGES} ]] |
if [[ -n ${SPLIT_PACKAGES} ]] |
148 |
|
|
149 |
for i in $(eval echo "\${${var}[*]}") |
for i in $(eval echo "\${${var}[*]}") |
150 |
do |
do |
151 |
[[ ${i} = ${pkg} ]] && return 0 |
if [[ ${i} = ${pkg} ]] |
152 |
|
then |
153 |
|
# delete found entry from variable |
154 |
|
eval $(echo "${var}=(\${${var}[*]//${i}})") |
155 |
|
return 0 |
156 |
|
fi |
157 |
done |
done |
158 |
|
|
159 |
return 1 |
return 1 |
161 |
|
|
162 |
# checkout svn sources for mage and smage repos |
# checkout svn sources for mage and smage repos |
163 |
export SVNROOT="${MY_SVN_ROOT}" |
export SVNROOT="${MY_SVN_ROOT}" |
164 |
|
[[ ! -d ${MY_SVN_BASE} ]] && install -d ${MY_SVN_BASE} |
165 |
for module in magellan-source/trunk/mage ${MY_REPOS[*]} |
for module in magellan-source/trunk/mage ${MY_REPOS[*]} |
166 |
do |
do |
167 |
case ${module} in |
case ${module} in |
175 |
else |
else |
176 |
( cd ${MY_SVN_BASE}; svn update ${MY_SVN_OPTS} ${SVNROOT}/${repo} ${codir} ) |
( cd ${MY_SVN_BASE}; svn update ${MY_SVN_OPTS} ${SVNROOT}/${repo} ${codir} ) |
177 |
fi |
fi |
178 |
|
|
179 |
|
# exclude deprecated |
180 |
|
if [ -d ${MY_SVN_BASE}/${codir}/deprecated ] |
181 |
|
then |
182 |
|
echo "deleting ${MY_SVN_BASE}/${codir}/deprecated" |
183 |
|
rm -r ${MY_SVN_BASE}/${codir}/deprecated |
184 |
|
fi |
185 |
done |
done |
186 |
|
|
187 |
# include functions from fresh mage checkout |
# include functions from fresh mage checkout |
207 |
#done |
#done |
208 |
#echo |
#echo |
209 |
|
|
210 |
|
# initialize lists |
211 |
|
if [[ ${USE_HTTP} = 1 ]] |
212 |
|
then |
213 |
|
:> ${MY_SVN_BASE}/pkglist |
214 |
|
:> ${MY_SVN_BASE}/srcpkglist |
215 |
|
fi |
216 |
|
|
217 |
|
# make a copy of the lists |
218 |
|
CP_PKGLIST=( ${PKGLIST[*]} ) |
219 |
|
CP_SRCPKGLIST=( ${SRCPKGLIST[*]} ) |
220 |
|
# and save them for resume |
221 |
|
echo "${CP_PKGLIST[*]}" > ${MY_SVN_BASE}/saved_pkglist |
222 |
|
echo "${CP_SRCPKGLIST[*]}" > ${MY_SVN_BASE}/saved_srcpkglist |
223 |
|
|
224 |
for arch in ${MY_ARCHES[*]} |
for arch in ${MY_ARCHES[*]} |
225 |
do |
do |
226 |
load_arch_values "${arch}" |
load_arch_values "${arch}" |
227 |
load_mage_features |
load_mage_features |
228 |
|
|
229 |
|
# make arch copy of the arrays |
230 |
|
eval $(echo "PKGLIST_${arch}=( ${PKGLIST[*]} )") |
231 |
|
eval $(echo "SRCPKGLIST_${arch}=( ${SRCPKGLIST[*]} )") |
232 |
|
|
233 |
if [ ! -d ${PKGDIR}/_deprecated ] |
if [ ! -d ${PKGDIR}/_deprecated ] |
234 |
then |
then |
235 |
install -d ${PKGDIR}/_deprecated || die "install ${PKGDIR}/${arch}/_deprecated" |
install -d ${PKGDIR}/_deprecated || die "install ${PKGDIR}/${arch}/_deprecated" |
236 |
fi |
fi |
237 |
|
|
238 |
for file in $(find ${PKGDIR} -name \*.${PKGSUFFIX} -printf '%f\n' | sort) |
if [[ ${USE_HTTP} = 1 ]] |
239 |
|
then |
240 |
|
_filelist=$(lynx -dump -listonly ${HTTP_PKGDIR} | grep ".${PKGSUFFIX}" | sed "s:.*${PACKAGES_SERVER_PATH}/\(.*.${PKGSUFFIX}\):\1:") |
241 |
|
else |
242 |
|
_filelist=$(find ${PKGDIR} -name \*.${PKGSUFFIX} -printf '%f\n' | sort) |
243 |
|
fi |
244 |
|
|
245 |
|
if [[ ${USE_HTTP} = 1 ]] |
246 |
|
then |
247 |
|
echo "install -d ${PKGDIR}/_deprecated" >> ${MY_SVN_BASE}/pkglist |
248 |
|
fi |
249 |
|
for file in ${_filelist} |
250 |
do |
do |
251 |
if check_pkglist PKGLIST "${file}" |
if check_pkglist PKGLIST "${file}" |
252 |
then |
then |
253 |
echo -e "${COLGREEN}[k] - ${file}${COLDEFAULT}" |
echo -e "${COLGREEN}[k] - ${file}${COLDEFAULT}" |
254 |
else |
else |
255 |
echo -e "${COLRED}[d] - ${file}${COLDEFAULT}" |
echo -e "${COLRED}[d] - ${file}${COLDEFAULT}" |
256 |
echo mv ${PKGDIR}/${file} ${PKGDIR}/_deprecated || die "move ${PKGDIR}/${file} -> _deprecated" |
if [[ ${USE_HTTP} = 1 ]] |
257 |
|
then |
258 |
|
echo "mv -v ${PKGDIR}/${file} ${PKGDIR}/_deprecated/ " >> ${MY_SVN_BASE}/pkglist |
259 |
|
else |
260 |
|
mv ${PKGDIR}/${file} ${PKGDIR}/_deprecated/ || die "move ${PKGDIR}/${file} -> _deprecated" |
261 |
|
fi |
262 |
fi |
fi |
263 |
done |
done |
264 |
if mqueryfeature "srcpkgbuild" |
if mqueryfeature "srcpkgbuild" |
265 |
then |
then |
266 |
for file in $(find ${SRCPKGDIR} -name \*.${SRCPKGSUFFIX} -printf '%f\n' | sort) |
if [[ ${USE_HTTP} = 1 ]] |
267 |
|
then |
268 |
|
_filelist=$(lynx -dump -listonly ${HTTP_SRCPKGDIR} | grep ".${SRCPKGSUFFIX}" | sed "s:.*packages/src/\(.*.${SRCPKGSUFFIX}\):\1:") |
269 |
|
else |
270 |
|
_filelist=$(find ${SRCPKGDIR} -name \*.${SRCPKGSUFFIX} -printf '%f\n' | sort) |
271 |
|
fi |
272 |
|
|
273 |
|
if [[ ${USE_HTTP} = 1 ]] |
274 |
|
then |
275 |
|
echo "install -d ${SRCPKGDIR}/_deprecated" >> ${MY_SVN_BASE}/srcpkglist |
276 |
|
fi |
277 |
|
for file in ${_filelist} |
278 |
do |
do |
279 |
if check_pkglist SRCPKGLIST "${file}" |
if check_pkglist SRCPKGLIST "${file}" |
280 |
then |
then |
281 |
echo -e "${COLGREEN}[k] - ${file}${COLDEFAULT}" |
echo -e "${COLGREEN}[k] - ${file}${COLDEFAULT}" |
282 |
else |
else |
283 |
echo -e "${COLRED}[d] - ${file}${COLDEFAULT}" |
echo -e "${COLRED}[d] - ${file}${COLDEFAULT}" |
284 |
echo mv ${SRCPKGDIR}/${file} ${SRCPKGDIR}/_deprecated || die "move ${SRCPKGDIR}/${file} -> _deprecated" |
if [[ ${USE_HTTP} = 1 ]] |
285 |
|
then |
286 |
|
echo "mv -v ${SRCPKGDIR}/${file} ${SRCPKGDIR}/_deprecated/" >> ${MY_SVN_BASE}/srcpkglist |
287 |
|
else |
288 |
|
mv ${SRCPKGDIR}/${file} ${SRCPKGDIR}/_deprecated/ || die "move ${SRCPKGDIR}/${file} -> _deprecated" |
289 |
|
fi |
290 |
fi |
fi |
291 |
done |
done |
292 |
fi |
fi |
293 |
done |
done |
294 |
|
|
295 |
|
if [[ ${USE_HTTP} = 777 ]] |
296 |
|
then |
297 |
|
for list in pkglist srcpkglist |
298 |
|
do |
299 |
|
if [[ -f ${MY_SVN_BASE}/${list} ]] |
300 |
|
then |
301 |
|
scp ${MY_SVN_BASE}/${list} ${MY_SSHLOGIN_BASE}:~ |
302 |
|
ssh ${MY_SSHLOGIN_BASE} bash ~/${list} |
303 |
|
fi |
304 |
|
done |
305 |
|
fi |