Commit Graph

497 Commits

Author SHA1 Message Date
Henrik Grimler
2c70621a98 build-package: rename TERMUX_DEBUG to TERMUX_DEBUG_BUILD
To make it more self-explanatory.
2021-08-21 20:55:57 +02:00
Leonid Pliushch
90e2de6fcc
build-package.sh: add hook to prevent execution of sudo
Do not let privileged commands appear in build.sh. Any environment
configuration should be done by scripts like setup-ubuntu.sh. Execution
of arbitrary sudo commands could mess up host system, in case if not
building package in Docker container or VM.
2021-07-07 23:27:54 +03:00
Leonid Pliushch
3337b9ffee
build-package.sh: compatibility with "reproducible builds"
Though git method of getting persistent timestamp won't work in submodules
and snapshots and will fallback to current date.
2021-05-19 13:19:23 +03:00
Leonid Pliushch
c9664c11ba
build-package.sh: never use git outside of package build process.
termux-packages is not guaranteed to be always used as git repository.
Relying on git here may lead to issues.

P.S. Avoid unfinished work on master branch!
2021-05-19 13:12:27 +03:00
Henrik Grimler
b3b5a3f35f mv checks from termux_step_create_datatar to termux_step_massage
By moving the checks we can make the function more general, and
thereby re-use it for creating subpackages and potentially hostbuild
tools packages.

tests: building libandroid-support and build-essential.
2021-05-16 20:08:37 +02:00
Lucy Phipps
d5313fab26
get SOURCE_DATE_EPOCH from git log time
start of work towards reproducible builds
2021-05-11 20:36:23 +01:00
Leonid Pliushch
501ce516cd misc hardcoded home/prefix fixes 2020-10-30 22:48:55 +02:00
Leonid Pliushch
47eca5ed01 build-package.sh: enable offline mode when file ./build-tools/.installed is present
Once ./scripts/setup-offline-bundle.sh was executed, all sources and build tools
should be downloaded and build-package.sh should be able to use them.
2020-10-23 01:57:33 +03:00
Henrik Grimler
bafdf9d9c0 Rename termux_extract_src_archive to termux_unpack_src_archive
%ci:no-build
2020-07-21 20:09:38 +02:00
Henrik Grimler
b474395f89 build-package.sh: spaces->tab 2020-07-21 10:22:55 +02:00
Henrik Grimler
4e902a41a5 building packages: create termux_step_get_source function
Calls termux_git_clone_src if TERMUX_PKG_SRCURL ends with .git, and
termux_download_src_archive and termux_extract_src_archive otherwise.
termux_step_extract_package has been split up into the latter two
functions.

