Change so that packages are installed into $TERMUX_PKG_MASSAGEDIR
Makes it possible to `make` packages as normal and then `make install` into an empty $PREFIX in $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX by setting DESTDIR=$TERMUX_PKG_MASSAGEDIR. The installed files can then be packaged into a deb as when cross-compiling.
This commit is contained in:
parent
016dd57e9c
commit
3456e0b128
|
@ -31,18 +31,6 @@ source "$TERMUX_SCRIPTDIR/scripts/utils/package/package.sh"
|
|||
SOURCE_DATE_EPOCH=$(git log -1 --pretty=%ct 2>/dev/null || date "+%s")
|
||||
export SOURCE_DATE_EPOCH
|
||||
|
||||
if [ "$(uname -o)" = "Android" ] || [ -e "/system/bin/app_process" ]; then
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
echo "On-device execution of this script as root is disabled."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This variable tells all parts of build system that build
|
||||
# is performed on device.
|
||||
export TERMUX_ON_DEVICE_BUILD=true
|
||||
else
|
||||
export TERMUX_ON_DEVICE_BUILD=false
|
||||
fi
|
||||
|
||||
# Automatically enable offline set of sources and build tools.
|
||||
# Offline termux-packages bundle can be created by executing
|
||||
|
@ -59,6 +47,19 @@ fi
|
|||
|
||||
export TERMUX_PACKAGES_DIRECTORIES=$(jq --raw-output 'keys | .[]' ${TERMUX_SCRIPTDIR}/repo.json)
|
||||
|
||||
if [ "$(uname -o)" = "Android" ] || [ -e "/system/bin/app_process" ]; then
|
||||
if [ "$(id -u)" = "0" ]; then
|
||||
echo "On-device execution of this script as root is disabled."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# This variable tells all parts of build system that build
|
||||
# is performed on device.
|
||||
export TERMUX_ON_DEVICE_BUILD=true
|
||||
else
|
||||
export TERMUX_ON_DEVICE_BUILD=false
|
||||
fi
|
||||
|
||||
# Special variable for internal use. It forces script to ignore
|
||||
# lock file.
|
||||
: "${TERMUX_BUILD_IGNORE_LOCK:=false}"
|
||||
|
@ -601,8 +602,10 @@ for ((i=0; i<${#PACKAGE_LIST[@]}; i++)); do
|
|||
termux_step_post_make_install
|
||||
termux_step_install_service_scripts
|
||||
termux_step_install_license
|
||||
cd "$TERMUX_PKG_MASSAGEDIR"
|
||||
termux_step_extract_into_massagedir
|
||||
if [ "$TERMUX_ON_DEVICE_BUILD" = "false" ]; then
|
||||
cd "$TERMUX_PKG_MASSAGEDIR"
|
||||
termux_step_extract_into_massagedir
|
||||
fi
|
||||
termux_step_massage
|
||||
cd "$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX"
|
||||
termux_step_post_massage
|
||||
|
|
|
@ -48,8 +48,8 @@ termux_step_configure_cmake() {
|
|||
-DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=ONLY \
|
||||
-DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
|
||||
-DCMAKE_INSTALL_PREFIX=$TERMUX_PREFIX \
|
||||
-DCMAKE_INSTALL_LIBDIR=$TERMUX_PREFIX/lib \
|
||||
-DCMAKE_INSTALL_PREFIX=$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX \
|
||||
-DCMAKE_INSTALL_LIBDIR=$TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX/lib \
|
||||
-DCMAKE_MAKE_PROGRAM=$MAKE_PROGRAM_PATH \
|
||||
-DCMAKE_SKIP_INSTALL_RPATH=ON \
|
||||
-DCMAKE_USE_SYSTEM_LIBRARIES=True \
|
||||
|
|
|
@ -12,7 +12,7 @@ termux_step_configure_meson() {
|
|||
$TERMUX_PKG_SRCDIR \
|
||||
$TERMUX_PKG_BUILDDIR \
|
||||
--cross-file $TERMUX_MESON_CROSSFILE \
|
||||
--prefix $TERMUX_PREFIX \
|
||||
--prefix $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX \
|
||||
--libdir lib \
|
||||
--buildtype ${_meson_buildtype} \
|
||||
${_meson_stripflag} \
|
||||
|
|
|
@ -16,11 +16,7 @@ termux_step_make_install() {
|
|||
elif ls ./*akefile &>/dev/null || [ -n "$TERMUX_PKG_EXTRA_MAKE_ARGS" ]; then
|
||||
: "${TERMUX_PKG_MAKE_INSTALL_TARGET:="install"}"
|
||||
# Some packages have problem with parallell install, and it does not buy much, so use -j 1.
|
||||
if [ -z "$TERMUX_PKG_EXTRA_MAKE_ARGS" ]; then
|
||||
make -j 1 ${TERMUX_PKG_MAKE_INSTALL_TARGET}
|
||||
else
|
||||
make -j 1 ${TERMUX_PKG_EXTRA_MAKE_ARGS} ${TERMUX_PKG_MAKE_INSTALL_TARGET}
|
||||
fi
|
||||
make -j 1 ${TERMUX_PKG_EXTRA_MAKE_ARGS} ${TERMUX_PKG_MAKE_INSTALL_TARGET} DESTDIR=$TERMUX_PKG_MASSAGEDIR
|
||||
elif test -f Cargo.toml; then
|
||||
termux_setup_rust
|
||||
cargo install \
|
||||
|
@ -30,7 +26,7 @@ termux_step_make_install() {
|
|||
--locked \
|
||||
--no-track \
|
||||
--target $CARGO_TARGET_NAME \
|
||||
--root $TERMUX_PREFIX \
|
||||
--root $TERMUX_PKG_MASSAGEDIR/$TERMUX_PREFIX \
|
||||
$TERMUX_PKG_EXTRA_CONFIGURE_ARGS
|
||||
fi
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue