Commit Graph

490 Commits

Author SHA1 Message Date
Fredrik Fornwall 683301b678 golang: Update from 1.13.5 to 1.13.6 2020-01-09 23:48:39 +01:00
Henrik Grimler 54baabcffe termux_step_install_service_scripts: log services should be enabled 2020-01-08 19:58:42 +01:00
Leonid Pliushch 99236ea338 setup scripts: do not use sudo if already running under root
Reworked variant of https://github.com/termux/termux-packages/pull/4753.
2020-01-06 18:33:55 +02:00
Henrik Grimler 1716ee981b termux_step_install_service_scripts: allow <service>/log to be overwritten
Transmission needs a custom log/run script, this allows us to define
it in $TERMUX_PKG_SERVICE_SCRIPT.
2020-01-05 15:56:26 +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 b20be8a115 docker image: install locales and configure en_US.UTF-8 as default 2020-01-04 00:19:59 +02:00
Leonid Pliushch 729a737a49 build-package.sh: move golang variable configuration to termux_step_setup_toolchain.sh
Allow to use termux_setup_golang.sh for host builds.
2020-01-03 23:39:54 +02:00
Leonid Pliushch 8bdbfa05ce scripts/setup-termux.sh: install asciidoctor 2020-01-01 17:40:07 +02:00
Fredrik Fornwall b34c8fb32b Force toolchain update after ifaddrs.h and syslog.h changes 2019-12-29 23:53:09 +01:00
Leonid Pliushch 978358cfa3 Merge pull request #4639 from buttaface/headers
ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills
2019-12-29 20:35:46 +02:00
Leonid Pliushch c6abaa5b79 libprotobuf: update to 3.11.2 2019-12-21 20:49:55 +02:00
Leonid Pliushch c8937aeade cmake: update to 3.16.2 2019-12-21 18:10:44 +02:00
Leonid Pliushch 75af2da554 reformat scripts/build/termux_step_setup_toolchain.sh 2019-12-13 23:57:01 +02:00
Leonid Pliushch ce0707260d build-package.sh: fix copy-paste typo
clang & clang++ wrappers were copied to same file
2019-12-13 23:49:41 +02:00
Fredrik Fornwall 9f89ac3b20 cmake: Update from 3.15.5 to 3.16.1 2019-12-12 00:42:43 +01:00
Butta 60e9d47df0 ndk-patches: use upstream ifaddrs.h and remove old syslog.h polyfills 2019-12-08 19:57:10 +05:30
Fredrik Fornwall f317c7cf7d protobuf: Update from 3.9.1 to 3.11.1 2019-12-05 23:58:28 +01:00
Fredrik Fornwall 0533835564 golang: Update from 1.13.4 to 1.13.5 2019-12-05 23:29:18 +01:00
Leonid Pliushch 21f62c34a2 docker image: install libltdl-dev and libsigsegv-dev 2019-12-01 22:49:47 +02:00
Leonid Pliushch 797861b2c5 docker image: install zip 2019-12-01 22:07:09 +02:00
Leonid Pliushch 82285727fb docker image: install groff 2019-12-01 19:33:55 +02:00
Fredrik Fornwall 64c43ced87 meson build system: Update from 0.52.0 to 0.52.1 2019-12-01 17:59:39 +01:00
Fredrik Fornwall 1237a43b9c meson build system: Update from 0.50.1 to 0.52.0 2019-11-24 20:26:06 +01:00
Fredrik Fornwall eb53d8d447 Dockerfile: Update from ubuntu 19.04 to 19.10 2019-11-21 00:36:24 +01:00
Fredrik Fornwall b40b0bc2aa golang: Update from 1.13.3 to 1.13.4 2019-11-21 00:01:01 +01:00
Leonid Pliushch 0cdb3bcf5e docker image: install python3.8 2019-11-17 21:26:50 +02:00
Leonid Pliushch ddf7066863 build-package.sh: fix url for unstable & x11 packages 2019-11-17 14:56:25 +02:00
Leonid Pliushch 783069ef67 Revert "Shrink docker image (#3362)"
Breaks patching of headers.