termux_step_post_extract_package has been renamed to
termux_step_post_get_source to reflect these changes.
2020-07-21 10:14:00 +02:00
Leonid Pliushch
2f58b9f435 build-package.sh: add function for setting up GHC 2020-06-20 22:44:13 +03:00
Leonid Pliushch
64ee31c9dc build-package.sh: fix unbound variable error 2020-03-23 23:45:11 +02:00
Leonid Pliushch
2f5b36deb4 build-package.sh: attempt to fix gpg when no tty available 2020-03-21 23:03:43 +02:00
Leonid Pliushch
d523f61477 build-package.sh: verify release files with gpg when doing autobuilds (#5062) 2020-03-21 16:30:02 +02:00
Henrik Grimler
dbeeaef9c9 build-package: add new function termux_step_create_subpkg_debscripts (#4963)
Makes it possible to create postinst scripts and similar or subpackages as well
2020-02-23 21:30:44 +01:00
Henrik Grimler
ab2a3b70f0 build-package.sh: add TERMUX_PKG_SERVICE_SCRIPT var and build script
termux_step_install_service_scripts is run after
termux_step_post_make_install and loops over the new array
TERMUX_PKG_SERVICE_SCRIPT to add service scripts for termux-services.

The service scripts are usually only a one-liner so we might just as
well define it in a variable like TERMUX_PKG_SERVICE_SCRIPT.

TERMUX_PKG_SERVICE_SCRIPT should be an array on the format
("daemon-name" 'script to execute' "another daemon" 'multi\n line\n script'),
i.e. it should be of even length with name + script where the script
part preferably is within single quotes (to avoid accidental expansion
of for example $HOME).
2020-01-05 15:00:15 +01:00
Leonid Pliushch
85462a0042 build-package.sh: use absolute paths when sourcing parts from scripts/build/
+ some fixes for shellcheck.
2019-08-16 23:19:11 +03:00
Leonid Pliushch
18af9577f4 build-package.sh: allow script to be called from any directory 2019-08-16 22:52:18 +03:00
Leonid Pliushch
52ceb56d3f build-package.sh: more fixes 2019-08-13 02:03:52 +03:00
Leonid Pliushch
d08dc0fa13 build-package.sh: use text-based comparsion in conditionals instead of exit-code based 2019-08-13 02:03:47 +03:00
Leonid Pliushch
c352216c63 packages: standardize values of several control variables for build.sh
Variables

 TERMUX_PKG_PLATFORM_INDEPENDENT
 TERMUX_DEBUG
 TERMUX_PKG_HAS_DEBUG
 TERMUX_PKG_ESSENTIAL
 TERMUX_SUBPKG_ESSENTIAL
 TERMUX_PKG_NO_STATICSPLIT
 TERMUX_PKG_BUILD_IN_SRC
 TERMUX_PKG_FORCE_CMAKE
 TERMUX_PKG_HOSTBUILD

should not accept arbitrary values for marking them "enabled". Instead
they should accept boolean values which makes them easier to handle and
also makes their meaning clear.

build-package.sh should make decision based on variable's value but not on
whether it is set or empty.

%ci:no-build
2019-08-12 18:49:13 +03:00
Leonid Pliushch
56ca0f1d06 build-package.sh: for on-device builds value of TERMUX_ARCH should not be overridable
This should be allowed only when cross-compiling.
2019-08-10 01:13:25 +03:00
Leonid Pliushch
ba62c10575 build-package.sh: source properties.sh before handling command line arguments
Fixes problem when it is not possible to override TERMUX_ARCH set in ~/.termuxrc.
2019-08-10 01:04:46 +03:00
Leonid Pliushch
e303212ae5 enable on-device builds
Partial compatibility for on-device builds.

There is no guarantee that it will be possible to build all available
packages and built packages will have same reliability that cross-compiled
but should solve "self-hosting" problems as much as possible.
2019-08-08 16:58:34 +03:00
Leonid Pliushch
4aaba4d074 build-package.sh: allow to build multiple packages at one time
Support for call syntax:

 ./build-package.sh pkg1 pkg2 pkg3 ...
2019-07-20 15:32:54 +03:00
Henrik Grimler
9e4715ee82 build-package: termux_step_license->termux_step_instalL_license 2019-05-19 21:36:30 +03:00
Henrik Grimler
117ecbfb88 build-package: install licenses to $PREFIX/share/$PKG/LICENSE 2019-05-19 21:36:30 +03:00
Fredrik Fornwall
503c204164 protobuf: Update from 3.6.1 to 3.7.1 2019-05-12 00:22:25 +02:00
Leonid Pliushch
918a383d4d build-package.sh: make sure that termux_error_exit() is defined before throwing any errors 2019-04-20 17:28:39 +03:00
Leonid Pliushch
5ec5a1a314 build-package.sh: fix printing of error message when trying to run script on Android device 2019-03-26 01:27:09 +02:00
Henrik Grimler
d30227669f build-package: mv code for creating subpackages to new file 2019-03-07 20:35:32 +01:00
Leonid Pliushch
44d28f9f88 build-package.sh: prevent parallel runs in the same environment
Avoid corruption of the build environment if build-package.sh was
executed in 2 parallel sessions.
2019-03-06 17:01:19 +02:00
Leonid Pliushch
3d5d3958a0 build-package.sh: fix sourcing of renamed script 2019-03-03 13:32:22 +02:00
Henrik Grimler
531956ce02 build-package: call termux_get_repo_files in termux_step start_build
Prevents unnecessary re-downloads of repo files.
2019-03-03 13:27:47 +02:00
Henrik Grimler
379f2452f3 build-package: remove termux_step_compare_debs 2019-03-03 01:40:22 +02:00
Henrik Grimler
414820e2d3 build-package.sh: add short descriptions for package hooks 2019-02-27 21:59:08 +02:00
Henrik Grimler
67d79e8b92 build-package: mv termux_step_finish_build to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
90138a3a69 build-package: mv termux_step_compare_debs to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
8be8c3a2d6 build-package: mv termux_step_create_debfile to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
586e8709fd build-package: mv termux_step_create_datatar to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
a30a61d417 build-package: mv termux_step_massage to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
9f5ba4bcc6 build-package: mv termux_step_extract_into_massagedir to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
617764f4f4 build-package: mv termux_step_make_install to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
d0db5e647b build-package: mv termux_step_make to scripts/build/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
46f4e306fd build-package: mv termux_step_configure to scripts/build/configure/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
9e04fe1434 build-package: mv termux_step_configure_meson to scripts/build/configure/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
74f09e886b build-package: mv termux_step_configure_cmake to scripts/build/configure/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
0bb1da3146 build-package: mv termux_step_configure_autotools to scripts/build/configure/ 2019-02-27 21:59:08 +02:00
Henrik Grimler
38d3f22377 build-package: mv termux_step_replace_guess_scripts to scripts/build 2019-02-27 21:59:08 +02:00