7 |
smagesource() |
smagesource() |
8 |
{ |
{ |
9 |
local file="$1" |
local file="$1" |
10 |
local mystate |
local localstate |
11 |
local mycodename |
local distfilestate |
12 |
|
local mytag |
13 |
|
|
14 |
source ${file} |
source ${file} |
15 |
|
|
20 |
if [[ -n ${PCATEGORIE} ]] |
if [[ -n ${PCATEGORIE} ]] |
21 |
then |
then |
22 |
PCAT="${PCATEGORIE}" |
PCAT="${PCATEGORIE}" |
23 |
|
unset PCATEGORIE |
24 |
# print a warning |
# print a warning |
25 |
echo -e "${COLYELLOW}Warning: 'PCATEGORIE' is deprecated and gets removed in the future.${COLDEFAULT}" |
echo -e "${COLYELLOW}Warning: 'PCATEGORIE' is deprecated and gets removed in the future.${COLDEFAULT}" |
26 |
echo -e "${COLYELLOW} Please modify this smage2 script to use the 'PCAT' variable.${COLDEFAULT}" |
echo -e "${COLYELLOW} Please modify this smage2 script to use the 'PCAT' variable.${COLDEFAULT}" |
30 |
fi |
fi |
31 |
fi |
fi |
32 |
|
|
33 |
[[ -n ${STATE} ]] && mystate="${STATE}" |
[[ -n ${STATE} ]] && localstate="${STATE}" |
34 |
|
[[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" |
|
# do not overide if local state was broken or disabled! |
|
|
case ${STATE} in |
|
|
broken) return ;; |
|
|
disabled) return ;; |
|
|
esac |
|
35 |
|
|
36 |
if [ -f ${SMAGESCRIPTSDIR}/distribution ] |
if [ -f ${SMAGESCRIPTSDIR}/distribution ] |
37 |
then |
then |
38 |
source ${SMAGESCRIPTSDIR}/distribution |
source ${SMAGESCRIPTSDIR}/distribution |
39 |
[[ -n ${STATE} ]] && mystate="${STATE}" |
[[ -n ${STATE} ]] && distfilestate="${STATE}" |
40 |
|
[[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" |
41 |
|
fi |
42 |
|
# now switch state and export it but do not overide any local states |
43 |
|
if [[ ! -z ${localstate} ]] |
44 |
|
then |
45 |
|
STATE="${localstate}" |
46 |
|
else |
47 |
|
STATE="${distfilestate}" |
48 |
|
fi |
49 |
|
|
50 |
|
if mqueryfeature "pkgdistrotag" |
51 |
|
then |
52 |
|
# if DISTROTAG was not defined globally |
53 |
|
# or in distribution file then deactivate this feature! |
54 |
|
# at this point $mytag must have the distrotag |
55 |
|
if [[ -z ${mytag} ]] |
56 |
|
then |
57 |
|
FVERBOSE=off msetfeature "!pkgdistrotag" |
58 |
|
unset DISTROTAG |
59 |
|
echo -e "${COLRED}Requested 'pkgdistrotag' but no \$DISTROTAG found!${COLDEFAULT}" |
60 |
|
echo -e "${COLRED}Disabled the feature for pkgbuild sanity!${COLDEFAULT}" |
61 |
|
else |
62 |
|
# now switch state and export it but do not overide any local states |
63 |
|
export DISTROTAG="${mytag}" |
64 |
|
fi |
65 |
|
else |
66 |
|
unset DISTROTAG |
67 |
|
fi |
68 |
|
} |
69 |
|
|
70 |
|
print_distrotag() |
71 |
|
{ |
72 |
|
if FVERBOSE=off mqueryfeature "pkgdistrotag" |
73 |
|
then |
74 |
|
if [[ ! -z ${DISTROTAG} ]] |
75 |
|
then |
76 |
|
# add a point as prefix |
77 |
|
echo ".${DISTROTAG}" |
78 |
|
fi |
79 |
fi |
fi |
|
# now switch state and export it |
|
|
STATE="${mystate}" |
|
80 |
} |
} |
81 |
|
|
82 |
showversion() |
showversion() |
281 |
fi |
fi |
282 |
fi |
fi |
283 |
|
|
284 |
# always enable shared by default |
# always enable shared by default but not for waf configure |
285 |
if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] |
if [[ ! -z $(./configure --help | grep -- '--.*able-shared') ]] && |
286 |
|
[[ -z $(./configure --version | grep waf) ]] |
287 |
then |
then |
288 |
myopts+=" --enable-shared" |
myopts+=" --enable-shared" |
289 |
fi |
fi |
343 |
DEST=$2 |
DEST=$2 |
344 |
fi |
fi |
345 |
|
|
346 |
|
echo -e "${COLBLUE}>>>${COLGREEN} Unpacking ${SOURCEDIR}/${PNAME}/${SRCFILE}${COLDEFAULT}" |
347 |
|
|
348 |
[[ ! -d ${DEST} ]] && install -d ${DEST} |
[[ ! -d ${DEST} ]] && install -d ${DEST} |
349 |
|
|
350 |
case "${SRCFILE##*.}" in |
case "${SRCFILE##*.}" in |
394 |
tar --no-same-owner -xvJf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".txz unpack failed." |
tar --no-same-owner -xvJf ${SOURCEDIR}/${PNAME}/${SRCFILE} -C ${DEST} || die ".txz unpack failed." |
395 |
;; |
;; |
396 |
rar) |
rar) |
397 |
unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST} || die ".rar unpack failed." |
unrar x ${SOURCEDIR}/${PNAME}/${SRCFILE} ${DEST} || die ".rar unpack failed." |
398 |
;; |
;; |
399 |
zip|xpi|jar) |
zip|xpi|jar) |
400 |
unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed." |
unzip ${SOURCEDIR}/${PNAME}/${SRCFILE} -d ${DEST} || die ".zip unpack failed." |
573 |
fi |
fi |
574 |
} |
} |
575 |
|
|
576 |
|
march() |
577 |
|
{ |
578 |
|
local retval |
579 |
|
|
580 |
|
if [[ ! -z ${ARCH} ]] |
581 |
|
then |
582 |
|
echo "${ARCH}" |
583 |
|
retval=0 |
584 |
|
else |
585 |
|
retval=1 |
586 |
|
fi |
587 |
|
|
588 |
|
return "${retval}" |
589 |
|
} |
590 |
|
|
591 |
|
marchsrcfile() |
592 |
|
{ |
593 |
|
local retval |
594 |
|
local var="$1" |
595 |
|
|
596 |
|
[[ -z ${var} ]] && var="SRCFILE" |
597 |
|
|
598 |
|
if [[ ! -z $(eval echo \$${var}_${ARCH/i*86/x86}) ]] |
599 |
|
then |
600 |
|
eval echo \$${var}_${ARCH/i*86/x86} | tr ';' '\n' |
601 |
|
retval=0 |
602 |
|
else |
603 |
|
retval=1 |
604 |
|
fi |
605 |
|
|
606 |
|
return "${retval}" |
607 |
|
} |
608 |
|
|
609 |
|
marchsrcdir() |
610 |
|
{ |
611 |
|
local retval |
612 |
|
if [[ ! -z $(eval echo \$SRCDIR_${ARCH/i*86/x86}) ]] |
613 |
|
then |
614 |
|
eval echo \$SRCDIR_${ARCH/i*86/x86} | tr ';' '\n' |
615 |
|
retval=0 |
616 |
|
else |
617 |
|
retval=1 |
618 |
|
fi |
619 |
|
|
620 |
|
return "${retval}" |
621 |
|
} |
622 |
|
|
623 |
|
marchdepend() |
624 |
|
{ |
625 |
|
local retval |
626 |
|
|
627 |
|
if [[ ! -z $(eval echo \$DEPEND_${ARCH/i*86/x86}) ]] |
628 |
|
then |
629 |
|
echo "\$(eval echo \\\$DEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" |
630 |
|
retval=0 |
631 |
|
else |
632 |
|
retval=1 |
633 |
|
fi |
634 |
|
|
635 |
|
return "${retval}" |
636 |
|
} |
637 |
|
|
638 |
|
marchsdepend() |
639 |
|
{ |
640 |
|
local retval |
641 |
|
if [[ ! -z $(eval echo \$SDEPEND_${ARCH/i*86/x86}) ]] |
642 |
|
then |
643 |
|
echo "\$(eval echo \\\$SDEPEND_\${ARCH/i*86/x86} | tr ';' '\n')" |
644 |
|
retval=0 |
645 |
|
else |
646 |
|
retval=1 |
647 |
|
fi |
648 |
|
|
649 |
|
return "${retval}" |
650 |
|
} |
651 |
|
|
652 |
setup_distcc_environment() |
setup_distcc_environment() |
653 |
{ |
{ |
654 |
if [ -x /usr/bin/distcc ] |
if [ -x /usr/bin/distcc ] |
664 |
fi |
fi |
665 |
} |
} |
666 |
|
|
667 |
|
setup_icecc_environment() |
668 |
|
{ |
669 |
|
if [ -x /usr/bin/icecc ] |
670 |
|
then |
671 |
|
echo -e "${COLBLUE}---${COLGREEN} Using IceCC for compilation ...${COLDEFAULT}" |
672 |
|
export PATH=/usr/$(mlibdir)/icecc/bin:${PATH} || die "icecc: could not export new $PATH" |
673 |
|
fi |
674 |
|
} |
675 |
|
|
676 |
setup_ccache_environment() |
setup_ccache_environment() |
677 |
{ |
{ |
678 |
if [ -x /usr/bin/ccache ] |
if [ -x /usr/bin/ccache ] |
679 |
then |
then |
680 |
|
mqueryfeature "icecc" && export CCACHE_PREFIX=icecc |
681 |
|
|
682 |
echo -e "${COLBLUE}---${COLGREEN} Using CCache for compilation ...${COLDEFAULT}" |
echo -e "${COLBLUE}---${COLGREEN} Using CCache for compilation ...${COLDEFAULT}" |
683 |
export PATH=/usr/$(mlibdir)/ccache/bin:${PATH} || die "ccache: could not export new $PATH" |
export PATH=/usr/$(mlibdir)/ccache/bin:${PATH} || die "ccache: could not export new $PATH" |
684 |
fi |
fi |
693 |
local NDEPEND |
local NDEPEND |
694 |
local sym dep cat pver pname |
local sym dep cat pver pname |
695 |
|
|
696 |
|
# first of all remove all tabs and duplicate lines |
697 |
|
if [ -n "${depend}" ] |
698 |
|
then |
699 |
|
depend=$(echo "${depend}" | sed 's:\t::g' | sort -u) |
700 |
|
fi |
701 |
|
|
702 |
# deps and provides are special |
# deps and provides are special |
703 |
# they must be fixed to match the target |
# they must be fixed to match the target |
704 |
|
|
808 |
> ${dest} |
> ${dest} |
809 |
|
|
810 |
# pgkname and state |
# pgkname and state |
811 |
echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}-${PBUILD}\"" >> ${dest} |
echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}$(print_distrotag)-${PBUILD}\"" >> ${dest} |
812 |
echo "STATE=\"${STATE}\"" >> ${dest} |
echo "STATE=\"${STATE}\"" >> ${dest} |
813 |
|
|
814 |
# description and homepage |
# description and homepage |
909 |
# get the right variables for the split |
# get the right variables for the split |
910 |
export PNAME="${subpackage}" |
export PNAME="${subpackage}" |
911 |
split_info_${subpackage} |
split_info_${subpackage} |
912 |
|
# fix PCATEGORIE -> PCAT |
913 |
|
if [[ ! -z ${PCATEGORIE} ]] |
914 |
|
then |
915 |
|
PCAT="${PCATEGORIE}" |
916 |
|
unset PCATEGORIE |
917 |
|
fi |
918 |
# get the preinstall etc |
# get the preinstall etc |
919 |
split_export_inherits ${subpackage} |
split_export_inherits ${subpackage} |
920 |
build_mage_script --split-pkg-base "${split_pkg_base}" |
build_mage_script --split-pkg-base "${split_pkg_base}" |
970 |
export SAVED_DESCRIPTION="${DESCRIPTION}" |
export SAVED_DESCRIPTION="${DESCRIPTION}" |
971 |
export SAVED_HOMEPAGE="${HOMEPAGE}" |
export SAVED_HOMEPAGE="${HOMEPAGE}" |
972 |
export SAVED_SPECIAL_VARS="${SPECIAL_VARS}" |
export SAVED_SPECIAL_VARS="${SPECIAL_VARS}" |
973 |
|
export SAVED_SPECIAL_FUNCTIONS="${SPECIAL_FUNCTIONS}" |
974 |
export SAVED_STATE="${STATE}" |
export SAVED_STATE="${STATE}" |
|
export SAVED_PKGTYPE="${PKGTYPE}" |
|
975 |
export SAVED_INHERITS="${INHERITS}" |
export SAVED_INHERITS="${INHERITS}" |
976 |
export SAVED_DEPEND="${DEPEND}" |
export SAVED_DEPEND="${DEPEND}" |
977 |
export SAVED_SDEPEND="${SDEPEND}" |
export SAVED_SDEPEND="${SDEPEND}" |
1045 |
export DESCRIPTION="${SAVED_DESCRIPTION}" |
export DESCRIPTION="${SAVED_DESCRIPTION}" |
1046 |
export HOMEPAGE="${SAVED_HOMEPAGE}" |
export HOMEPAGE="${SAVED_HOMEPAGE}" |
1047 |
export SPECIAL_VARS="${SAVED_SPECIAL_VARS}" |
export SPECIAL_VARS="${SAVED_SPECIAL_VARS}" |
1048 |
|
export SPECIAL_FUNCTIONS="${SAVED_SPECIAL_FUNCTIONS}" |
1049 |
export STATE="${SAVED_STATE}" |
export STATE="${SAVED_STATE}" |
|
export PKGTYPE="${SAVED_PKGTYPE}" |
|
1050 |
export INHERITS="${SAVED_INHERITS}" |
export INHERITS="${SAVED_INHERITS}" |
1051 |
export DEPEND="${SAVED_DEPEND}" |
export DEPEND="${SAVED_DEPEND}" |
1052 |
export SDEPEND="${SAVED_SDEPEND}" |
export SDEPEND="${SAVED_SDEPEND}" |
1114 |
unset SAVED_DESCRIPTION |
unset SAVED_DESCRIPTION |
1115 |
unset SAVED_HOMEPAGE |
unset SAVED_HOMEPAGE |
1116 |
unset SAVED_SPECIAL_VARS |
unset SAVED_SPECIAL_VARS |
1117 |
|
unset SAVED_SPECIAL_FUNCTIONS |
1118 |
unset SAVED_STATE |
unset SAVED_STATE |
1119 |
unset SAVED_PKGTYPE |
unset SAVED_PKGTYPE |
1120 |
unset SAVED_INHERITS |
unset SAVED_INHERITS |
1227 |
[ -n "${target}" ] && target="-${target}" |
[ -n "${target}" ] && target="-${target}" |
1228 |
|
|
1229 |
# build pkgname |
# build pkgname |
1230 |
pkgname="${pname}${target}-${pver}-${parch}-${pbuild}" |
pkgname="${pname}${target}-${pver}-${parch}$(print_distrotag)-${pbuild}" |
1231 |
|
|
1232 |
# build pkg-md5-sum only if requested |
# build pkg-md5-sum only if requested |
1233 |
if mqueryfeature regentree |
if mqueryfeature regentree |
1280 |
[[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} |
[[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} |
1281 |
mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} |
mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} |
1282 |
|
|
1283 |
echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}" |
echo -e "${COLGREEN}Source package ${COLBLUE}${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} ${COLGREEN}successfully builded.${COLDEFAULT}\n" |
1284 |
} |
} |
1285 |
|
|
1286 |
step_by_step() |
step_by_step() |
1312 |
return 1 |
return 1 |
1313 |
fi |
fi |
1314 |
} |
} |
1315 |
|
|
1316 |
|
mqalint() |
1317 |
|
{ |
1318 |
|
return 0 |
1319 |
|
} |