From 85462a0042497cd863a102f04aad3bef52935a72 Mon Sep 17 00:00:00 2001 From: Leonid Pliushch Date: Fri, 16 Aug 2019 23:19:11 +0300 Subject: [PATCH] build-package.sh: use absolute paths when sourcing parts from scripts/build/ + some fixes for shellcheck. --- build-package.sh | 99 ++++++++++++++++++++++++++++++++---------------- 1 file changed, 66 insertions(+), 33 deletions(-) diff --git a/build-package.sh b/build-package.sh index 661673b79..16a4464bf 100755 --- a/build-package.sh +++ b/build-package.sh @@ -34,49 +34,64 @@ fi : "${TERMUX_BUILD_IGNORE_LOCK:=false}" # Utility function to log an error message and exit with an error code. -source scripts/build/termux_error_exit.sh +# shellcheck source=scripts/build/termux_error_exit.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_error_exit.sh" # Utility function to download a resource with an expected checksum. -source scripts/build/termux_download.sh +# shellcheck source=scripts/build/termux_download.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_download.sh" # Utility function for golang-using packages to setup a go toolchain. -source scripts/build/setup/termux_setup_golang.sh +# shellcheck source=scripts/build/setup/termux_setup_golang.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_golang.sh" # Utility function for rust-using packages to setup a rust toolchain. -source scripts/build/setup/termux_setup_rust.sh +# shellcheck source=scripts/build/setup/termux_setup_rust.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_rust.sh" # Utility function to setup a current ninja build system. -source scripts/build/setup/termux_setup_ninja.sh +# shellcheck source=scripts/build/setup/termux_setup_ninja.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_ninja.sh" # Utility function to setup a current meson build system. -source scripts/build/setup/termux_setup_meson.sh +# shellcheck source=scripts/build/setup/termux_setup_meson.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_meson.sh" # Utility function to setup a current cmake build system -source scripts/build/setup/termux_setup_cmake.sh +# shellcheck source=scripts/build/setup/termux_setup_cmake.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_cmake.sh" # Utility function to setup protobuf: -source scripts/build/setup/termux_setup_protobuf.sh +# shellcheck source=scripts/build/setup/termux_setup_protobuf.sh +source "$TERMUX_SCRIPTDIR/scripts/build/setup/termux_setup_protobuf.sh" # Setup variables used by the build. Not to be overridden by packages. -source scripts/build/termux_step_setup_variables.sh +# shellcheck source=scripts/build/termux_step_setup_variables.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_setup_variables.sh" # Save away and restore build setups which may change between builds. -source scripts/build/termux_step_handle_buildarch.sh +# shellcheck source=scripts/build/termux_step_handle_buildarch.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_handle_buildarch.sh" # Function to get TERMUX_PKG_VERSION from build.sh -source scripts/build/termux_extract_dep_info.sh +# shellcheck source=scripts/build/termux_extract_dep_info.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_extract_dep_info.sh" # Function that downloads a .deb (using the termux_download function) -source scripts/build/termux_download_deb.sh +# shellcheck source=scripts/build/termux_download_deb.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_download_deb.sh" # Script to download InRelease, verify it's signature and then download Packages.xz by hash -source scripts/build/termux_get_repo_files.sh +# shellcheck source=scripts/build/termux_get_repo_files.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_get_repo_files.sh" # Source the package build script and start building. No to be overridden by packages. -source scripts/build/termux_step_start_build.sh +# shellcheck source=scripts/build/termux_step_start_build.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_start_build.sh" # Run just after sourcing $TERMUX_PKG_BUILDER_SCRIPT. May be overridden by packages. -source scripts/build/termux_step_extract_package.sh +# shellcheck source=scripts/build/termux_step_extract_package.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_extract_package.sh" # Hook for packages to act just after the package has been extracted. # Invoked in $TERMUX_PKG_SRCDIR. @@ -85,20 +100,25 @@ termux_step_post_extract_package() { } # Optional host build. Not to be overridden by packages. -source scripts/build/termux_step_handle_hostbuild.sh +# shellcheck source=scripts/build/termux_step_handle_hostbuild.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_handle_hostbuild.sh" # Perform a host build. Will be called in $TERMUX_PKG_HOSTBUILD_DIR. # After termux_step_post_extract_package() and before termux_step_patch_package() -source scripts/build/termux_step_host_build.sh +# shellcheck source=scripts/build/termux_step_host_build.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_host_build.sh" # Setup a standalone Android NDK toolchain. Not to be overridden by packages. -source scripts/build/termux_step_setup_toolchain.sh +# shellcheck source=scripts/build/termux_step_setup_toolchain.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_setup_toolchain.sh" # Apply all *.patch files for the package. Not to be overridden by packages. -source scripts/build/termux_step_patch_package.sh +# shellcheck source=scripts/build/termux_step_patch_package.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_patch_package.sh" # Replace autotools build-aux/config.{sub,guess} with ours to add android targets. -source scripts/build/termux_step_replace_guess_scripts.sh +# shellcheck source=scripts/build/termux_step_replace_guess_scripts.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_replace_guess_scripts.sh" # For package scripts to override. Called in $TERMUX_PKG_BUILDDIR. termux_step_pre_configure() { @@ -106,16 +126,20 @@ termux_step_pre_configure() { } # Setup configure args and run $TERMUX_PKG_SRCDIR/configure. This function is called from termux_step_configure -source scripts/build/configure/termux_step_configure_autotools.sh +# shellcheck source=scripts/build/configure/termux_step_configure_autotools.sh +source "$TERMUX_SCRIPTDIR/scripts/build/configure/termux_step_configure_autotools.sh" # Setup configure args and run cmake. This function is called from termux_step_configure -source scripts/build/configure/termux_step_configure_cmake.sh +# shellcheck source=scripts/build/configure/termux_step_configure_cmake.sh +source "$TERMUX_SCRIPTDIR/scripts/build/configure/termux_step_configure_cmake.sh" # Setup configure args and run meson. This function is called from termux_step_configure -source scripts/build/configure/termux_step_configure_meson.sh +# shellcheck source=scripts/build/configure/termux_step_configure_meson.sh +source "$TERMUX_SCRIPTDIR/scripts/build/configure/termux_step_configure_meson.sh" # Configure the package -source scripts/build/configure/termux_step_configure.sh +# shellcheck source=scripts/build/configure/termux_step_configure.sh +source "$TERMUX_SCRIPTDIR/scripts/build/configure/termux_step_configure.sh" # Hook for packages after configure step termux_step_post_configure() { @@ -123,10 +147,12 @@ termux_step_post_configure() { } # Make package, either with ninja or make -source scripts/build/termux_step_make.sh +# shellcheck source=scripts/build/termux_step_make.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_make.sh" # Make install, either with ninja, make of cargo -source scripts/build/termux_step_make_install.sh +# shellcheck source=scripts/build/termux_step_make_install.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_make_install.sh" # Hook function for package scripts to override. termux_step_post_make_install() { @@ -134,16 +160,20 @@ termux_step_post_make_install() { } # Link/copy the LICENSE for the package to $TERMUX_PREFIX/share/$TERMUX_PKG_NAME/ -source scripts/build/termux_step_install_license.sh +# shellcheck source=scripts/build/termux_step_install_license.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_install_license.sh" # Function to cp (through tar) installed files to massage dir -source scripts/build/termux_step_extract_into_massagedir.sh +# shellcheck source=scripts/build/termux_step_extract_into_massagedir.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_extract_into_massagedir.sh" # Create all subpackages. Run from termux_step_massage -source scripts/build/termux_create_subpackages.sh +# shellcheck source=scripts/build/termux_create_subpackages.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_create_subpackages.sh" # Function to run various cleanup/fixes -source scripts/build/termux_step_massage.sh +# shellcheck source=scripts/build/termux_step_massage.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_massage.sh" # Hook for packages after massage step termux_step_post_massage() { @@ -151,7 +181,8 @@ termux_step_post_massage() { } # Create data.tar.gz with files to package. Not to be overridden by package scripts. -source scripts/build/termux_step_create_datatar.sh +# shellcheck source=scripts/build/termux_step_create_datatar.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_create_datatar.sh" # Hook function to create {pre,post}install, {pre,post}rm-scripts and similar termux_step_create_debscripts() { @@ -159,10 +190,12 @@ termux_step_create_debscripts() { } # Create the build deb file. Not to be overridden by package scripts. -source scripts/build/termux_step_create_debfile.sh +# shellcheck source=scripts/build/termux_step_create_debfile.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_create_debfile.sh" # Finish the build. Not to be overridden by package scripts. -source scripts/build/termux_step_finish_build.sh +# shellcheck source=scripts/build/termux_step_finish_build.sh +source "$TERMUX_SCRIPTDIR/scripts/build/termux_step_finish_build.sh" ################################################################################