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 |
|
|
16 |
[[ -n ${STATE} ]] && mystate="${STATE}" |
# if PCAT was not set and PCATEGORIE was found |
17 |
|
# inform the user and use PCATEGORIE as PCAT |
18 |
|
if [[ -z ${PCAT} ]] |
19 |
|
then |
20 |
|
if [[ -n ${PCATEGORIE} ]] |
21 |
|
then |
22 |
|
PCAT="${PCATEGORIE}" |
23 |
|
unset PCATEGORIE |
24 |
|
# print a warning |
25 |
|
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}" |
27 |
|
echo |
28 |
|
else |
29 |
|
die "Neither PCAT nor PCATEGORIE are defined!" |
30 |
|
fi |
31 |
|
fi |
32 |
|
|
33 |
# do not overide if local state was broken or disabled! |
[[ -n ${STATE} ]] && localstate="${STATE}" |
34 |
case ${STATE} in |
[[ -n ${DISTROTAG} ]] && mytag="${DISTROTAG}" |
|
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 |
657 |
# PNAME name of pkg |
# PNAME name of pkg |
658 |
# PVER version |
# PVER version |
659 |
# PBUILD revision |
# PBUILD revision |
660 |
# PCATEGORIE category of the pkg |
# PCAT category of the pkg |
661 |
|
# PCATEGORIE category of the pkg (deprecated, use PCAT!) |
662 |
# STATE state of pkg stable|unstable|old |
# STATE state of pkg stable|unstable|old |
663 |
# DESCRIPTION a short description (opt) |
# DESCRIPTION a short description (opt) |
664 |
# HOMEPAGE homepage (opt) |
# HOMEPAGE homepage (opt) |
665 |
|
# LICENSE license information of the pkg (opt) |
666 |
# DEPEND runtime dependencies (opt) |
# DEPEND runtime dependencies (opt) |
667 |
# SDEPEND adds needed deps to build the pkg (opt) |
# SDEPEND adds needed deps to build the pkg (opt) |
668 |
# PROVIDE provides a virtual (opt) |
# PROVIDE provides a virtual (opt) |
702 |
magefile="${PNAME}${target}-${PVER}-${PBUILD}.mage" |
magefile="${PNAME}${target}-${PVER}-${PBUILD}.mage" |
703 |
|
|
704 |
# destination to magefile |
# destination to magefile |
705 |
dest="${MAGE_TREE_DEST}/${PCATEGORIE}/${PNAME}${target}/${magefile}" |
dest="${MAGE_TREE_DEST}/${PCAT}/${PNAME}${target}/${magefile}" |
706 |
|
|
707 |
# show what we are doing |
# show what we are doing |
708 |
echo -e "${COLBLUE}===${COLGREEN} generating mage file:${COLDEFAULT}" |
echo -e "${COLBLUE}===${COLGREEN} generating mage file:${COLDEFAULT}" |
713 |
> ${dest} |
> ${dest} |
714 |
|
|
715 |
# pgkname and state |
# pgkname and state |
716 |
echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}-${PBUILD}\"" >> ${dest} |
echo "PKGNAME=\"${PNAME}${target}-${PVER}-\${ARCH}$(print_distrotag)-${PBUILD}\"" >> ${dest} |
717 |
echo "STATE=\"${STATE}\"" >> ${dest} |
echo "STATE=\"${STATE}\"" >> ${dest} |
718 |
|
|
719 |
# description and homepage |
# description and homepage |
720 |
echo "DESCRIPTION=\"${DESCRIPTION}\"" >> ${dest} |
echo "DESCRIPTION=\"${DESCRIPTION}\"" >> ${dest} |
721 |
echo "HOMEPAGE=\"${HOMEPAGE}\"" >> ${dest} |
echo "HOMEPAGE=\"${HOMEPAGE}\"" >> ${dest} |
722 |
|
|
723 |
|
# license information |
724 |
|
echo "LICENSE=\"${LICENSE}\"" >> ${dest} |
725 |
|
|
726 |
# special tags and vars |
# special tags and vars |
727 |
echo "PKGTYPE=\"${PKGTYPE}\"" >> ${dest} |
echo "PKGTYPE=\"${PKGTYPE}\"" >> ${dest} |
728 |
|
|
814 |
# get the right variables for the split |
# get the right variables for the split |
815 |
export PNAME="${subpackage}" |
export PNAME="${subpackage}" |
816 |
split_info_${subpackage} |
split_info_${subpackage} |
817 |
|
# fix PCATEGORIE -> PCAT |
818 |
|
if [[ ! -z ${PCATEGORIE} ]] |
819 |
|
then |
820 |
|
PCAT="${PCATEGORIE}" |
821 |
|
unset PCATEGORIE |
822 |
|
fi |
823 |
# get the preinstall etc |
# get the preinstall etc |
824 |
split_export_inherits ${subpackage} |
split_export_inherits ${subpackage} |
825 |
build_mage_script --split-pkg-base "${split_pkg_base}" |
build_mage_script --split-pkg-base "${split_pkg_base}" |
871 |
export SAVED_PNAME="${PNAME}" |
export SAVED_PNAME="${PNAME}" |
872 |
export SAVED_PVER="${PVER}" |
export SAVED_PVER="${PVER}" |
873 |
export SAVED_PBUILD="${PBUILD}" |
export SAVED_PBUILD="${PBUILD}" |
874 |
export SAVED_PCATEGORIE="${PCATEGORIE}" |
export SAVED_PCAT="${PCAT}" |
875 |
export SAVED_DESCRIPTION="${DESCRIPTION}" |
export SAVED_DESCRIPTION="${DESCRIPTION}" |
876 |
export SAVED_HOMEPAGE="${HOMEPAGE}" |
export SAVED_HOMEPAGE="${HOMEPAGE}" |
877 |
export SAVED_SPECIAL_VARS="${SPECIAL_VARS}" |
export SAVED_SPECIAL_VARS="${SPECIAL_VARS}" |
946 |
export PNAME="${SAVED_PNAME}" |
export PNAME="${SAVED_PNAME}" |
947 |
export PVER="${SAVED_PVER}" |
export PVER="${SAVED_PVER}" |
948 |
export PBUILD="${SAVED_PBUILD}" |
export PBUILD="${SAVED_PBUILD}" |
949 |
export PCATEGORIE="${SAVED_PCATEGORIE}" |
export PCAT="${SAVED_PCAT}" |
950 |
export DESCRIPTION="${SAVED_DESCRIPTION}" |
export DESCRIPTION="${SAVED_DESCRIPTION}" |
951 |
export HOMEPAGE="${SAVED_HOMEPAGE}" |
export HOMEPAGE="${SAVED_HOMEPAGE}" |
952 |
export SPECIAL_VARS="${SAVED_SPECIAL_VARS}" |
export SPECIAL_VARS="${SAVED_SPECIAL_VARS}" |
1015 |
unset SAVED_PNAME |
unset SAVED_PNAME |
1016 |
unset SAVED_PVER |
unset SAVED_PVER |
1017 |
unset SAVED_PBUILD |
unset SAVED_PBUILD |
1018 |
unset SAVED_PCATEGORIE |
unset SAVED_PCAT |
1019 |
unset SAVED_DESCRIPTION |
unset SAVED_DESCRIPTION |
1020 |
unset SAVED_HOMEPAGE |
unset SAVED_HOMEPAGE |
1021 |
unset SAVED_SPECIAL_VARS |
unset SAVED_SPECIAL_VARS |
1131 |
[ -n "${target}" ] && target="-${target}" |
[ -n "${target}" ] && target="-${target}" |
1132 |
|
|
1133 |
# build pkgname |
# build pkgname |
1134 |
pkgname="${pname}${target}-${pver}-${parch}-${pbuild}" |
pkgname="${pname}${target}-${pver}-${parch}$(print_distrotag)-${pbuild}" |
1135 |
|
|
1136 |
# build pkg-md5-sum only if requested |
# build pkg-md5-sum only if requested |
1137 |
if mqueryfeature regentree |
if mqueryfeature regentree |
1184 |
[[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} |
[[ ! -d ${SRCPKGDIR} ]] && install -d ${SRCPKGDIR} |
1185 |
mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} |
mv ${BUILDDIR}/${PNAME}-${PVER}-${PBUILD}.tar.bz2 ${SRCPKGDIR}/${PNAME}-${PVER}-${PBUILD}.${SRCPKGSUFFIX} |
1186 |
|
|
1187 |
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" |
1188 |
} |
} |
1189 |
|
|
1190 |
step_by_step() |
step_by_step() |