Magellan Linux

Annotation of /branches/mage-next/src/smage2.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1659 - (hide annotations) (download) (as text)
Sat Jan 14 00:01:52 2012 UTC (12 years, 3 months ago) by niro
Original Path: trunk/mage/usr/lib/mage/smage2.sh
File MIME type: application/x-sh
File size: 18841 byte(s)
-more PCATEGORIE->PCAT fixes for split-packages
1 niro 24 #!/bin/bash
2 niro 1571 # $Id$
3 niro 24
4     # compiles/installs .smage2 source install scripts
5     # needs pkgbuild_dir (mage)
6    
7 niro 1571 # TODO: record dynlib, gz | xz database
8 niro 24
9    
10 niro 419 # set default user mage.rc
11     : ${MAGERC="/etc/mage.rc"}
12    
13 niro 169 # export default C locale
14     export LC_ALL=C
15    
16 niro 439 source /etc/mage.rc.global
17 niro 419 source ${MAGERC}
18 niro 1273 source ${MLIBDIR}/mage4.functions.sh
19 niro 1640 source ${MLIBDIR}/smage2.functions.sh
20 niro 24
21 niro 1589 ## setup ##
22     SMAGENAME="$1"
23     SMAGEVERSION="$(< ${MLIBDIR}/version)"
24    
25 niro 1639 # expand PKGDIR, BUILDDIR and BINDIR with MROOT
26 niro 347 if [[ -n ${MROOT} ]]
27     then
28     export PKGDIR=${MROOT}/${PKGDIR}
29     export BUILDDIR=${MROOT}/${BUILDDIR}
30     export BINDIR=${MROOT}/${BINDIR}
31     fi
32    
33 niro 59 # print out our version
34     showversion
35     echo
36    
37 niro 1641 if [[ -z ${SMAGENAME} ]]
38 niro 24 then
39     echo "No .smage2 file given. Exiting."
40     echo
41     exit 1
42     fi
43    
44 niro 1584 # load supported mage features
45     load_mage_features
46    
47 niro 192 # updating smage2-scripts
48 niro 306 if [[ $1 = update ]]
49 niro 24 then
50 niro 59 if [ ! -d ${SOURCEDIR} ]
51     then
52     install -d ${SOURCEDIR}
53     fi
54     syncsmage2
55     exit 0
56     fi
57    
58 niro 192 # creates md5sums for smages to given dir
59 niro 306 if [[ $1 = calcmd5 ]]
60 niro 59 then
61 niro 1207 if [ $# -ge 2 ]
62 niro 59 then
63     SMAGENAME="$2"
64     MD5DIR="$3"
65 niro 1207 [[ -z ${MD5DIR} ]] && MD5DIR="$(dirname ${SMAGENAME})/md5"
66    
67 niro 1346 smagesource ${SMAGENAME} || die "download source failed"
68 niro 59
69 niro 66 # overridable sourcedir; must be declared after source of the smage2
70     CALC_SOURCEDIR="${CALC_SOURCEDIR:="${SOURCEDIR}/${PNAME}"}"
71    
72 niro 59 [ -z "${SRC_URI}" ] && die "Nothing declared to calculate."
73    
74     # end of array
75     EOA=${#SRC_URI[*]}
76    
77     [ ! -d ${MD5DIR} ] && install -d ${MD5DIR}
78    
79     # clear md5sum file
80     MY_MD5_FILE="${MD5DIR}/$(basename ${SMAGENAME} .${SMAGESUFFIX}).md5"
81     echo -n > ${MY_MD5_FILE}
82    
83     for ((i=0; i < EOA; i++))
84     do
85 niro 66 # url to file
86     my_SRC_URI="$(echo ${SRC_URI[${i}]} | cut -d' ' -f1)"
87    
88     # subdir in sources dir; the my_SRCI_URI file goes to there
89     my_SRC_URI_DEST="$(echo ${SRC_URI[${i}]} | cut -d' ' -f2)"
90    
91     # if my_src_uri_dest is not equal my_src_uri; than an other dir is used
92     if [[ ${my_SRC_URI_DEST} != ${my_SRC_URI} ]]
93     then
94     MY_SRC_FILE="${my_SRC_URI_DEST}/$(basename ${SRC_URI[${i}]})"
95     else
96     MY_SRC_FILE="$(basename ${SRC_URI[${i}]})"
97     fi
98    
99 niro 59 if [ -e "${CALC_SOURCEDIR}/${MY_SRC_FILE}" ]
100     then
101     echo "calculating $(basename ${MY_SRC_FILE}) ..."
102     ( cd ${CALC_SOURCEDIR}; md5sum "${MY_SRC_FILE}" ) >> ${MY_MD5_FILE}
103     else
104     echo "WARNING: File '$(basename ${MY_SRC_FILE}) not found in ${CALC_SOURCEDIR}."
105     fi
106 niro 66
107     # unset them to be shure
108     unset my_SRC_URI
109     unset my_SRC_URI_DEST
110     unset my_SRC_URI_MIRROR
111     unset my_SOURCEDIR
112 niro 59 done
113 niro 306
114 niro 59 echo
115     echo "Calculating of md5 sums for '$(basename ${SMAGENAME} .${SMAGESUFFIX})' done."
116     echo
117     else
118     echo "Usage: Calculating MD5 Sums:"
119 niro 1207 echo " $(basename $0) calcmd5 /path/to/SMAGENAME [/path/to/MD5DIR]"
120 niro 59 echo
121     echo
122     echo "Export the CALC_SOURCEDIR variable to override current SOURCEDIRs."
123     echo
124     exit 1
125     fi
126 niro 306
127 niro 59 exit 0
128     fi
129    
130 niro 192 # download sources
131 niro 59 if [ "$1" == "download" -a -n "$2" ]
132     then
133 niro 24 if [ ! -d ${SMAGESCRIPTSDIR} ]
134     then
135     install -d ${SMAGESCRIPTSDIR}
136     fi
137 niro 59
138     # get smage
139     SMAGENAME="$2"
140     MD5DIR="$(dirname ${SMAGENAME})/md5"
141 niro 1346 smagesource ${SMAGENAME} || die "download source failed"
142 niro 59
143     download_sources
144 niro 24 exit 0
145     fi
146    
147 niro 202 # regen-mage-tree
148     if [ "$1" == "only-regen-tree" -a -n "$2" ]
149     then
150     # set correct SMAGENAME
151     SMAGENAME="$2"
152     MD5DIR="$(dirname ${SMAGENAME})/md5"
153 niro 1346 smagesource ${SMAGENAME} || die "regen: smage2 not found"
154 niro 202
155     regen_mage_tree
156 niro 255
157 niro 890 # build several targets
158 niro 943 if [[ -n ${MAGE_TARGETS} ]]
159 niro 890 then
160     for target in ${MAGE_TARGETS}
161     do
162     # build md5sum for existing packages
163     generate_package_md5sum \
164 niro 1641 --pcat "${PCAT}" \
165 niro 890 --pname "${PNAME}" \
166     --pver "${PVER}" \
167     --pbuild "${PBUILD}" \
168     --parch "${ARCH}" \
169     --target "${target}"
170     done
171 niro 943
172     # build several subpackages
173     elif [[ -n ${SPLIT_PACKAGES} ]]
174     then
175     split_save_variables
176 niro 964 for subpackage in ${SPLIT_PACKAGES}
177 niro 943 do
178     # get the right variables for the split
179     export PNAME="${subpackage}"
180     split_info_${subpackage}
181 niro 1659 # fix PCATEGORIE -> PCAT
182     if [[ ! -z ${PCATEGORIE} ]]
183     then
184     PCAT="${PCATEGORIE}"
185     unset PCATEGORIE
186     fi
187 niro 943 # build md5sum for existing packages
188     generate_package_md5sum \
189 niro 1641 --pcat "${PCAT}" \
190 niro 943 --pname "${PNAME}" \
191     --pver "${PVER}" \
192     --pbuild "${PBUILD}" \
193     --parch "${ARCH}"
194 niro 951 # restore smage environment
195     split_restore_variables
196 niro 943 done
197 niro 951 # unset all saved smage variables
198     split_unset_variables
199 niro 943
200 niro 890 else
201     # build md5sum for existing packages
202     generate_package_md5sum \
203 niro 1641 --pcat "${PCAT}" \
204 niro 890 --pname "${PNAME}" \
205     --pver "${PVER}" \
206     --pbuild "${PBUILD}" \
207 niro 943 --parch "${ARCH}"
208 niro 890 fi
209 niro 255
210 niro 202 exit 0
211     fi
212    
213 niro 412 if [ "$1" == "--create-src-tarball" -a -n "$2" ]
214 niro 403 then
215     # set correct SMAGENAME
216     SMAGENAME="$2"
217     MD5DIR="$(dirname ${SMAGENAME})/md5"
218    
219 niro 412 echo -e "${COLGREEN}create-src-tarball called for ${COLBLUE}${SMAGENAME}${COLGREEN} ...${COLDEFAULT}"
220 niro 403
221 niro 1346 smagesource ${SMAGENAME} || die "regen: smage2 not found"
222 niro 403
223     if [[ -d ${SOURCEDIR}/${PNAME} ]]
224     then
225     echo -e "${COLGREEN}Deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"
226     rm -rf ${SOURCEDIR}/${PKGNAME}
227     fi
228    
229     download_sources
230     source_pkg_build ${SMAGENAME}
231     exit 0
232     fi
233    
234 niro 406 if [ "$1" == "--src-tarball" -a -n "$2" ] || [ "$1" == "-st" -a -n "$2" ]
235 niro 403 then
236 niro 412 SRCPKGTARBALL="${2}"
237 niro 1584 msetfeature "srcpkgtarball"
238 niro 403
239 niro 412 # abort if given file is not a source pkg
240     [[ ${SRCPKGTARBALL##*.} != ${SRCPKGSUFFIX} ]] && die "${SRCPKGTARBALL} is not a valid src-pkg file."
241    
242     # set correct SMAGENAME; use the one that the src_pkg provide
243     # /path/to/SOURCEDIR/PNAME/SMAGENAME
244     SMAGENAME="${SOURCEDIR}/$(basename ${SRCPKGTARBALL%-*-*})/$(basename ${SRCPKGTARBALL} .${SRCPKGSUFFIX}).${SMAGESUFFIX}"
245    
246 niro 403 echo -e "${COLGREEN}Using src-tarball ${COLBLUE}${SRCPKGTARBALL}${COLGREEN} ...${COLDEFAULT}"
247    
248     [[ ! -d ${SOURCEDIR} ]] && install -d ${SOURCEDIR}
249    
250     # unpack srctarball
251     [[ ! -f ${SRCPKGTARBALL} ]] && die "Error: ${SRCPKGTARBALL} does not exist. Aborting."
252    
253     tar xvjf ${SRCPKGTARBALL} -C ${SOURCEDIR} || die "Error unpackung src-tarball ${SRCPKGTARBALL}"
254 niro 412
255     [[ ! -f ${SMAGENAME} ]] && die "Included smage2 file in src-tarball not found: ${SMAGENAME}"
256 niro 403 fi
257    
258 niro 1617 if [ "$1" == "--resume" -a -n "$2" ]
259     then
260     msetfeature "resume"
261     SMAGENAME="$2"
262     fi
263 niro 403
264 niro 306 [ ! -e ${MLIBDIR}/pkgbuild_dir.sh ] && die "Error: ${MLIBDIR}/pkgbuild_dir.sh not found. Aborting."
265     [ -z "$(basename ${SMAGENAME} | grep .${SMAGESUFFIX})" ] &&
266     die "File '$(basename ${SMAGENAME})' is not a sMage v${SMAGEVERSION} file. Aborting."
267 niro 419 [ -z "${SOURCEDIR}" ] && die "\$SOURCEDIR not found. Please setup your ${MAGERC} correctly."
268     [ -z "${SMAGESCRIPTSDIR}" ] && die "\$SMAGESCRIPTSDIR not found. Please setup your ${MAGERC} correctly."
269     [ -z "${SMAGE2RSYNC}" ] && die "\$SMAGE2RSYNC not found. Please setup your ${MAGERC} correctly."
270     [ -z "${BINDIR}" ] && die "no BINDIR variable found in ${MAGERC}"
271     [ -z "${CHOST}" ] && die "no CHOST variable found in ${MAGERC}"
272     [ -z "${CFLAGS}" ] && die "no CFLAGS variable found in ${MAGERC}"
273     [ -z "${CXXFLAGS}" ] && die "no CXXFLAGS variable found in ${MAGERC}"
274 niro 24
275 niro 1346 smagesource ${SMAGENAME} || die "source failed"
276 niro 1649 PKGNAME="${PNAME}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}"
277 niro 59 MD5DIR="$(dirname ${SMAGENAME})/md5"
278 niro 941 SMAGE_LOG_CMD="tee -a /var/log/smage/${PKGNAME}.log"
279 niro 24
280     xtitle "Compiling ${PKGNAME}"
281 niro 439 echo -e "${COLGREEN}Compiling ${PKGNAME}${COLDEFAULT}"
282 niro 59
283 niro 191 # auto regen mage tree if requested
284     regen_mage_tree
285    
286 niro 1635 if mqueryfeature "srcpkgbuild"
287 niro 403 then
288     if [[ -d ${SOURCEDIR}/${PNAME} ]]
289     then
290 niro 441 echo -e "${COLBLUE}===${COLGREEN} deleting old sourcefiles ${COLBLUE}${SOURCEDIR}/${PNAME}${COLGREEN} ...${COLDEFAULT}"
291 niro 408 rm -rf ${SOURCEDIR}/${PNAME}
292 niro 403 fi
293     fi
294    
295 niro 192 # download sources
296 niro 1584 mqueryfeature "srcpkgtarball" || download_sources
297 niro 59
298 niro 192 # fixes some issues with these functions
299 niro 24 export -f src_prepare || die "src_prepare export failed"
300     export -f src_compile || die "src_compile export failed"
301 niro 1575 export -f src_check || die "src_check export failed"
302 niro 24 export -f src_install || die "src_install export failed"
303    
304 niro 192 # fixes some compile issues
305 niro 24 export CHOST="${CHOST}" || die "CHOST export failed"
306     export CFLAGS="${CFLAGS}" || die "CFLAGS export failed"
307 niro 1616 if [[ -z ${CXXFLAGS} ]]
308     then
309     export CXXFLAGS="${CFLAGS}" || die "CXXFLAGS export failed"
310     else
311     export CXXFLAGS="${CXXFLAGS}" || die "CXXFLAGS export failed"
312     fi
313     export LDFLAGS="${LDFLAGS}" || die "LDFLAGS export failed"
314 niro 24 export BINDIR="${BINDIR}" || die "BINDIR export failed"
315     export MAKEOPTS="${MAKEOPTS}" || die "MAKEOPTS export failed"
316    
317 niro 192 # setup distcc
318 niro 351 # setup for distcc goes *before* ccache, so ccache comes before distcc in path
319 niro 1584 mqueryfeature "distcc" && setup_distcc_environment
320 niro 24
321 niro 192 # setup ccache
322 niro 1584 mqueryfeature "ccache" && setup_ccache_environment
323 niro 24
324 niro 1617 if mqueryfeature "resume"
325 niro 24 then
326 niro 1617 echo -e "${COLMAGENTA}Resume requested; continuing previous build${COLDEFAULT}"
327 niro 24
328 niro 1617 # setup build logging
329     [[ ! -d /var/log/smage ]] && install -d /var/log/smage
330     if [[ -f /var/log/smage/${PKGNAME}.log.bz2 ]]
331     then
332     bunzip2 -f /var/log/smage/${PKGNAME}.log.bz2
333     fi
334     echo -e "### Resume started on $(date) ###\n" >> /var/log/smage/${PKGNAME}.log
335 niro 24
336 niro 1617 else
337     # clean up builddir if a previously one exist
338     if [ -d ${BUILDDIR} ]
339     then
340     rm -rf ${BUILDDIR}/* || die "couldn't cleanup \$BUILDDIR."
341     fi
342     install -d ${BUILDDIR} || die "couldn't create \$BUILDDIR."
343 niro 24
344 niro 1617 # clean up srcdir if a previously unpacked one exist
345     if [ -d ${SRCDIR} ]
346     then
347     rm -rf ${SRCDIR}
348     fi
349    
350     # clean up bindir if a previous build exist or create a new one
351     if [ -d ${BINDIR} ]
352     then
353     rm -rf ${BINDIR}
354     fi
355     install -d ${BINDIR} || die "couldn't create \$BINDIR."
356    
357     # clean up package temp dir if a previous build exist
358     if [ -d ${BUILDDIR}/${PKGNAME} ]
359     then
360     rm -rf ${BUILDDIR}/${PKGNAME}
361     fi
362    
363 niro 1621 # clean up stamps dir
364     if [ -d ${BUILDDIR}/.stamps ]
365     then
366     rm -rf ${BUILDDIR}/.stamps
367     fi
368    
369 niro 1617 # setup build logging
370     [[ ! -d /var/log/smage ]] && install -d /var/log/smage
371     echo -e "### Build started on $(date) ###\n" > /var/log/smage/${PKGNAME}.log
372 niro 24 fi
373    
374 niro 1593 if [[ ${PKGTYPE} = virtual ]]
375 niro 1575 then
376 niro 1593 echo "virtual package detected; nothing will be build ..."
377     # automatically set !pkgbuild here too
378     msetfeature "!pkgbuild"
379 niro 1575 else
380 niro 1617 ( run_resume src_prepare || src_prepare ) | ${SMAGE_LOG_CMD}
381 niro 1593 die_pipestatus 0 "src_prepare failed"
382 niro 1617 resume_stamp src_prepare
383     step_by_step src_prepare
384 niro 1575
385 niro 1617 ( run_resume src_compile || src_compile ) | ${SMAGE_LOG_CMD}
386 niro 1593 die_pipestatus 0 "src_compile failed"
387 niro 1617 resume_stamp src_compile
388     step_by_step src_compile
389 niro 945
390 niro 1593 # only run checks if requested
391     if mqueryfeature "!check"
392     then
393     echo "!check detected; src_check() will not be run!" | ${SMAGE_LOG_CMD}
394     else
395 niro 1617 ( run_resume src_check || src_check ) | ${SMAGE_LOG_CMD}
396 niro 1593 die_pipestatus 0 "src_check failed"
397 niro 1617 resume_stamp src_check
398 niro 1593 fi
399 niro 1617 step_by_step src_check
400 niro 945
401 niro 1593 # build several subpackages
402     if [[ -n ${SPLIT_PACKAGES} ]]
403     then
404     # save bindir & pname
405     split_save_variables
406     export SAVED_BINDIR="${BINDIR}"
407     for subpackage in ${SPLIT_PACKAGES}
408     do
409     if typeset -f src_install_${subpackage} > /dev/null
410     then
411     # export subpackage bindir
412     export BINDIR="${SAVED_BINDIR}_${subpackage}"
413     # export PNAME, several internal function and include
414     # rely on this variable
415     export PNAME="${subpackage}"
416    
417     echo
418     echo -en "${COLBLUE}*** ${COLDEFAULT}"
419     echo -en " Running ${COLGREEN}split src_install()${COLDEFAULT}"
420     echo -en " for subpkg: ${COLBLUE}${PNAME}${COLDEFAULT}"
421     echo -e " - basepkg: ${COLBLUE}${SPLIT_PACKAGE_BASE}${COLDEFAULT} ..."
422    
423 niro 1617 ( run_resume src_install_${subpackage} || src_install_${subpackage} ) | ${SMAGE_LOG_CMD}
424 niro 1593 die_pipestatus 0 "src_install_${subpackage} failed"
425 niro 1617 resume_stamp src_install_${subpackage}
426     step_by_step src_install_${subpackage}
427 niro 1593 fi
428     done
429     # restore bindir & pname
430     split_restore_variables
431     # unset all saved smage variables
432     split_unset_variables
433     else
434 niro 1617 ( run_resume src_install || src_install ) | ${SMAGE_LOG_CMD}
435 niro 1593 die_pipestatus 0 "src_install failed"
436 niro 1617 resume_stamp src_install
437     step_by_step src_install
438 niro 1593 fi
439 niro 943 fi
440 niro 24
441 niro 1593 # echo for sake of good-looking
442     echo
443    
444 niro 1584 if mqueryfeature "!compressdoc"
445 niro 24 then
446 niro 1584 echo -e "!compressdoc detected; documentation will not be compressed ..."
447 niro 1595 elif mqueryfeature "!pkgbuild"
448     then
449     echo "!pkgbuild detected; skipping documentation compression..."
450 niro 943 else
451 niro 1584 # compressing doc, info & man files
452     if [[ -n ${SPLIT_PACKAGES} ]]
453     then
454     for subpackage in ${SPLIT_PACKAGES}
455     do
456 niro 1636 run_resume post-mcompressdoc_${subpackage} || mcompressdocs ${BINDIR}_${subpackage}
457     resume_stamp post-mcompressdoc_${subpackage}
458 niro 1584 done
459     else
460 niro 1636 run_resume post-mcompressdoc || mcompressdocs ${BINDIR}
461     resume_stamp post-mcompressdoc
462 niro 1584 fi
463 niro 24 fi
464    
465 niro 1584 if mqueryfeature "!libtool"
466 niro 1580 then
467 niro 1595 if mqueryfeature "!pkgbuild"
468     then
469     echo "!pkgbuild detected; skipping libtool archive stripping ..."
470     else
471 niro 1580 if [[ -n ${SPLIT_PACKAGES} ]]
472     then
473     for subpackage in ${SPLIT_PACKAGES}
474     do
475     echo -e "${COLBLUE}===${COLGREEN} stripping libtool archives for '${subpackage}' ...${COLDEFAULT}"
476 niro 1636 run_resume post-mstriplibtoolarchive_${subpackage} || mstriplibtoolarchive ${BINDIR}_${subpackage}
477     resume_stamp post-mstriplibtoolarchive_${subpackage}
478 niro 1580 done
479     else
480 niro 1617 echo -e "${COLBLUE}===${COLGREEN} stripping libtool archives ...${COLDEFAULT}"
481 niro 1636 run_resume post-mstriplibtoolarchive || mstriplibtoolarchive ${BINDIR}
482     resume_stamp post-mstriplibtoolarchive
483 niro 1580 fi
484 niro 1595 fi
485 niro 1580 fi
486 niro 24
487 niro 1584 if mqueryfeature "purge"
488 niro 1580 then
489 niro 1595 if mqueryfeature "!pkgbuild"
490     then
491     echo "!pkgbuild detected; skipping file purgation..."
492     else
493 niro 1580 if [[ -n ${SPLIT_PACKAGES} ]]
494     then
495     for subpackage in ${SPLIT_PACKAGES}
496     do
497     echo -e "${COLBLUE}===${COLGREEN} purging all purge targets in '${subpackage}' ...${COLDEFAULT}"
498 niro 1636 run_resume post-mpurgetargets_${subpackage} || mpurgetargets ${BINDIR}_${subpackage}
499     resume_stamp post-mpurgetargets_${subpackage}
500 niro 1580 done
501     else
502 niro 1617 echo -e "${COLBLUE}===${COLGREEN} purging all purge targets ...${COLDEFAULT}"
503 niro 1636 run_resume post-mpurgetargets || mpurgetargets ${BINDIR}
504     resume_stamp post-mpurgetargets
505 niro 1580 fi
506 niro 1595 fi
507 niro 1580 fi
508    
509 niro 79 # stripping all bins and libs
510 niro 1584 if mqueryfeature "!strip"
511     then
512     echo -e "!strip detected; Package will not be stripped ..."
513 niro 1595 elif mqueryfeature "!pkgbuild"
514     then
515     echo "!pkgbuild detected; skipping stripping of the package ..."
516 niro 1584 else
517 niro 1595 if [[ -n ${SPLIT_PACKAGES} ]]
518     then
519     for subpackage in ${SPLIT_PACKAGES}
520     do
521     echo -e "${COLBLUE}===${COLGREEN} stripping binaries for '${subpackage}' ...${COLDEFAULT}"
522 niro 1636 run_resume post-mstripbins_${subpackage} || mstripbins ${BINDIR}_${subpackage}
523     resume_stamp post-mstripbins_${subpackage}
524 niro 1595 echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries for '${subpackage}' ...${COLDEFAULT}"
525 niro 1636 run_resume post-mstriplibs_${subpackage} || mstriplibs ${BINDIR}_${subpackage}
526     resume_stamp post-mstriplibs_${subpackage}
527 niro 1595 echo -e "${COLBLUE}===${COLGREEN} stripping static libraries for '${subpackage}' ...${COLDEFAULT}"
528 niro 1636 run_resume post-mstripstatic_${subpackage} || mstripstatic ${BINDIR}_${subpackage}
529     resume_stamp post-mstripstatic_${subpackage}
530 niro 1595 done
531     else
532     echo -e "${COLBLUE}===${COLGREEN} stripping binaries ...${COLDEFAULT}"
533 niro 1636 run_resume post-mstripbins || mstripbins ${BINDIR}
534     resume_stamp post-mstripbins
535 niro 1595 echo -e "${COLBLUE}===${COLGREEN} stripping dynamic libraries ...${COLDEFAULT}"
536 niro 1636 run_resume post-mstriplibs || mstriplibs ${BINDIR}
537     resume_stamp post-mstriplibs
538 niro 1595 echo -e "${COLBLUE}===${COLGREEN} stripping static libraries ...${COLDEFAULT}"
539 niro 1636 run_resume post-mstripstatic || mstripstatic ${BINDIR}
540     resume_stamp post-mstripstatic
541 niro 1595 fi
542 niro 1584 fi
543 niro 79
544 niro 1595 if mqueryfeature "!pkgbuild"
545 niro 1584 then
546 niro 1595 echo -e "!pkgbuild detected; Package will not be build ..."
547 niro 1584 else
548 niro 306 # build several targets
549 niro 943 if [[ -n ${MAGE_TARGETS} ]]
550 niro 192 then
551     for target in ${MAGE_TARGETS}
552     do
553 niro 1573 # check if a special target_pkgbuild exists
554 niro 192 if typeset -f ${target}_pkgbuild > /dev/null
555     then
556     # run it
557 niro 1636 run_resume post-${target}_pkgbuild || ${target}_pkgbuild
558     resume_stamp post-${target}_pkgbuild
559 niro 192 fi
560     # now create the target package
561 niro 1636 run_resume post-pkg_builddir_${target} || ${MLIBDIR}/pkgbuild_dir.sh \
562 niro 1649 "${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}" \
563 niro 192 ${BINDIR} || die "target: ${target} package-build failed"
564 niro 1636 resume_stamp post-pkg_builddir_${target}
565 niro 255
566     # build pkg-md5-sum if requested
567 niro 1636 run_resume post-md5sum_${target} || generate_package_md5sum \
568 niro 1641 --pcat "${PCAT}" \
569 niro 255 --pname "${PNAME}" \
570     --pver "${PVER}" \
571     --pbuild "${PBUILD}" \
572     --parch "${ARCH}" \
573     --target "${target}"
574 niro 1636 resume_stamp post-md5sum_${target}
575 niro 255
576 niro 1649 echo -e "${COLGREEN}\nPackage ${PNAME}-${target}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD} successfully builded.\n${COLDEFAULT}"
577 niro 192 done
578 niro 943
579     # build several subpackages
580     elif [[ -n ${SPLIT_PACKAGES} ]]
581     then
582     split_save_variables
583     for subpackage in ${SPLIT_PACKAGES}
584     do
585     # get the right variables for the split
586     export PNAME="${subpackage}"
587     split_info_${PNAME}
588 niro 1659 # fix PCATEGORIE -> PCAT
589     if [[ ! -z ${PCATEGORIE} ]]
590     then
591     PCAT="${PCATEGORIE}"
592     unset PCATEGORIE
593     fi
594 niro 943
595 niro 1595 # jump to next one if !pkgbuild is set in split_info
596     mqueryfeature "!pkgbuild" && continue
597 niro 947
598 niro 943 # check if an special subpackage_pkgbuild exists
599     if typeset -f ${PNAME}_pkgbuild > /dev/null
600     then
601     # run it
602 niro 1636 run_resume post-${PNAME}_pkgbuild || ${PNAME}_pkgbuild
603     resume_stamp post-${PNAME}_pkgbuild
604 niro 943 fi
605     # now create the target package
606 niro 1636 run_resume post-pkg_builddir_${PNAME} || ${MLIBDIR}/pkgbuild_dir.sh \
607 niro 1649 "${PNAME}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD}" \
608 niro 943 "${BINDIR}_${PNAME}" || die "split_package: ${PNAME} package-build failed"
609 niro 1636 resume_stamp post-pkg_builddir_${PNAME}
610 niro 943
611     # build pkg-md5-sum if requested
612 niro 1636 run_resume post-md5sum_${PNAME} || generate_package_md5sum \
613 niro 1641 --pcat "${PCAT}" \
614 niro 943 --pname "${PNAME}" \
615     --pver "${PVER}" \
616     --pbuild "${PBUILD}" \
617     --parch "${ARCH}"
618 niro 1636 resume_stamp post-md5sum_${PNAME}
619 niro 943
620 niro 1649 echo -e "${COLGREEN}\nPackage ${PNAME}-${PVER}-${ARCH}$(print_distrotag)-${PBUILD} successfully builded.\n${COLDEFAULT}"
621 niro 951
622     # restore smage environment
623     split_restore_variables
624 niro 943 done
625 niro 951 # unset all saved smage variables
626     split_unset_variables
627 niro 943
628 niro 192 else
629 niro 1636 run_resume post-pkg_builddir || ${MLIBDIR}/pkgbuild_dir.sh ${PKGNAME} ${BINDIR} || die "package-build failed"
630     resume_stamp post-pkg_builddir
631 niro 255
632     # build pkg-md5-sum if requested
633 niro 1636 run_resume post-md5sum || generate_package_md5sum \
634 niro 1641 --pcat "${PCAT}" \
635 niro 255 --pname "${PNAME}" \
636     --pver "${PVER}" \
637     --pbuild "${PBUILD}" \
638     --parch "${ARCH}"
639 niro 1636 resume_stamp post-md5sum
640 niro 255
641 niro 439 echo -e "${COLGREEN}\nPackage ${PKGNAME} successfully builded.\n${COLDEFAULT}"
642 niro 192 fi
643 niro 403
644     # build src-pkg-tarball if requested
645 niro 1635 if mqueryfeature "srcpkgbuild"
646 niro 1617 then
647 niro 1636 run_resume post-srcpkgbuild || source_pkg_build ${SMAGENAME}
648     resume_stamp post-srcpkgbuild
649 niro 1617 fi
650 niro 1584 fi
651 niro 24
652 niro 1584 if mqueryfeature "buildlog"
653 niro 875 then
654     bzip2 -9f /var/log/smage/${PKGNAME}.log
655     else
656     [[ -f /var/log/smage/${PKGNAME}.log ]] && rm /var/log/smage/${PKGNAME}.log
657     fi
658    
659 niro 24 xtitleclean

Properties

Name Value
svn:executable *