Lines 11-19
if [ ! -z "${PORTAGE_GPG_DIR}" ]; then
Link Here
|
11 |
SANDBOX_PREDICT="${SANDBOX_PREDICT}:${PORTAGE_GPG_DIR}" |
11 |
SANDBOX_PREDICT="${SANDBOX_PREDICT}:${PORTAGE_GPG_DIR}" |
12 |
fi |
12 |
fi |
13 |
|
13 |
|
14 |
if [ "$*" != "depend" ] && [ "$*" != "clean" ] && [ "$*" != "nofetch" ]; then |
14 |
if [ "$*" != "depend" ] && [ "$*" != "clean" ] && [ "$*" != "nofetch" ]; then |
|
|
15 |
# Cleanup if we were killed in the previous run... |
16 |
if [ -f "${BUILDDIR}/.abi" ]; then |
17 |
abi=$(cat ${BUILDDIR}/.abi) |
18 |
if [ -d "${WORKDIR}" ]; then |
19 |
mv ${WORKDIR} ${WORKDIR}.${abi} || die "IO Failure -- Unable to mv work work.${abi}" |
20 |
fi |
21 |
rm -rf ${BUILDDIR}/.abi || die "IO Failure -- Unable to 'rm .abi'" |
22 |
unset abi |
23 |
fi |
24 |
|
15 |
if [ -f "${T}/environment" ]; then |
25 |
if [ -f "${T}/environment" ]; then |
|
|
26 |
# restore_env isn't set yet, so we just source it for now. |
27 |
# Once this code is rearanged so the functions are defined |
28 |
# before this code is executed, we can just do restore_env |
29 |
# here. |
16 |
source "${T}/environment" &>/dev/null |
30 |
source "${T}/environment" &>/dev/null |
17 |
fi |
31 |
fi |
18 |
fi |
32 |
fi |
19 |
|
33 |
|
Lines 614-665
dyn_setup()
Link Here
|
614 |
fi |
628 |
fi |
615 |
pkg_setup |
629 |
pkg_setup |
616 |
} |
630 |
} |
617 |
|
631 |
|
|
|
632 |
# Filter which environment variables to save/restore. |
633 |
select_saved_vars() { |
634 |
egrep -v "^(LD_PRELOAD|SANDBOX_|PORTAGE_|DISTCC_|CCACHE_|current_vars|target_vars|var|file|abi)" |
635 |
} |
636 |
|
637 |
# We need to save/restore the environment for each ABI we are installing for separately |
638 |
save_env() { |
639 |
local file |
640 |
if [ "$#" = "1" ]; then |
641 |
file="${T}/environment.${1}" |
642 |
else |
643 |
file="${T}/environment" |
644 |
fi |
645 |
|
646 |
local oldumask=$(umask) |
647 |
umask 002 |
648 |
set | select_saved_vars > ${file} || die "Unable to save environment settings." |
649 |
export -p | sed 's:declare -r\{0,1\}x ::' | select_saved_vars | sed 's:^:declare -x :' >> ${file} || die "Unable to save environment settings." |
650 |
chown portage:portage ${file} &>/dev/null |
651 |
chmod g+w ${file} &>/dev/null |
652 |
umask ${oldumask} |
653 |
} |
654 |
|
655 |
restore_env() { |
656 |
local file |
657 |
if [ "$#" = "1" -a -f "${T}/environment.${1}" ]; then |
658 |
file="${T}/environment.${1}" |
659 |
elif [ -f "${T}/environment" ]; then |
660 |
file="${T}/environment" |
661 |
else |
662 |
return |
663 |
fi |
664 |
|
665 |
local current_vars=$(set | egrep '^[_A-Za-z0-9]+=' | cut -f1 -d= | select_saved_vars) |
666 |
|
667 |
if hasq multilib-debug ${FEATURES}; then |
668 |
local target_vars=$(cat ${file} | egrep '^[_A-Za-z0-9]+=' | cut -f1 -d= | select_saved_vars) |
669 |
for var in ${current_vars}; do |
670 |
if ! hasq ${var} ${target_vars}; then |
671 |
# Redirect to /dev/null so we don't get spam'd about |
672 |
# any read-only variables. |
673 |
echo ">>> Unsetting: ${var}=${!var}" |
674 |
unset ${var} &>/dev/null |
675 |
fi |
676 |
done |
677 |
else |
678 |
unset ${current_vars} &>/dev/null |
679 |
fi |
680 |
|
681 |
source ${file} &>/dev/null || die "IO Failure in restore_env" |
682 |
} |
683 |
|
684 |
set_abi() { |
685 |
if [ "$#" != "1" ]; then |
686 |
die "set_abi needs to be given the ABI to use." |
687 |
fi |
688 |
|
689 |
local abi=${1} |
690 |
|
691 |
if [ -d "${WORKDIR}" ]; then |
692 |
unset_abi |
693 |
else |
694 |
save_env |
695 |
fi |
696 |
restore_env ${abi} |
697 |
|
698 |
if [ -d "${WORKDIR}.${abi}" ]; then |
699 |
# If it doesn't exist, then we're making it soon in dyn_unpack |
700 |
mv ${WORKDIR}.${abi} ${WORKDIR} || die "IO Failure -- Failed to 'mv work.${abi} work'" |
701 |
fi |
702 |
|
703 |
echo "${abi}" > ${BUILDDIR}/.abi || die "IO Failure -- Failed to create .abi." |
704 |
echo ">>> ABI=${abi}" |
705 |
|
706 |
# Export variables we need for toolchain |
707 |
export ABI="${abi}" |
708 |
|
709 |
local VAR |
710 |
VAR="CFLAGS_${ABI}" |
711 |
[ -n "${!VAR}" ] && eval export ${VAR} |
712 |
VAR="ASFLAGS_${ABI}" |
713 |
[ -n "${!VAR}" ] && eval export ${VAR} |
714 |
} |
715 |
|
716 |
unset_abi() { |
717 |
if [ -f "${BUILDDIR}/.abi" ]; then |
718 |
local abi=$(cat ${BUILDDIR}/.abi) |
719 |
[ ! -d "${WORKDIR}" ] && die "unset_abi: .abi present (${abi}) but workdir not present." |
720 |
|
721 |
save_env ${abi} |
722 |
restore_env |
723 |
|
724 |
mv ${WORKDIR} ${WORKDIR}.${abi} || die "IO Failure -- Failed to 'mv work work.${abi}'." |
725 |
rm -rf ${BUILDDIR}/.abi || die "IO Failure -- Failed to 'rm -rf .abi'." |
726 |
fi |
727 |
} |
728 |
|
729 |
get_abi_order() { |
730 |
local order="" |
731 |
|
732 |
if ! hasq multilib-pkg ${FEATURES}; then |
733 |
if [ -n "${DEFAULT_ABI}" ]; then |
734 |
order="${DEFAULT_ABI}" |
735 |
else |
736 |
order="NOMULTILIB" |
737 |
fi |
738 |
elif ! hasq multilib-pkg ${RESTRICT}; then |
739 |
order="${DEFAULT_ABI}" |
740 |
else |
741 |
for x in ${MULTILIB_ABIS}; do |
742 |
if [ "${x}" != "${DEFAULT_ABI}" ]; then |
743 |
hasq ${x} ${ABI_DENY} || ordera="${ordera} ${x}" |
744 |
fi |
745 |
done |
746 |
hasq ${DEFAULT_ABI} ${ABI_DENY} || order="${ordera} ${DEFAULT_ABI}" |
747 |
|
748 |
if [ -n "${ABI_ALLOW}" ]; then |
749 |
local ordera="" |
750 |
for x in ${order}; do |
751 |
if hasq ${x} ${ABI_ALLOW}; then |
752 |
ordera="${ordera} ${x}" |
753 |
fi |
754 |
done |
755 |
order="${ordera}" |
756 |
fi |
757 |
fi |
758 |
|
759 |
if [ -z "${order}" ]; then |
760 |
die "The ABI list is empty. Are you using a proper multilib profile? Perhaps your USE flags or MULTILIB_ABIS are too restrictive for this package." |
761 |
fi |
762 |
|
763 |
echo ${order} |
764 |
} |
765 |
|
618 |
dyn_unpack() { |
766 |
dyn_unpack() { |
619 |
trap "abort_unpack" SIGINT SIGQUIT |
767 |
trap "abort_unpack" SIGINT SIGQUIT |
620 |
local newstuff="no" |
768 |
local newstuff="no" |
621 |
if [ -e "${WORKDIR}" ]; then |
769 |
|
622 |
local x |
770 |
for ABI in $(get_abi_order); do |
623 |
local checkme |
771 |
if [ "${ABI}" = "NOMULTILIB" ]; then |
624 |
for x in ${AA}; do |
772 |
unset ABI |
625 |
echo ">>> Checking ${x}'s mtime..." |
773 |
else |
626 |
if [ "${DISTDIR}/${x}" -nt "${WORKDIR}" ]; then |
774 |
set_abi ${ABI} |
627 |
echo ">>> ${x} has been updated; recreating WORKDIR..." |
775 |
fi |
|
|
776 |
if [ -e "${WORKDIR}" ]; then |
777 |
local x |
778 |
local checkme |
779 |
for x in ${AA}; do |
780 |
echo ">>> Checking ${x}'s mtime..." |
781 |
if [ "${DISTDIR}/${x}" -nt "${WORKDIR}" ]; then |
782 |
echo ">>> ${x} has been updated; recreating WORKDIR..." |
783 |
newstuff="yes" |
784 |
rm -rf "${WORKDIR}" |
785 |
break |
786 |
fi |
787 |
done |
788 |
if [ "${EBUILD}" -nt "${WORKDIR}" ]; then |
789 |
echo ">>> ${EBUILD} has been updated; recreating WORKDIR..." |
790 |
newstuff="yes" |
791 |
rm -rf "${WORKDIR}" |
792 |
elif [ ! -f "${BUILDDIR}/.unpacked" ]; then |
793 |
echo ">>> Not marked as unpacked; recreating WORKDIR..." |
628 |
newstuff="yes" |
794 |
newstuff="yes" |
629 |
rm -rf "${WORKDIR}" |
795 |
rm -rf "${WORKDIR}" |
630 |
break |
|
|
631 |
fi |
796 |
fi |
632 |
done |
|
|
633 |
if [ "${EBUILD}" -nt "${WORKDIR}" ]; then |
634 |
echo ">>> ${EBUILD} has been updated; recreating WORKDIR..." |
635 |
newstuff="yes" |
636 |
rm -rf "${WORKDIR}" |
637 |
elif [ ! -f "${BUILDDIR}/.unpacked" ]; then |
638 |
echo ">>> Not marked as unpacked; recreating WORKDIR..." |
639 |
newstuff="yes" |
640 |
rm -rf "${WORKDIR}" |
641 |
fi |
797 |
fi |
642 |
fi |
798 |
if [ -e "${WORKDIR}" ]; then |
643 |
if [ -e "${WORKDIR}" ]; then |
799 |
if [ "${newstuff}" == "no" ]; then |
644 |
if [ "$newstuff" == "no" ]; then |
800 |
echo ">>> WORKDIR is up-to-date, keeping..." |
645 |
echo ">>> WORKDIR is up-to-date, keeping..." |
801 |
continue |
646 |
return 0 |
802 |
fi |
647 |
fi |
803 |
fi |
648 |
fi |
804 |
|
649 |
|
805 |
install -m0700 -d "${WORKDIR}" || die "Failed to create dir '${WORKDIR}'" |
650 |
install -m0700 -d "${WORKDIR}" || die "Failed to create dir '${WORKDIR}'" |
806 |
[ -d "${WORKDIR}" ] && cd "${WORKDIR}" |
651 |
[ -d "$WORKDIR" ] && cd "${WORKDIR}" |
807 |
echo ">>> Unpacking source..." |
652 |
echo ">>> Unpacking source..." |
808 |
src_unpack |
653 |
src_unpack |
809 |
done |
|
|
810 |
unset_abi |
811 |
unset ABI |
654 |
touch "${BUILDDIR}/.unpacked" || die "IO Failure -- Failed 'touch .unpacked' in BUILDIR" |
812 |
touch "${BUILDDIR}/.unpacked" || die "IO Failure -- Failed 'touch .unpacked' in BUILDIR" |
655 |
echo ">>> Source unpacked." |
813 |
echo ">>> Source unpacked." |
656 |
cd "$BUILDDIR" |
814 |
cd "${BUILDDIR}" |
657 |
trap SIGINT SIGQUIT |
815 |
trap SIGINT SIGQUIT |
658 |
} |
816 |
} |
659 |
|
817 |
|
660 |
dyn_clean() { |
818 |
dyn_clean() { |
661 |
if [ "$USERLAND" == "BSD" ] && type -p chflags &>/dev/null; then |
819 |
if [ "${USERLAND}" == "BSD" ] && type -p chflags &>/dev/null; then |
662 |
chflags -R noschg,nouchg,nosappnd,nouappnd,nosunlnk,nouunlnk \ |
820 |
chflags -R noschg,nouchg,nosappnd,nouappnd,nosunlnk,nouunlnk \ |
663 |
"${BUILDDIR}" |
821 |
"${BUILDDIR}" |
664 |
fi |
822 |
fi |
665 |
|
823 |
|
Lines 671-695
dyn_clean() {
Link Here
|
671 |
mv "${T}/environment" "${T}/environment.keeptemp" |
829 |
mv "${T}/environment" "${T}/environment.keeptemp" |
672 |
fi |
830 |
fi |
673 |
|
831 |
|
674 |
if ! hasq keepwork $FEATURES; then |
832 |
if ! hasq keepwork $FEATURES; then |
|
|
833 |
rm -rf "${BUILDDIR}/.abi" |
675 |
rm -rf "${BUILDDIR}/.unpacked" |
834 |
rm -rf "${BUILDDIR}/.unpacked" |
676 |
rm -rf "${BUILDDIR}/.compiled" |
835 |
rm -rf "${BUILDDIR}/.compiled*" |
677 |
rm -rf "${BUILDDIR}/.tested" |
836 |
rm -rf "${BUILDDIR}/.tested" |
678 |
rm -rf "${BUILDDIR}/.installed" |
837 |
rm -rf "${BUILDDIR}/.installed" |
679 |
rm -rf "${BUILDDIR}/.packaged" |
838 |
rm -rf "${BUILDDIR}/.packaged" |
680 |
rm -rf "${BUILDDIR}/build-info" |
839 |
rm -rf "${BUILDDIR}/build-info" |
681 |
rm -rf "${WORKDIR}" |
840 |
rm -rf "${WORKDIR}*" |
682 |
fi |
841 |
fi |
683 |
|
842 |
|
684 |
if [ -f "${BUILDDIR}/.unpacked" ]; then |
843 |
if [ -f "${BUILDDIR}/.unpacked" ]; then |
685 |
find "${BUILDDIR}" -type d ! -regex "^${WORKDIR}" | sort -r | tr "\n" "\0" | $XARGS -0 rmdir &>/dev/null |
844 |
find "${BUILDDIR}" -type d ! -regex "^${WORKDIR}" | sort -r | tr "\n" "\0" | $XARGS -0 rmdir &>/dev/null |
686 |
fi |
845 |
fi |
687 |
true |
|
|
688 |
|
846 |
|
689 |
if [ -z "$(find "${BUILDDIR}" -mindepth 1 -maxdepth 1)" ]; then |
847 |
if [ -z "$(find "${BUILDDIR}" -mindepth 1 -maxdepth 1)" ]; then |
690 |
rmdir "${BUILDDIR}" |
848 |
rmdir "${BUILDDIR}" |
691 |
fi |
849 |
fi |
|
|
850 |
|
851 |
true |
692 |
} |
852 |
} |
693 |
|
853 |
|
694 |
into() { |
854 |
into() { |
695 |
if [ $1 == "/" ]; then |
855 |
if [ $1 == "/" ]; then |
Lines 799-813
abort_handler() {
Link Here
|
799 |
|
959 |
|
800 |
abort_compile() { |
960 |
abort_compile() { |
801 |
abort_handler "src_compile" $1 |
961 |
abort_handler "src_compile" $1 |
802 |
rm -f "${BUILDDIR}/.compiled" |
962 |
rm -f "${BUILDDIR}/.compiled" |
|
|
963 |
if [ -n "${ABI}" -a "${ABI}" != "NOMULTILIB" ]; then |
964 |
rm -f "${BUILDDIR}/.compiled.${ABI}" |
965 |
mv ${WORKDIR} ${WORKDIR}.${ABI} |
966 |
rm -f ${BUILDDIR}/.abi |
967 |
fi |
803 |
exit 1 |
968 |
exit 1 |
804 |
} |
969 |
} |
805 |
|
970 |
|
806 |
abort_unpack() { |
971 |
abort_unpack() { |
807 |
abort_handler "src_unpack" $1 |
972 |
abort_handler "src_unpack" $1 |
808 |
rm -f "${BUILDDIR}/.unpacked" |
973 |
rm -f "${BUILDDIR}/.unpacked" |
809 |
rm -rf "${BUILDDIR}/work" |
974 |
rm -f ${BUILDDIR}/.abi |
|
|
975 |
rm -rf "${BUILDDIR}/work*" |
810 |
exit 1 |
976 |
exit 1 |
811 |
} |
977 |
} |
812 |
|
978 |
|
813 |
abort_package() { |
979 |
abort_package() { |
Lines 819-850
abort_package() {
Link Here
|
819 |
|
985 |
|
820 |
abort_test() { |
986 |
abort_test() { |
821 |
abort_handler "dyn_test" $1 |
987 |
abort_handler "dyn_test" $1 |
822 |
rm -f "${BUILDDIR}/.tested" |
988 |
rm -f "${BUILDDIR}/.tested" |
|
|
989 |
if [ -n "${ABI}" -a "${ABI}" != "NOMULTILIB" ]; then |
990 |
mv ${WORKDIR} ${WORKDIR}.${ABI} |
991 |
rm -f ${BUILDDIR}/.abi |
992 |
fi |
823 |
exit 1 |
993 |
exit 1 |
824 |
} |
994 |
} |
825 |
|
995 |
|
826 |
abort_install() { |
996 |
abort_install() { |
827 |
abort_handler "src_install" $1 |
997 |
abort_handler "src_install" $1 |
828 |
rm -rf "${BUILDDIR}/image" |
998 |
rm -rf "${BUILDDIR}/image" |
|
|
999 |
if [ -n "${ABI}" -a "${ABI}" != "NOMULTILIB" ]; then |
1000 |
mv ${WORKDIR} ${WORKDIR}.${ABI} |
1001 |
rm -f ${BUILDDIR}/.abi |
1002 |
fi |
829 |
exit 1 |
1003 |
exit 1 |
830 |
} |
1004 |
} |
831 |
|
1005 |
|
832 |
dyn_compile() { |
1006 |
dyn_compile() { |
833 |
trap "abort_compile" SIGINT SIGQUIT |
1007 |
trap "abort_compile" SIGINT SIGQUIT |
834 |
[ "${CFLAGS-unset}" != "unset" ] && export CFLAGS |
|
|
835 |
[ "${CXXFLAGS-unset}" != "unset" ] && export CXXFLAGS |
836 |
[ "${LIBCFLAGS-unset}" != "unset" ] && export LIBCFLAGS |
837 |
[ "${LIBCXXFLAGS-unset}" != "unset" ] && export LIBCXXFLAGS |
838 |
[ "${LDFLAGS-unset}" != "unset" ] && export LDFLAGS |
839 |
[ "${ASFLAGS-unset}" != "unset" ] && export ASFLAGS |
840 |
|
841 |
[ "${CCACHE_DIR-unset}" != "unset" ] && export CCACHE_DIR |
842 |
[ "${CCACHE_SIZE-unset}" != "unset" ] && export CCACHE_SIZE |
843 |
|
844 |
[ "${DISTCC_DIR-unset}" == "unset" ] && export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc" |
845 |
[ ! -z "${DISTCC_DIR}" ] && addwrite "${DISTCC_DIR}" |
846 |
|
847 |
if hasq noauto $FEATURES &>/dev/null && [ ! -f ${BUILDDIR}/.unpacked ]; then |
1008 |
if hasq noauto $FEATURES &>/dev/null && [ ! -f ${BUILDDIR}/.unpacked ]; then |
848 |
echo |
1009 |
echo |
849 |
echo "!!! We apparently haven't unpacked... This is probably not what you" |
1010 |
echo "!!! We apparently haven't unpacked... This is probably not what you" |
850 |
echo "!!! want to be doing... You are using FEATURES=noauto so I'll assume" |
1011 |
echo "!!! want to be doing... You are using FEATURES=noauto so I'll assume" |
Lines 868-894
dyn_compile() {
Link Here
|
868 |
mkdir build-info |
1029 |
mkdir build-info |
869 |
fi |
1030 |
fi |
870 |
cp "${EBUILD}" "build-info/${PF}.ebuild" |
1031 |
cp "${EBUILD}" "build-info/${PF}.ebuild" |
871 |
|
1032 |
|
872 |
if [ ${BUILDDIR}/.compiled -nt "${WORKDIR}" ]; then |
1033 |
if [ "$(get_abi_order)" = "NOMULTILIB" -a \ |
|
|
1034 |
${BUILDDIR}/.compiled -nt "${WORKDIR}" ]; then |
873 |
echo ">>> It appears that ${PN} is already compiled; skipping." |
1035 |
echo ">>> It appears that ${PN} is already compiled; skipping." |
874 |
echo ">>> (clean to force compilation)" |
1036 |
echo ">>> (clean to force compilation)" |
875 |
trap SIGINT SIGQUIT |
1037 |
trap SIGINT SIGQUIT |
876 |
return |
1038 |
return |
877 |
fi |
1039 |
fi |
878 |
if [ -d "${S}" ]; then |
1040 |
|
879 |
cd "${S}" |
1041 |
for ABI in $(get_abi_order); do |
880 |
fi |
1042 |
if [ "${ABI}" = "NOMULTILIB" ]; then |
881 |
#our custom version of libtool uses $S and $D to fix |
1043 |
unset ABI |
882 |
#invalid paths in .la files |
1044 |
else |
883 |
export S D |
1045 |
set_abi ${ABI} |
884 |
#some packages use an alternative to $S to build in, cause |
1046 |
|
885 |
#our libtool to create problematic .la files |
1047 |
if [ ${BUILDDIR}/.compiled.${ABI} -nt "${WORKDIR}" ]; then |
886 |
export PWORKDIR="$WORKDIR" |
1048 |
echo ">>> It appears that ${PN} is already compiled for ABI=${ABI}; skipping." |
887 |
src_compile |
1049 |
echo ">>> (clean to force compilation)" |
|
|
1050 |
continue |
1051 |
fi |
1052 |
fi |
1053 |
|
1054 |
[ "${CFLAGS-unset}" != "unset" ] && export CFLAGS |
1055 |
[ "${CXXFLAGS-unset}" != "unset" ] && export CXXFLAGS |
1056 |
[ "${LIBCFLAGS-unset}" != "unset" ] && export LIBCFLAGS |
1057 |
[ "${LIBCXXFLAGS-unset}" != "unset" ] && export LIBCXXFLAGS |
1058 |
[ "${LDFLAGS-unset}" != "unset" ] && export LDFLAGS |
1059 |
[ "${ASFLAGS-unset}" != "unset" ] && export ASFLAGS |
1060 |
|
1061 |
[ "${CCACHE_DIR-unset}" != "unset" ] && export CCACHE_DIR |
1062 |
[ "${CCACHE_SIZE-unset}" != "unset" ] && export CCACHE_SIZE |
1063 |
|
1064 |
[ "${DISTCC_DIR-unset}" == "unset" ] && export DISTCC_DIR="${PORTAGE_TMPDIR}/.distcc" |
1065 |
[ ! -z "${DISTCC_DIR}" ] && addwrite "${DISTCC_DIR}" |
1066 |
|
1067 |
#our custom version of libtool uses $S and $D to fix |
1068 |
#invalid paths in .la files |
1069 |
export S D |
1070 |
#some packages use an alternative to $S to build in, cause |
1071 |
#our libtool to create problematic .la files |
1072 |
export PWORKDIR="${WORKDIR}" |
1073 |
|
1074 |
if [ -d "${S}" ]; then |
1075 |
cd "${S}" |
1076 |
fi |
1077 |
src_compile |
1078 |
|
1079 |
if [ "${ABI}" != "NOMULTILIB" ]; then |
1080 |
cd "${BUILDDIR}" |
1081 |
touch .compiled.${ABI} || die "IO Failure -- Failed to 'touch .compiled.${ABI}'" |
1082 |
fi |
1083 |
done |
1084 |
unset_abi |
1085 |
unset ABI |
1086 |
|
888 |
#|| abort_compile "fail" |
1087 |
#|| abort_compile "fail" |
889 |
cd "${BUILDDIR}" |
1088 |
cd "${BUILDDIR}" |
890 |
touch .compiled |
1089 |
touch .compiled || "IO Failure -- Failed to 'touch .compiled'" |
891 |
cd build-info |
1090 |
cd build-info |
892 |
|
1091 |
|
893 |
echo "$ASFLAGS" > ASFLAGS |
1092 |
echo "$ASFLAGS" > ASFLAGS |
894 |
echo "$CATEGORY" > CATEGORY |
1093 |
echo "$CATEGORY" > CATEGORY |
Lines 919-926
dyn_compile() {
Link Here
|
919 |
echo "$RESTRICT" > RESTRICT |
1118 |
echo "$RESTRICT" > RESTRICT |
920 |
echo "$SLOT" > SLOT |
1119 |
echo "$SLOT" > SLOT |
921 |
echo "$USE" > USE |
1120 |
echo "$USE" > USE |
922 |
|
1121 |
|
|
|
1122 |
if [ "$(get_abi_order)" != "NOMULTILIB" ]; then |
1123 |
echo "$(get_abi_order)" > MULTILIB_ABIS |
1124 |
fi |
1125 |
|
923 |
set > environment |
1126 |
set > environment |
924 |
export -p | sed 's:declare -rx:declare -x:' >> environment |
1127 |
export -p | sed 's:declare -rx:declare -x:' >> environment |
925 |
bzip2 -9 environment |
1128 |
bzip2 -9 environment |
926 |
|
1129 |
|
Lines 952-969
dyn_package() {
Link Here
|
952 |
|
1155 |
|
953 |
|
1156 |
|
954 |
dyn_test() { |
1157 |
dyn_test() { |
955 |
trap "abort_test" SIGINT SIGQUIT |
1158 |
trap "abort_test" SIGINT SIGQUIT |
956 |
if [ -d "${S}" ]; then |
|
|
957 |
cd "${S}" |
958 |
fi |
959 |
if hasq maketest $RESTRICT; then |
1159 |
if hasq maketest $RESTRICT; then |
960 |
ewarn "Skipping make test/check due to ebuild restriction." |
1160 |
ewarn "Skipping make test/check due to ebuild restriction." |
961 |
echo ">>> Test phase [explicitly disabled]: ${CATEGORY}/${PF}" |
1161 |
echo ">>> Test phase [explicitly disabled]: ${CATEGORY}/${PF}" |
962 |
elif ! hasq maketest $FEATURES; then |
1162 |
elif ! hasq maketest $FEATURES; then |
963 |
echo ">>> Test phase [not enabled]: ${CATEGORY}/${PF}" |
1163 |
echo ">>> Test phase [not enabled]: ${CATEGORY}/${PF}" |
964 |
else |
1164 |
else |
965 |
src_test |
1165 |
for ABI in $(get_abi_order); do |
|
|
1166 |
if [ "${ABI}" = "NOMULTILIB" ]; then |
1167 |
unset ABI |
1168 |
else |
1169 |
set_abi ${ABI} |
1170 |
fi |
1171 |
|
1172 |
if [ -d "${S}" ]; then |
1173 |
cd "${S}" |
1174 |
fi |
1175 |
src_test |
1176 |
done |
1177 |
unset_abi |
1178 |
unset ABI |
966 |
fi |
1179 |
fi |
967 |
|
1180 |
|
968 |
cd "${BUILDDIR}" |
1181 |
cd "${BUILDDIR}" |
969 |
touch .tested || die "Failed to 'touch .tested' in ${BUILDDIR}" |
1182 |
touch .tested || die "Failed to 'touch .tested' in ${BUILDDIR}" |
Lines 975-994
dyn_test() {
Link Here
|
975 |
dyn_install() { |
1188 |
dyn_install() { |
976 |
trap "abort_install" SIGINT SIGQUIT |
1189 |
trap "abort_install" SIGINT SIGQUIT |
977 |
rm -rf "${BUILDDIR}/image" |
1190 |
rm -rf "${BUILDDIR}/image" |
978 |
mkdir "${BUILDDIR}/image" |
1191 |
mkdir "${BUILDDIR}/image" |
979 |
if [ -d "${S}" ]; then |
|
|
980 |
cd "${S}" |
981 |
fi |
982 |
echo |
1192 |
echo |
983 |
echo ">>> Install ${PF} into ${D} category ${CATEGORY}" |
1193 |
echo ">>> Install ${PF} into ${D} category ${CATEGORY}" |
984 |
#our custom version of libtool uses $S and $D to fix |
1194 |
|
985 |
#invalid paths in .la files |
1195 |
for ABI in $(get_abi_order); do |
986 |
export S D |
1196 |
if [ "${ABI}" = "NOMULTILIB" ]; then |
987 |
#some packages uses an alternative to $S to build in, cause |
1197 |
unset ABI |
988 |
#our libtool to create problematic .la files |
1198 |
else |
989 |
export PWORKDIR="$WORKDIR" |
1199 |
set_abi ${ABI} |
990 |
src_install |
1200 |
fi |
|
|
1201 |
|
1202 |
#our custom version of libtool uses $S and $D to fix |
1203 |
#invalid paths in .la files |
1204 |
export S D |
1205 |
#some packages uses an alternative to $S to build in, cause |
1206 |
#our libtool to create problematic .la files |
1207 |
export PWORKDIR="${WORKDIR}" |
1208 |
|
1209 |
if [ -d "${S}" ]; then |
1210 |
cd "${S}" |
1211 |
fi |
1212 |
src_install |
1213 |
done |
1214 |
unset_abi |
1215 |
unset ABI |
1216 |
|
991 |
#|| abort_install "fail" |
1217 |
#|| abort_install "fail" |
992 |
prepall |
1218 |
prepall |
993 |
cd "${D}" |
1219 |
cd "${D}" |
994 |
|
1220 |
|
Lines 1829-1839
for myarg in $*; do
Link Here
|
1829 |
done |
2055 |
done |
1830 |
|
2056 |
|
1831 |
if [ "$myarg" != "clean" ]; then |
2057 |
if [ "$myarg" != "clean" ]; then |
1832 |
# Save current environment and touch a success file. (echo for success) |
2058 |
# Save current environment and touch a success file. (echo for success) |
1833 |
umask 002 |
2059 |
save_env |
1834 |
set | egrep -v "^SANDBOX_" > "${T}/environment" 2>/dev/null |
|
|
1835 |
chown portage:portage "${T}/environment" &>/dev/null |
1836 |
chmod g+w "${T}/environment" &>/dev/null |
1837 |
fi |
2060 |
fi |
1838 |
|
2061 |
|
1839 |
exit 0 |
2062 |
exit 0 |