Commit Graph

360 Commits

Author SHA1 Message Date
Timo Teräs 9d2567f1e6 abuild: preserve xattrs when creating -dbg 2017-02-09 11:32:49 +00:00
G.J.R. Timmer 21bf69f6ad abuild: fix package size calculation on certain filesystems 2017-02-08 13:10:36 +02:00
Natanael Copa ab79e3fe6f abuild: fix location of built apk
we need to replace noarch with CARCH for now
2017-02-01 11:49:40 +01:00
Timo Teräs 4442efff6e abuild: add symlinksrc target for create the source file symlinks
needed for upcoming 'rootbld' support
2017-01-31 10:23:56 +02:00
Tuomas Jaakola 520cc15fe9 abuild: support local archives 2017-01-31 10:21:13 +02:00
William Pitcock ea1db36f1f abuild: implement check and $checkdepends support.
The check() function is an APKBUILD overridable function which runs a testsuite.  The packages listed in
$checkdepends are packages which will be installed at build time only if check() will be run.
2017-01-29 09:47:25 +00:00
Valery Kartel 89d62e9d4d abuild.in: fix dealing with named remote patches (closes github #11)
for patches like:
patchname.patch::http://github/.../commit/<md5hash>.patch

use strict filename instead of the whole line
2017-01-27 06:41:59 +00:00
Timo Teräs 0ff2cf73f5 abuild: use only sha512sum
use only the strongest hash. this simplifies apkbuilds a bit.
2017-01-26 13:57:18 +02:00
Breno Leitao f41036ac3a abuild: check for ppc64le on config.guess
Currently, if aarch64 exists in config.guess, it is not updated.
This breaks spl, which has aarch64 entry, but not ppc64le.

update_config_guess should update config.guess if any of those
does not exists.
2017-01-19 22:20:42 +01:00
Timo Teräs 8bddd02b10 abuild: remove noarch files from CARCH target direct
this is where it is built too
2017-01-09 11:17:39 +02:00
xentec 971504f0ec abuild: pass --arch to apk whenever sysroot is used
so we can crosscompile for different architectures
2016-12-21 10:05:41 +00:00
Przemyslaw Pawelczyk 6b2fd4a891 abuild: make default_prepare() always end up in "$builddir"
So far default_prepare() ended up in "$builddir" only if there were any
patches.  It's better to be more consistent and make such change always.
2016-12-04 02:38:09 +01:00
Jakub Jirutka 4d6114bdce abuild: change shebang to /bin/ash
This script uses variable expansion / pattern replacement, which is not
defined in POSIX-sh. Also APKBUILDs are not required to be strictly
POSIX-sh compatible. If someone run abuild on system with e.g. dash as
/bin/sh, then it fails (and someone reported exactly that on IRC
today). Therefore abuild should explicitly use /bin/ash in shebang and
not /bin/sh.
2016-11-23 21:44:52 +01:00
Timo Teräs e18d6228e7 abuild: properly detect failure of dependency installation 2016-10-31 15:49:29 +02:00
Jakub Jirutka 4f37c8efd3 abuild: set default builddir when not defined in APKBUILD 2016-09-02 23:13:31 +02:00
Jakub Jirutka 948fedc5f7 indent heredocs when possible 2016-08-23 00:09:06 +02:00
Sören Tempel 8a4680cc74 abuild: don't overwrite existing files when using unzip in unpack
Default is asking for each file.
2016-08-18 23:45:33 +02:00
Carlo Landmeter b874a4c8cd abuild: add update_config_guess 2016-08-12 15:26:06 +02:00
Sören Tempel 4f7a4556a0 abuild: ash only always local in functions these days 2016-08-11 14:04:44 +02:00
Timo Teräs 4134332906 abuild: fix dependency tracing for cross builds 2016-08-01 14:28:44 +03:00
Timo Teräs 495dac7fa9 abuild: unify dependency installation and removal code
this fixes cross deps such as "CHOST=armhf abuild deps"
to work properly.

if makedepends is not defined the following default
will be used (as that's the definition cross-build
aware apkbuilds use):
  makedepends="$makedepends_build $makedepends_host"
2016-08-01 14:28:44 +03:00
Timo Teräs a01d11d9bc abuild: check both build and host dependencies first
So we don't waste time installing dependencies on builder if
the host dependencies are not satisfiable.
2016-08-01 14:28:44 +03:00
Timo Teräs 9207fccde2 abuild: display target arch in xterm title for cross build 2016-08-01 14:28:44 +03:00
Timo Teräs 8c8d741b32 abuild: use subpkgarch to construct the package paths everywhere 2016-08-01 14:28:44 +03:00
Timo Teräs f7e2b48d1c abuild: remove PKGDEST and install_after features
supporting these features with cross building is non-trivial
and they do are generally not useful features, so remove them.
as result the abuildrepo is also removed to write out paths.
all package generation paths now use $REPODEST/$repo/$CARCH
which allows easily writing packages to correct $subpkgarch
in future commits.
2016-08-01 14:28:44 +03:00
Timo Teräs f459607da7 abuild: use proper strip for each subpkg according to it's arch 2016-08-01 14:28:44 +03:00
Timo Teräs b217bbb2ea abuild: support subpackages="pkg:split:arch" syntax
For proper cross-build support, the subpackage arch needs to
be known before invoking the split function. This implements
a way to do that. This also changes to write the actual subpkg
arch to .PKGINFO - apk index --rewrite-arch still overwrites
index to have machine arch for noarch packages.
2016-08-01 14:28:44 +03:00
Timo Teräs 26ec31c6c2 abuild: improve cross compiling support 2016-08-01 14:28:44 +03:00
Timo Teräs b6e721580d abuild: don't set and reset xterm title when splitting subpkg
it's annoying flickering, and results the title being unset for
the time when last split is executed and packages are created.
2016-07-27 10:04:22 +03:00
Timo Teräs 34081a1719 abuild: treat subpackages items as colon separated lists
This is in preparation to support subpackages="pkg:split:arch"
syntax, and just makes the current code ignore anything after
the second colon if it exists. This allows to use the new syntax
in aports git without running experimental abuild on the official
builders.
2016-07-26 10:11:46 +00:00
Timo Teräs a1364565d2 abuild: use apk --no-scripts for target sysroot
we probably will not be able to run the scripts as it can
be incompatible system type
2016-07-23 06:20:00 +00:00
Paul Lorenz 8946d01ed7 Fix src builds
Fix filename_from_uri call
Ensure remote sources are fetched
Include remote sources in source package
Include pre/post scripts
Include trigger scripts
2016-07-20 10:24:46 +00:00
Timo Teräs 90899669c2 abuild: rename distfile copy when checksum does not match
The previous deletion of file did not work properly at all. Fix
this instead to rename the file, so we keep the previous download.
This allows builders to redownload upstream file if the checksum
has been changed in aports.
2016-07-08 13:44:31 +03:00
Timo Teräs 97d924dfed abuild: support arch="all !armhf"
this allows blacklisting architectures instead of just
whitelisting them. useful when more architectures comeabout.
2016-07-07 12:04:06 +03:00
Sören Tempel 670fc1ae14 abuild: perform unzip operations quietly
unzip(1) is verbose by default since we don't run tar(1) in verbose mode
we should run unzip with -q for consistency.
2016-07-06 12:24:59 +02:00
Timo Teräs fd02387cc1 abuild: fix cross compilation undeps()
"apk del" now returns error if the package name does not exist.
Thus when cross compiling, always install the virtual
.makedepends-$pkgname name for chroot also since undeps() will
try to uninstall it always.
2016-07-05 17:28:48 +03:00
Natanael Copa 0d1a06045b abuild: fix apk_up2date check
fix check that all subpackages exists, not only main package
2016-06-13 12:34:05 +00:00
Natanael Copa d413730550 abuild: don't cd to $builddir unless patches exists
some packages don't have patches. We should not error if builddir is not
set in this case.
2016-04-05 20:35:34 +00:00
Natanael Copa a1d23dc995 abuild: rename _builddir to builddir
the _ prefix is reserved for APKBUILD. This is to avoid use variable
names in APKBUILD that may clash with abuilds internal vars
2016-03-23 10:07:36 +00:00
Kaarle Ritvanen 18b09f9d91 abuild: set umask
consistent result regardless of current setting
2016-03-17 15:20:34 +02:00
Sören Tempel d8dabed4aa abuild: allow passing custom flags to patch(1) in prepare
To do so you need to set the patch_args variable to your desired
command line flags.
2016-03-14 15:09:10 +01:00
Timo Teräs 289400213c abuild: fix getfattr match
it's a regular expression, not shell pattern. empty match will
match everything (default is ^user\\.)
2016-02-22 14:16:13 +02:00
Timo Teräs 5c05446d07 abuild: use gnu find supported way to find suid binaries 2016-02-22 14:07:16 +02:00
Michael Zuo 251dce53e1 abuild: use standard-issue prepare by default
A majority of APKBUILDs currently use exactly the prepare() provided by
newapkbuild verbatim, even for packages where no patches exist, which
has created the expectation that patches listed as sources are applied
by default.

This rev simply adds that default prepare() to abuild (and exposes it as
default_prepare), with no configurability. If needed, default behaviour
can be overridden by providing explicitly prepare().
2016-02-22 14:04:52 +02:00
Sören Tempel 578ab740ad abuild: Respect $reporev variable when fetching git repositories
For git repositories the $reporev variable is not really used since the
$_rev variable is passed to git and $_rev was only set when $reporev was
empty.
2016-02-11 14:26:08 +01:00
Michael Zuo 8d272af174 abuild: Fix indention of the snapshot() function
The snapshot function was indented with spaces while the rest of the
code is indented with tabs.
2016-02-11 14:21:12 +01:00
Natanael Copa a2c0a6897e abuild: minor speed improvement in symlink compression
instead of forking stat once force every file with one file argument,
we fork it once with all the files as arg. This reduces number of forks.
2016-02-03 19:33:35 +00:00
Natanael Copa eee56356ab abuild: fix finding already compressed manpages 2016-02-03 19:32:30 +00:00
Natanael Copa b628bb4305 abuild: avoid compress man pages double
we should not compress man pages that are already compressed.
2016-02-03 18:42:47 +00:00
Sören Tempel 2b8ffc9876 abuild: update symlinks before updating hardlinks
This should be a minimal performance improvement since hardlinks are
replaced with symlinks and should thus already point to the correct
file.
2016-02-03 18:21:02 +00:00