Commit Graph

549 Commits

Author SHA1 Message Date
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
Leonid Pliushch b1f23e5f4c CI: do not start upload if API key or passphrase is not set
CI periodically shows error like

  Failed to decrypt some environment variables

so it will be better to stop immediately when environment is inconsistent
for unknown reason (e.g. due to Github's problems).
2019-07-22 21:33:21 +03:00
Leonid Pliushch e2aed73d91 CI: attempt to workaround inconsistent metadata during concurrent upload of same file
All platform independent packages affected by this issue. Results in
persistent apt error like:

 Writing more data than expected (22610650 > 22610408)
 Hashes of expected file:
  - SHA256:08abc5cffb9e1967fab487a471bb547f5ae706c48bf8e59d1443b2ad4af9caaf
  - SHA1:36ded1e207135bdeb8b7301bc03309ebced3cd32 [weak]
  - Filesize:22610408 [weak]
2019-07-22 21:26:44 +03:00
Leonid Pliushch d7087a90b1 CI: check if necessary environment variables are set 2019-07-22 20:04:24 +03:00
Leonid Pliushch c4f308fae3 CI: if all 3 attempts of upload failed, exit with status code '1' 2019-07-22 18:39:16 +03:00
Leonid Pliushch 4f811f734e build-package.sh: allow to mark subpackages as essential 2019-07-21 22:18:09 +03:00
Leonid Pliushch 62b194d620 docker image: install autopoint 2019-07-21 18:57:09 +03:00
Leonid Pliushch b9a77b5bf6 CI: fix syntax errors in dispatcher script 2019-07-21 17:44:31 +03:00
Leonid Pliushch aa98b2bc4d CI: rework way how upload will be retried
* Allow 3 attempts for uploading.

* Add 30 second delay between attempts.
2019-07-21 17:31:46 +03:00
Leonid Pliushch 088cf170a7 CI: fix pull requests URL in dispatcher script 2019-07-21 02:29:24 +03:00
Leonid Pliushch f6a1564aec CI: retry package uploading in case of failure
In certain cases Bintray may return errors like `invalid version a.b.c` for
specific tasks. This probably happens because we now running package uploading in
parallel.

Retrying upload one more time should fix the problem.
2019-07-21 01:42:24 +03:00
Leonid Pliushch ca8f0d0b74 CI: use pipe instead of separate tasks
No more need to pass packages between tasks through http cache but will require
a separate configuration for earch architecture.
2019-07-20 23:01:15 +03:00
Leonid Pliushch 5c90cf72db Revert "CI: restore full builds for pull requests"
This reverts commit 77f24af5b851a3a0cd067fcfffd18ecc6972ea83.
2019-07-20 19:12:45 +03:00
Leonid Pliushch cfaa34408e CI: restore full builds for pull requests
When processing pull request, build dependencies instead of
downloading them.
2019-07-20 15:44:01 +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
Leonid Pliushch 2563fd812c update CI setup
* Move package building/uploading implementation from config to a separate script.

* Implement new tag '%ci:no-build' to allow immediately stop build with status 'passed'.

%ci:no-build
2019-07-20 13:33:55 +03:00
Henrik Grimler a36acc44e4 setup_golang: set CGO_CFLAGS=-I$TERMUX_PREFIX/include 2019-07-19 10:22:31 +02:00
Fredrik Fornwall 51c97e3bb5 Always use -Oz optimization level 2019-07-14 20:38:26 +02:00
Leonid Pliushch cc06bee73e docker image: install libdbus-1-dev
Required by host-build if dbus-glib.
https://github.com/termux/termux-packages/pull/4046.
2019-07-13 17:08:57 +03:00
Fredrik Fornwall c5a58e63a2 golang: Update from 1.12.6 to 1.12.7 2019-07-11 14:31:17 +02:00
Leonid Pliushch 06f048b540 build-package.sh: fix typo
Chmod has to be called recursively.
2019-07-04 14:44:48 +03:00
Leonid Pliushch 225b1c471f clean.sh & build-package.sh: avoid errors in case chmod's target dir is not exist 2019-07-04 14:29:06 +03:00
Leonid Pliushch f45ed59766 build-package.sh: fix rm problems when builddir/srcdir contains RO files 2019-07-04 14:09:44 +03:00
Leonid Pliushch 2fa11b13ef build-package.sh: always keep info pages
Info pages usually provide more complete information
about package and its usage than man pages.
2019-07-02 00:00:02 +02:00
Tom Yan 0645971354 build-package.sh: export OBJCOPY 2019-06-26 12:14:11 +03:00
its-pointless 8c8292fece set updsted ndk sha256 2019-06-19 20:26:31 +03:00
its-pointless 1900df549d avoid using system clang instead of ndk one 2019-06-19 20:26:31 +03:00
its-pointless 6c2c06fd6f fix arm-cpp properly... 2019-06-19 20:26:31 +03:00
its-pointless e83b5a2ea8 fix arm cpp 2019-06-19 20:26:31 +03:00
its-pointless 5eada22838 ndk-20 update 2019-06-19 20:26:31 +03:00
Leonid Pliushch 32ef9db225 golang: update to 1.12.6 2019-06-16 18:38:39 +03:00
Leonid Pliushch 4707ae3b9f fix scripts/check-built-packages.py
Now it will compare packages with right repository (android-7/bintray).
2019-06-08 14:04:04 +03:00
Leonid Pliushch e4e0379086 cmake: update to 3.14.5 2019-06-08 01:10:02 +03:00
Leonid Pliushch 74832cbea8 update setup-archlinux.sh 2019-06-03 23:24:34 +03:00
Leonid Pliushch f574b08871 update Vagrantfile
* Ubuntu disco

* Raised RAM to 4 GB (2 GB may be too small)

* Some other fixes
2019-06-03 20:33:24 +03:00
Christopher Latham cb6dc126e4 setup-ubuntu.sh: Download 19.04 java package when running Ubuntu 19.04 2019-05-27 23:57:30 -04:00
Christopher Latham f59bc57f0b Fix broken java 8 download link locations 2019-05-27 23:18:18 -04:00
Leonid Pliushch de0589ea9e build-package.sh: fix license installation step 2019-05-24 23:34:33 +03:00
Leonid Pliushch b5e34cb1b9 build-package.sh: handle disable packages when building for all architectures 2019-05-22 15:01:59 +03:00
Henrik Grimler 1197b9a9e0 termux_step_massage: drop TERMUX_PKG_KEEP_SHARE_DOC 2019-05-19 21:36:30 +03:00
Henrik Grimler 4c87b7a46c termux_step_install_license: fix link path 2019-05-19 21:36:30 +03:00
Henrik Grimler de23e4c2a8 termux_step_install_license: install to usr/share/doc/ instead of usr/share/ 2019-05-19 21:36:30 +03:00
Henrik Grimler 3bfb8b45b9 termux_step_install_license: Handle spaces in license name 2019-05-19 21:36:30 +03:00
Henrik Grimler b9db6b4de8 termux_step_install_license: error if no LICENSE file is installed 2019-05-19 21:36:30 +03:00
Henrik Grimler 83177e08e3 termux_step_install_license: use license file from $TERMUX_PKG_LICENSE_FILE if specified
Otherwise use the licenses specified in $TERMUX_PKG_LICENSE
2019-05-19 21:36:30 +03:00
Henrik Grimler 9c0fd0513f build-package: licenses->LICENSES 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
Leonid Pliushch a1bb53e935 cmake: update to 3.14.4 2019-05-18 17:07:08 +03:00
Tom Yan d4d8aaeac9 build-package: fix unwind symbols hiding
Apparently because libgcc.a is now a linker script, `--exclude-libs libgcc.a` doesn't seem to do a thing. Also hiding symbols from libunwind.a.
2019-05-14 17:53:00 +03:00
Leonid Pliushch 899b158460 repology metadata tools are located in a separate repository
See https://github.com/termux/termux-repology.
2019-05-14 15:44:51 +03:00
Fredrik Fornwall 503c204164 protobuf: Update from 3.6.1 to 3.7.1 2019-05-12 00:22:25 +02:00
Fredrik Fornwall e0af3a3a6f Update meson from 0.49.2 to 0.50.1 2019-05-11 22:36:06 +02:00
Leonid Pliushch 7a25f8489b termux_create_subpackages.sh: fix syntax errors 2019-05-10 18:50:03 +03:00
Tom Yan fc76b5e1f4 build-package: fix subpackage-parent dependency 2019-05-10 18:50:03 +03:00
Leonid Pliushch 96f46c6a5d build-package.sh: don't write dependency list if empty 2019-05-09 22:56:26 +03:00
Leonid Pliushch 19c660dc05 build-package.sh: fix situation where subpackage's dependency list is not written to metadata 2019-05-09 22:46:46 +03:00
Leonid Pliushch c2b843a72d build-package.sh: break possible circular dependencies 2019-05-09 22:44:05 +03:00
Fredrik Fornwall 2e6aa72a19 golang: Update from 1.12.2 to 1.12.5 2019-05-07 22:41:30 +02:00
Fredrik Fornwall 264989a264 Remove not needed line in termux_setup_rust 2019-05-07 22:20:43 +02:00
Tom Yan 52198eee5d buildorder.py: remove libandroid-support from always_deps
as libiconv is no longer a symlink of it
2019-05-07 22:16:36 +03:00
Leonid Pliushch d850d1a4f1 build-package.sh: introduce field "Pre-Depends"
Required in rare cases where package update may break package manager during
installation process.

See https://www.debian.org/doc/debian-policy/ch-relationships.html for
more information.
2019-05-06 20:38:12 +03:00
Leonid Pliushch da442fc146 build-package.sh: subpackages should depend on current version of the main
Avoid potential issues caused by version mismatch.
2019-05-06 16:38:33 +03:00
Leonid Pliushch 9dda444a87 new package: libiconv 2019-05-05 21:29:36 +02:00
Leonid Pliushch d7d965db3f CI: skip packages that have long build time 2019-05-02 22:00:19 +03:00
Leonid Pliushch 599d2509d7 CI: switch to Cirrus 2019-05-01 23:45:46 +03:00
Leonid Pliushch 5ae36420eb termux_setup_rust.sh: always pick rust version from package build script
Avoid version mismatch.
2019-04-28 21:30:02 +03:00
its-pointless b089bf18c9 rust: Update from 1.33.0 to 1.34.1 2019-04-28 00:19:21 +02:00
Fredrik Fornwall 499687c9fe Update docker image to ubuntu 19.04 and llvm 8 2019-04-27 22:48:18 +02:00
Fredrik Fornwall 4979b0e530 cmake: Update from 3.14.2 to 3.14.3 2019-04-27 00:00:40 +02:00
Fredrik Fornwall f5fc3dfdb5 coreutils: Update from 8.30 to 8.31 2019-04-24 11:34:22 +02:00
Leonid Pliushch 99793cee35 build-package.sh: always try to download Release file (revert to old behaviour) 2019-04-22 00:42:58 +03:00
Leonid Pliushch b5ab2097ae Fast build fixes (#3696)
* Do not re=download release files.

* Efficiently handle dependencies: do not try to download \*.deb files when they already downloaded, do not try to extract them more than one time.
2019-04-21 18:05:39 +03:00
Fredrik Fornwall bfab2b63a9 cmake: Update from 3.13.4 to 3.14.2 2019-04-18 00:25:28 +02:00
Fredrik Fornwall 36e680b07d Adapt checksum for ninja-linux.zip 2019-04-18 00:12:24 +02:00
Fredrik Fornwall aae8c39e8f Let rustup install rust 1.34 2019-04-17 22:42:55 +02:00
Leonid Pliushch 16aa9acb5d termux-elf-cleaner: update to v1.6
No changes if API level is >= 23.
2019-04-15 18:39:38 +03:00
Tom Yan dab21ee7b7 zlib-dev: breaks and replaces old ndk-sysroot
also bump toolchain version for z{lib,conf}.h removal
2019-04-14 16:00:23 +03:00
Tom Yan 5170610f52 zlib: add package 2019-04-14 16:00:23 +03:00
Tom Yan 125c192664 build-package: fix conffiles for subpackages
conffiles was being created after control.tar.gz, which makes it
being omitted
2019-04-13 19:08:54 +03:00
Leonid Pliushch 8b2ae5b3e8 package_uploader.sh: handle licenses "custom" and "non-free" 2019-04-12 17:23:45 +03:00
Leonid Pliushch 53c9c845bf swi-prolog: specify necessary host tools in setup-ubuntu.sh 2019-04-09 18:57:29 +03:00
Leonid Pliushch 8f042ae6b3 build-package.sh: do not try to gzip manpages that are already gzipped
Avoid warning and broken symlinks.
2019-04-09 17:45:43 +03:00
Tom Yan 7bfe758c81 build-package: set CMAKE_FIND_ROOT_PATH_MODE_PROGRAM to NEVER 2019-04-09 14:23:24 +03:00
Fredrik Fornwall c0d22ec7d1 golang: Update from 1.12.1 to 1.12.2 2019-04-07 22:44:13 +02:00
Tom Yan 4098976a2e buildorder.py: make subpackage pull its parent 2019-04-06 02:57:54 +03:00
its-pointless 59625ccecd llvm-8 and rust with back ports for llvm-8 2019-03-29 01:28:11 +02:00
Tom Yan a57750848d build-package: add TERMUX_PKG_DEVPACKAGE_{BREAKS,REPLACES} support 2019-03-27 01:10:30 +08:00
Tom Yan 30f12fec65 buildorder.py: make fast build mode download all subpackages 2019-03-26 17:12:28 +02: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
Leonid Pliushch 3d0e516c64 termux_step_setup_toolchain.sh: simplify unneeded headers removal 2019-03-25 17:55:48 +02:00
Leonid Pliushch 9e682ab75f termux_step_setup_toolchain.sh: move 'rm usr/include/sys/capability.h' to correct place 2019-03-25 17:32:00 +02:00
Leonid Pliushch 512bcdbea5 package uploader: when script exit, return status code '1' if there errors occurred
package_uploader.sh should not exit on error when package processing is not finished
by allowing to do as much as possible.

But we need some mechanizm to notify maintainers when errors occurred on CI/CD
on package operations.
2019-03-25 16:43:30 +02:00
Leonid Pliushch 73c6e60c59 setup-ubuntu.sh: add lua5.3, needed by luarocks 2019-03-25 16:12:03 +02:00
Leonid Pliushch 4fbf09ac78 package uploader: fix checking of build.sh existence 2019-03-25 14:25:08 +02:00
Leonid Pliushch 214799a285 package uploader: omit messages on stderr when sourcing build.sh
Prevents messages like this one:
which: no msgfmt in (/home/xeffyr/bin:/run/wrappers/bin:/home/xeffyr/.nix-profile/bin:/nix/var/nix/profiles/default/bin:/run/current-system/sw/bin:/etc/profiles/per-user/xeffyr/bin)
2019-03-25 14:15:58 +02:00
Fredrik Fornwall 2b4652804f Remove sys/capability.h from the NDK sysroot
The sys/capability.h file will be provided by libcap-dev.
2019-03-24 23:15:44 +01:00
Tom Yan bc217587fb build-package: handle -dev package download from buildorder.py 2019-03-23 17:31:40 +02:00
Tom Yan ca475bf2be buildorder.py: only omit target's subpackage for fast build 2019-03-20 19:23:51 +02:00
Tom Yan befdca1749 buildorder.py: parse TERMUX_PKG_DEVPACKAGE_DEPENDS 2019-03-20 19:23:51 +02:00
Leonid Pliushch 2ee99435a9 fast builds: enable downloading from game, root & science repositories 2019-03-20 17:27:33 +02:00
Leonid Pliushch 8742fc020d termux_step_setup_variables.sh: remove unneeded variable
Not needed after cada4be0d87bc4bf8559f08304d6051624d43737.
2019-03-20 03:41:36 +02:00
Leonid Pliushch 166f6e6e47 package uploader: fix conditional when checking http status after publishing in upload_package() 2019-03-20 03:39:35 +02:00
Leonid Pliushch 37259f0867 package uploader: fix variable name in upload_package() 2019-03-20 03:16:43 +02:00
Leonid Pliushch 2ea0b724aa fast builds: enable downloading from unstable and x11 repositories 2019-03-20 02:57:52 +02:00
Leonid Pliushch 81594bf062 package uploader: escape dot in versions when using grep 2019-03-20 01:37:03 +02:00
Leonid Pliushch b0d006d10a package uploader: fix message in delete_old_versions_from_package() 2019-03-18 23:05:53 +02:00
Leonid Pliushch 89fdecc467 package uploader: do not require build.sh when deleting package 2019-03-18 23:04:47 +02:00
Henrik Grimler 619d8bba25 Merge pull request #3450 from tomty89/libc++
Simplify libc++ setup
2019-03-18 21:06:19 +01:00
Leonid Pliushch b789ab46b1 package uploader: attempt to fix errors when using on CI 2019-03-17 13:04:59 +02:00
Leonid Pliushch e42860a935 update package_uploader.sh
* A bit of refactoring.

* Cleanup mode - remove old package versions and keep only latest one on the remote.

* Metadata regeneration mode. Allows to regenerate metadata without package uploading.

* No script failure when package errored. Just show message and continue.

* Do not leave repository in inconsistent state when terminating uploader with ctrl-c.

* Prevent processing of the duplicated package names in arguments. Argument list will be also sorted.

* Compact informational messages.
2019-03-17 03:13:12 +02:00
Henrik Grimler ed1cad9ce2 package_uploader: fix typo 2019-03-16 15:15:13 +01:00
Fredrik Fornwall 12ad4574aa golang: Update from 1.12 to 1.12.1 2019-03-15 14:53:10 +01:00
Leonid Pliushch 0d53b9abe1 package uploader: keep old versions currently, always replace deb files with same name
It seems that metadata generation take about 40 seconds.
If we submit a new version of package with deleting previous one, users
will observe 404 errors until new metadata will be published.
2019-03-13 17:53:07 +02:00
Leonid Pliushch c091cdc962 termux-elf-cleaner: update to v1.5
Now it no longer removes GNU version sections.
2019-03-12 14:20:07 +02:00
Leonid Pliushch 391d0b2808 fast-build mode: use termux_download function for downloading 'Release'
Addition for cada4be0d87bc4bf8559f08304d6051624d43737.

Release file may not exist too when metadata generation is in progress,
so we may need to do several tries to download file.
2019-03-12 01:41:40 +02:00
Leonid Pliushch 4ce0e267d0 package uploader: skip packages with custom licenses
Try to detect packages with custom licenses and just skip them
so upload of other packages will be finished successfully.
2019-03-11 20:39:45 +02:00
Leonid Pliushch 9ca57fbef1 fast-build mode: do not rely on gpg when verifying metadata
If previous build create metadata generation job, the repository will be left in
unsigned state for up to 5-20 seconds. We cannot do anything with this as how
Bintray works. When this case happens, signature checks will fail causing build
failure.

See https://gitlab.com/termux-mirror/termux-packages/-/jobs/175356747.

For now, gpg checks are permanently disabled. When a better solution will be
found, feel free to revert this commit.
2019-03-11 18:04:56 +02:00
Leonid Pliushch 398192d4dc package_uploader.sh: check for dependencies before running 2019-03-11 16:00:56 +02:00
Leonid Pliushch 5a24ad3ee0 package_uploader.sh: use more generic bash path for shebang
Fixes error when trying to execute script on NixOS.
2019-03-11 15:55:32 +02:00
Tom Yan 596c8c85da Simplify libc++ setup
As clang++ in the NDK defaults to libc++ since r17, we no longer
need to fake a libstdc++.so at build time (and omit it from the
libc++ package we ship).
2019-03-11 16:33:12 +08:00
Fredrik Fornwall 77d5eb17cf Avoid meson stripping DT_RUNPATH
See #3490.
2019-03-10 23:58:37 +01:00
Fredrik Fornwall e9d3fcea4c Fix DT_RUNPATH for rust-using packages
See #3490.
2019-03-10 23:33:24 +01:00
Fredrik Fornwall 73ec719d77 Set CGO_LDFLAGS="$LDFLAGS" for go packages
This should add DT_RUNPATH. See #3490.
2019-03-10 22:27:52 +01:00
Leonid Pliushch 2d66d967eb termux_step_setup_variables.sh: fix gpg keys 2019-03-10 21:46:41 +02:00
Leonid Pliushch f195bf598d package uploader: improve searching of subpackages
Handle cases where package directory is actually symlink.
2019-03-10 15:47:43 +02:00
Leonid Pliushch d22ac1b2fb fast-builds: switch to bintray url 2019-03-10 15:42:58 +02:00
Leonid Pliushch d450e6af8f build-package.sh: create dummy libutil.so which links to libc
Replace libutil.so with linker script so we don't have to patch
each program that tries to link with libutil.so.
2019-03-10 15:42:58 +02:00
Leonid Pliushch 310e65e586 package uploader: add support for keeping previous versions, update help info, rename script 2019-03-10 15:41:38 +02:00
Leonid Pliushch db159bdc3b add package uploading script
This script can be used either manually or by CI to
upload packages to Bintray.
2019-03-10 15:41:38 +02:00
Leonid Pliushch c508560e40 build-package.sh: enable use of DT_RUNPATH, set minimal API level to 24 2019-03-10 15:41:38 +02:00
Henrik Grimler 5920f3dc5a termux_create_subpackages: support TERMUX_SUBPKG_BREAKS 2019-03-07 20:37:47 +01:00
Henrik Grimler d30227669f build-package: mv code for creating subpackages to new file 2019-03-07 20:35:32 +01:00
Fredrik Fornwall 30c73290b6 go: Update from 1.11.5 to 1.12 2019-03-06 22:57:26 +01:00
Fredrik Fornwall f488461a11 Merge pull request #3448 from Grimler91/jq
setup-ubuntu.sh: add jq and remove debdiff
2019-03-06 22:39:11 +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 9fe4647cda fast-builds: do not rely on bootstrap archives
Reasons:

 * they may contain outdated packages
 * they are redundant
 * they may not exist for target repository (e.g. if building for non-termux.net)
2019-03-06 16:04:08 +02:00
Henrik Grimler 69eb7a1299 setup-ubuntu.sh: add jq and remove debdiff 2019-03-04 22:08:56 +01:00
Leonid Pliushch 858c73d75a termux-elf-cleaner: update to v1.4
Provides fix for Android 5.
2019-03-04 14:58:10 +02:00
Leonid Pliushch 4d5adae680 update scripts for continuous integration
Keep bare minimum of scripts & configuration files for CI.

Set Travis target language to generic, remove 'Gemfile' and
'Rakefile' since we building *.deb packages and not ruby ones.
Code that determining changes in git repository is reimplemented
in bash.

Disabled packages are excluded from CI tracking as they frequently
cause errors.
2019-03-04 03:53:21 +02:00
Henrik Grimler f6164ddd7e termux_download_deb: check that Packages exist before reading hash 2019-03-03 13:27:47 +02:00
Henrik Grimler 2273e3f2a2 build-package: stop build if buildorder.py returns error 2019-03-03 13:27:47 +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