This reverts commit 53c281c5e4d947fdf0b0b0f32f60ce826c8dfb26.
2019-11-10 17:15:33 +02:00
Wetitpig 83796081a9 Shrink docker image (#3362)
* Docker rm Android NDK Version 16-19

* Docker remove vulkan and shaderc too

* Docker remove duplicate files

* Separate Docker clean script

* Docker remove templates

* Docker bz2 large notices

* Docker try symlinks

* Docker preserve some SDK Libraries

* Docker rm fonts and resources from platforms

* Docker source properties.sh
2019-11-10 16:41:19 +02:00
Fredrik Fornwall b998132903 cmake: Update from 3.15.3 to 3.15.5 2019-11-03 23:01:21 +01:00
its-pointless a60fb05042 lldb fixes (#4468) 2019-10-28 12:47:55 +02:00
its-pointless b6980935d4 experiment generating llvm-config 2019-10-26 16:46:24 +11:00
Leonid Pliushch b26b2b19e6 CI: remove rust from excluded packages 2019-10-25 14:26:32 +03:00
Leonid Pliushch 410b0e1223 build-package.sh: cargo should use $TERMUX_MAKE_PROCESSES for max amount of build jobs 2019-10-24 19:37:22 +03:00
Leonid Pliushch 4cbeb565e2 golang: update to 1.13.3 2019-10-18 15:11:11 +03:00
Fredrik Fornwall 0e0d92a66c golang: Update from 1.13 to 1.13.1 2019-09-29 03:04:25 +02:00
Leonid Pliushch 8eae28c153 Revert "docker image: install libossp-uuid-dev"
libossp-uuid-dev is not needed since we are not going to build
swi-prolog documentation currently.

This reverts commit e8fe70fc9067ab2911f7e9e366fa670f897af669.
2019-09-28 14:18:28 +03:00
Fredrik Fornwall 6ce565092c Update android build tools to 29.0.2 2019-09-25 23:12:33 +02:00
Leonid Pliushch 8fd96ae07a docker image: install libossp-uuid-dev 2019-09-24 22:17:05 +03:00
Fredrik Fornwall 937b78d0c4 Define __TERMUX__ and __TERMUX_PREFIX__
By defining __TERMUX__ and __TERMUX_PREFIX__ in <sys/cdefs.h> (which is
basically always included) one can more easily target Termux
specifically, both when cross-compiling packages and when code is built
on-device.
2019-09-19 21:34:04 +02:00
Leonid Pliushch 30301b55a6 build-package.sh: fix checksum in termux_setup_protobuf.sh 2019-09-18 17:23:59 +03:00
Leonid Pliushch f7195017cc docker image: install bsdmainutils 2019-09-16 15:07:36 +03:00
Leonid Pliushch 243806a00c CI: exclude "lldb" from autobuilds 2019-09-13 12:38:56 +03:00
Fredrik Fornwall 34ef726b09 cmake: Update from 3.15.2 to 3.15.3 2019-09-10 22:51:44 +02:00
Leonid Pliushch 1ce33aba30 CI: switch to file-based cache for passing *.deb files between tasks 2019-09-10 16:09:32 +03:00
Fredrik Fornwall 0a3d65e292 golang: Update from 1.12.8 to 1.13 2019-09-03 21:41:24 +02:00
Leonid Pliushch 89f6b033bd docker image: install pandoc 2019-08-28 15:23:28 +03:00
Fredrik Fornwall 5eaa982ba2 cmake: Update from 3.14.5 to 3.15.2 2019-08-21 13:04:43 +02:00
Leonid Pliushch 7dd8d80884 fix for termux_create_subpackages.sh 2019-08-20 14:53:54 +03:00
Leonid Pliushch 43afcb4b55 golang: allow on-device builds
But it will fail currently anyway to non-pie executables generated in
bootstrap process.
2019-08-19 02:38:29 +03:00
Leonid Pliushch 8facf9f01a scripts/setup-termux.sh: install help2man 2019-08-16 15:39:08 +03:00
Leonid Pliushch c33a3ba6d9 scripts/setup-termux.sh: install asciidoc 2019-08-16 02:51:05 +03:00
Fredrik Fornwall c3e0bf0149 caddy: Update from 1.0.1 to 1.0.3 2019-08-16 00:04:43 +02:00
Leonid Pliushch 1a33848a02 termux-elf-cleaner: update to v1.7 2019-08-15 21:48:07 +03:00
Leonid Pliushch 4e33536d72 build-package.sh: fix detection of static libraries when creating subpackages
Now packages will be split if static libraries are located in subdirectory
of $PREFIX/lib.
2019-08-15 00:03:58 +03:00
Leonid Pliushch 5493481c5c build-package.sh: better support for metapackages 2019-08-14 20:29:58 +03:00
Leonid Pliushch e803bdd3ef CI: trim spaces from modified packages list 2019-08-14 19:59:21 +03:00
Leonid Pliushch ce0a30d684 linter: source ./scripts/properties.sh only if it exists 2019-08-14 15:13:39 +03:00
Leonid Pliushch a4b1f952c1 linter: specify that non-https links are still acceptable
%ci:no-build
2019-08-14 14:59:47 +03:00
Leonid Pliushch 8701462951 add new linter script & fix packages where needed
Linter will check packages submitted for CI build. If error was found,
build will not be allowed.

To ensure that all build.sh scripts are consistent and have at least
minimal allowed quality, linter is permanently enabled for all branches
and pull requests.
2019-08-14 14:27:55 +03:00
Leonid Pliushch cc34b645d8 build-package.sh: fix problem when built packages are not being checked 2019-08-13 22:05:52 +03:00
Leonid Pliushch c14b5e7334 build-package.sh: more fixes for variable checking 2019-08-13 18:44:10 +03:00
Leonid Pliushch 0dba6f512d build-package.sh: set ac_cv_func_posix_spawnp=no for all autotools builds
Reason same as for posix_spawn.
2019-08-13 15:10:07 +03:00
Leonid Pliushch 088d10cd77 build-package.sh: set ac_cv_func_posix_spawn=no for all autotools builds
posix_spawn is not available on Android devices.

While this commit is not necessary for cross-compiling, it is required
when building on-device since there posix_spawn is found somehow. This
produces following errors:

 ./spawn.h:514:17: error: use of undeclared identifier 'POSIX_SPAWN_RESETIDS'
             [(((POSIX_SPAWN_RESETIDS | POSIX_SPAWN_SETPGROUP
2019-08-13 15:02:14 +03:00
Leonid Pliushch ceb385a9a8 build-package.sh: fix metapackage creation
Metapackages shouldn't have data inside.

%ci:reset-backlog
2019-08-13 02:03:59 +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 898cb887ab fix typo in scripts/build/termux_extract_dep_info.sh 2019-08-12 23:48:13 +03:00
Leonid Pliushch b7ace4093d build-package.sh: allow static packages to be in dependencies 2019-08-12 22:50:41 +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 33f341c259 add support for on-device bootstrapping of "make" 2019-08-11 16:03:35 +03:00
Leonid Pliushch e8ccf506a0 scripts/setup-termux.sh: split packages on "tier 1" & "tier 2" groups
And remove packages that are installed with bootstrap archive (essential ones).
2019-08-11 16:03:35 +03:00
Butta 4c735a6580 on-device build: Fix up ncurses and ninja, adjust some setup scripts,
and add dependency info to scripts/setup-termux.sh.
2019-08-11 16:03:35 +03:00
Leonid Pliushch 0b4d758d6d fix typo in termux_step_massage.sh 2019-08-11 03:27:18 +03:00
Leonid Pliushch 4583afe579 build-package.sh: fix error in termux_step_massage() when bin, lib, libexec are not exist
Fixes https://github.com/termux/termux-packages/issues/4160.
2019-08-11 03:24:28 +03:00
Leonid Pliushch c31dad8663 scripts/setup-termux.sh: add missing package 'valac' 2019-08-10 18:56:12 +03:00
Leonid Pliushch 48d257989a build-package.sh: export CC_FOR_BUILD for on-device builds
Required by some packages.
2019-08-10 17:28:08 +03:00
Leonid Pliushch 13f0811d76 build-package.sh: on-device builds without termux-exec are unsupported 2019-08-10 02:01:22 +03:00
Leonid Pliushch a2b2c75806 build-package.sh: for on-device builds use device-specific default value for maintainer 2019-08-10 01:23:17 +03:00
Leonid Pliushch 328a9303bd build-package.sh: prefix and home shouldn't be overridable for on-device builds
And set TERMUX_NO_CLEAN to true for on-device builds as well.
2019-08-10 01:18:42 +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 cda78acbb0 scripts/setup-termux.sh: install binutils-gold
Required by at least ipfs package.
2019-08-08 22:15:02 +03:00
Leonid Pliushch 3b8537b03b scripts/setup-termux.sh: use bash in shebang 2019-08-08 17:40:52 +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 7c764b989b run-docker.sh: allow to set custom image via environment variable 2019-08-02 17:39:27 +03:00
Leonid Pliushch 9173eaad20 build-package.sh: use globstar when splitting static libraries
Handle cases when static libraries located in subdirectory.

Enables support for globstar (example './**/*.a') pattern in subpackage
splitting.
2019-07-30 01:21:01 +03:00
Leonid Pliushch 0f298bae8f build-package.sh: avoid linking with extra/unneeded libraries 2019-07-29 22:49:15 +03:00
Leonid Pliushch 1b2d8259fb build-package.sh: basic hardening via CFLAGS/LDFLAGS
See https://github.com/termux/termux-packages/issues/4107.

In short:

 * Stack protector will be used by default.

 * GOT/PLT ELF sections will be read-only.
2019-07-29 22:49:15 +03:00
Leonid Pliushch 61dbc35394 scripts/buildorder.py: do not handle static library subpackages
* They are not used during normal build procedures.

* During "fast-builds" (option '-i') they just consume our bandwidth.
2019-07-29 16:09:26 +03:00
Leonid Pliushch 6e70277fb3 no more develsplit + provide static libraries as separate package
%ci:no-build
2019-07-28 21:17:12 +03:00
Leonid Pliushch 4778a36e54 update download checksum in termux_setup_protobuf.sh 2019-07-28 02:02:34 +03:00
Leonid Pliushch 8c1e1f7d92 docker image: install valac 2019-07-25 18:23:57 +03:00
Leonid Pliushch 2d7f6ecb75 CI: omit newlines when printing list of packages for building 2019-07-24 21:41:27 +03:00
Leonid Pliushch eb444b2d01 docker image: install libc-ares-dev and libicu-dev
Needed by host-build part of nodejs v12.6.0+
2019-07-24 19:49:02 +03:00
Leonid Pliushch b97a70a2b0 CI: add support for automatic docker image rebuilding 2019-07-23 23:42:20 +03:00
Leonid Pliushch 2e07999fd3 CI: fix expression for filtering packages 2019-07-23 15:41:25 +03:00
Leonid Pliushch fb4b3a982c CI: look for changes only in build.sh scripts 2019-07-23 12:36:34 +03:00
Leonid Pliushch 9fac976ab1 CI: restore old way for building & uploading packages
Do not use pipes for building & uploading packages because:

 * They spawn more jobs on Bintray for metadata generation - each upload is
   done in a separate session.

 * Bintray doesn't handle well concurrent uploads and metadata can be corrupted.
   This happened in all recent builds of platform independent packages - in
   each upload task file had a same name and that triggered problem with metadata.

 * Using delays for workaround for a problem described above works, but isn't
   safe.
2019-07-23 03:08:34 +03:00
Leonid Pliushch 2b21492262 CI: fix syntax errors in 'scripts/build/ci/cirrus-ci_dispatcher.sh' 2019-07-22 22:48:36 +03:00
Leonid Pliushch c18beff6c0 CI: better implementation for workaround introduced in f75cb1d4f2
Use predefined upload delays for each pipe.
2019-07-22 22:38:32 +03:00