summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-27newapkbuild: run cargo install with --lockedJakub Jirutka1-1/+1
This forces cargo to install the exact versions of the dependencies specified in Cargo.lock. This is essential for reproducible builds!
2019-10-01abuild: remove unused print_version functionNatanael Copa1-4/+0
the function is not used since commit 3379e675512d (abuild: print version of built package early)
2019-10-01abuild: add -V for print abuild versionNatanael Copa1-1/+2
2019-10-01abuild: only set sysconfdir in functions.shNatanael Copa1-1/+0
we set sysconfdir in functions.sh so there is no need to set it in abuild.
2019-10-01Fix package version check on checkapkLeo1-1/+1
The assignment of the oldpkg variable is missing the name of the package
2019-10-01newapkbuild: add rust supportRasmus Thomsen1-2/+32
2019-10-01apkbuild-cpan.in: add 'configure' prereqsJoseph Burt1-3/+8
Prereqs from the 'configure' phase also belong in makedepends
2019-10-01apkbuild-cpan.in: always start pkgver with a digitJoseph Burt1-4/+5
The 'version' string from CPAN can start with 'v...' or similar.
2019-10-01Make default_dev move to /usr/share/pkgconfigLeo1-6/+5
2019-10-01Add support for parsing pkg-config files in /usr/share/pkgconfigLeo1-9/+13
2019-10-01abuild: add amove func to move from $pkgdir to $subpkgdirNatanael Copa1-0/+23
moving files and directories from $pkgdir to $subpkgdir is a common pattern, so make a helper function for this. usage: amove FILESPEC... FILESPEC is a list of files or patterns/globs that will be exanded by the shell. amove will clean up empty directories after moving the files/dirs. Example usage: amove 'usr/lib/lib*.a' amove 'etc/*.d' # moves both etc/conf.d and etc/init.d amove 'lib/*.so' 'usr/lib/*.so' cd "$pkgdir" find usr -name '*.h' | xargs amove This is based on the work of Chloe Kudryavtsev: https://github.com/alpinelinux/abuild/pull/92
2019-10-01Makefile: clean *.o filesNatanael Copa1-1/+1
2019-10-01abuild: various USE_CCACHE fixesNatanael Copa1-13/+2
- set PATH in the rootbld environment so ccache is actually used. - drop the check for command -v ccache. ccache will be pulled in as build dependency so we don't need to die if its missing. - create ~/.ccache if missing rather than die. This directory will normally be created by ccache itself, but we need to create it so we can bind mount it incase of rootbld. - don't die if ccache.conf is missing. ccache will create it.
2019-10-01abuild: only set up ccache in rootbld when USE_CCACHE is setNatanael Copa1-2/+3
avoid install ccache and bind mount ~/.ccache when USE_CCACHE is not set. This fixes bind mount error when ~/.ccache is missing and USE_CCACHE is unset.
2019-09-30feat: add support for ccacheJoseph Benden3-5/+33
This introduces basic support for ccache, during packaging builds. If you are building many packages, it is recommended to manually increase the maximum size of the ccache cache. This is typically achieved by modifying `~/.ccache/ccache.conf` and adjusting the `max_size` setting. Signed-off-by: Joseph Benden <joe@benden.us>
2019-09-30abuild: simplify depends_staticRichard Mortier1-11/+6
Should not be any significant functional difference.
2019-09-30abuild: -static depends on -dev by defaulttcely1-1/+17
When you have `-dev` and install `-libs-static`, for example, it helps to only need to add one to `makedepends` instead of both. After a grep of the current aports, it turns out matching the prefix of `subpkgname` will be more useful.
2019-09-30Allow for git remote url to end in aports.git, (i.e., allow SSH git remotes)Pete Dietl1-2/+3
2019-08-09apkbuild-pypi.in: fix bugs, upgrade for python3 only and add to makeTimothy Legge2-21/+33
2019-08-09gitignore apkbuild-pypiNatanael Copa1-0/+1
2019-08-09abuild: convert -{alpha,beta,rc,pre} version suffixes from pkgconfNatanael Copa1-1/+1
convert version suffixes in pkgconf modversion to something apk can deal with.
2019-08-09abuild: verify that the pkgconf version is validNatanael Copa1-0/+1
2019-08-07abuild: install dependencies from other reposKaarle Ritvanen1-8/+24
2019-08-07abuild: remove recursive modeKaarle Ritvanen1-147/+7
This functionality is no longer needed by the build servers and is broken as it does not handle * provides= tags * automatic dependencies added by trace_apk_deps() * inter-repository dependencies * circular dependencies caused by the unit tests in check()
2019-08-05abuild: rename makedepends_host virtual packageOliver Smith1-2/+2
With a recent change in apk [1], virtual packages of the same name will upgrade each other. Adjust abuild to this by not using the same virtual package name for two types of dependencies. This fixes the way crosscompilers are built in postmarketOS [2], which is essentially the same as running this on Alpine's gcc aport: $ cd aports/main/gcc $ C_TARGET_ARCH=armhf CTARGET=armv6-alpine-linux-musleabihf \ BOOTSTRAP=nobuildbase CBUILDROOT=/ abuild -r ... >>> gcc-armhf: Installing for host: (1/24) Upgrading .makedepends-gcc-armhf (20190714.104731 -> 20190714.104741) (2/24) Purging binutils-armhf (2.31.1-r2) ... [1] apk-tools.git 37fbafcd928c466c82c892a7868d686d710e5d07 ("add: make virtual packages upgradeable (ref #9957)") [2] https://gitlab.com/postmarketOS/pmaports/blob/master/cross/gcc-armhf/APKBUILD Fixes: https://gitlab.alpinelinux.org/alpine/apk-tools/issues/10649
2019-07-30add missing backslash on rmdir commandLeo1-1/+1
2019-07-17abuild: remove empty dirs in main packageNatanael Copa1-0/+6
clean up empty dirs
2019-07-17abuild: add SOURCE_DATE_EPOCH supportkpcyrd2-2/+17
2019-07-17change ~ to /home/pdietlPete Dietl1-2/+2
2019-07-17abuild.in: fixup flags and usage textPete Dietl1-3/+3
2019-07-17Better use license.lst in abuild sanitycheckKeith Maxwell1-1/+1
Before this change an invalid licence= in an APKBUILD will pass `abuild sanitycheck`. '/usr/share/spdx/license.lst' contains one licence per line. `grep -x` will match partial lines whereas `grep -w` will only match whole lines. An simple demonstration is with 'GPL-3.0' which is not a valid SPDX licence identifier. 'GPL-3.0-only' and 'GPL-3.0-or-later' are valid licences. ``` $ grep --help BusyBox v1.30.1 (2019-04-26 06:26:16 UTC) multi-call binary. Usage: grep [-HhnlLoqvsriwFE] [-m N] [-A/B/C N] PATTERN/-e PATTERN.../-f FILE [FILE]... Search for PATTERN in FILEs (or stdin) ✂ -w Match whole words only -x Match whole lines only ✂ $ grep -w -F GPL-3.0 /usr/share/spdx/license.lst GPL-3.0-only GPL-3.0-or-later $ grep -x -F GPL-3.0 /usr/share/spdx/license.lst $ ```
2019-07-17abuild-fetch: use local insecure variabletcely1-3/+3
2019-07-17abuild-fetch: when http:// was used, ignore https:// problemstcely1-1/+2
2019-07-17abuild-fetch: add -k (insecure as in curl) optiontcely1-1/+11
2019-07-17newapkbuild: make python packages only depend on setuptoolsNatanael Copa1-1/+1
They normally don't need the python3-dev.
2019-07-17newapkbuild: add py3-setuptools to python apkbuildRuss1-1/+1
Seeing as the default python build/check/package apkbuild functions call `setup.py` and that relies on `py3-setuptools`, perhaps it should be added to the makedepends. Inspiration from https://github.com/alpinelinux/aports/pull/7641#pullrequestreview-234326397
2019-07-17make default_static depend on depends_staticLeo2-1/+3
keeps it in line with other default_ functions.
2019-07-17abuild.in: make is_x_package functions reliant on being given a nameLeo1-2/+2
2019-07-08Fix condition check for adding static libraries to -dev package.Leo1-1/+1
This was the wrong way, we only want to add the static library to the -dev package when there isn't a -static package.
2019-06-20abuild-sudo: don't allow --keys-dirMax Rees1-3/+15
Not allowing --allow-untrusted is obviously a good idea, but it can be trivially bypassed if --keys-dir is allowed: $ abuild-apk add foo-1-r0.apk ERROR: foo-1-r0.apk: UNTRUSTED signature $ abuild-apk --allow-untrusted add foo-1-r0.apk abuild-apk: --allow-untrusted: not allowed option $ cp -rp /etc/apk/keys /tmp/keys $ cp untrusted.pub /tmp/keys $ abuild-apk --keys-dir /tmp/keys add foo-1-r0.apk (1/1) Installing foo (1-r0) OK: 4319 MiB in 806 packages If both --allow-untrusted and --keys-dir are not allowed, then it should no longer be possible for an unprivileged member of the abuild group to add an untrusted package. $ abuild-apk --keys-dir /tmp/keys add foo-1-r0.apk abuild-apk: --keys-dir: not allowed option
2019-06-14==== release 3.4.0 ====v3.4.0Natanael Copa1-1/+1
2019-06-12==== release 3.4.0_rc5 ====v3.4.0_rc5Natanael Copa1-1/+1
2019-06-12apkbuild-cpan.in: add OR to licenses to indicate perl_5 GPL or artistic is a ↵Timothy Legge1-1/+1
choice
2019-06-12abuild usage fix: fetch does not verify sourcesOliver Smith1-1/+1
Replace text in usage description of fetch that claims to verify sources with a suggestion to use 'abuild fetch verify', which will actually verify them. 'abuild fetch' alone will not verify sources, as it only executes the fetch() function.
2019-06-12APKBUILD.5: match install_if example to abuild.inKeith Maxwell1-3/+3
This change makes the example in the description of install_if in the APKBUILD man page match abuild.in:1791.
2019-06-12newapkbuild: use current directory for cmakeRuss1-1/+1
2019-06-12newapkbuild: quote pkgname and pkgvertcely1-2/+2
These are strings after all and should be quoted even if not strictly necessary because of tradition excluding spaces from package names.
2019-06-12newapkbuild.in: add default check() for meson packages.Leo1-0/+6
2019-06-12Cosmetic: newapkbuild: comment for check sectionsOliver Smith1-0/+1
Add a '# Check sections' comment, for consistency with the equally commented build and package sections.
2019-06-12newapkbuild: fix empty function regressionOliver Smith1-0/+27
Since the obsolete 'cd "$builddir"' statements have been removed in [1], build(), check() and package() can generate empty functions if no build system is specified or if there is no default for the given build system. newapkbuild will then fail, as it tries to parse the script it generated: $ cd /home/pmos && newapkbuild test /usr/bin/abuild: /home/pmos/test/APKBUILD: line 18: syntax error: unexpected "}" $ cat test/APKBUILD ... build() { } ... Fix this by placing ":" in functions that would be empty. [1]: f83d19ce79ab9f2dcc5238346a910cd18ae0f330