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
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
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
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
2d7f6ecb75
CI: omit newlines when printing list of packages for building
2019-07-24 21:41:27 +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
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
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
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
e4e0379086
cmake: update to 3.14.5
2019-06-08 01:10:02 +03: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
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
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
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
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
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
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
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
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
2ea0b724aa
fast builds: enable downloading from unstable and x11 repositories
2019-03-20 02:57:52 +02:00
Henrik Grimler
619d8bba25
Merge pull request #3450 from tomty89/libc++
...
Simplify libc++ setup
2019-03-18 21:06:19 +01:00
Fredrik Fornwall
12ad4574aa
golang: Update from 1.12 to 1.12.1
2019-03-15 14:53:10 +01: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
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