Age | Commit message (Collapse) | Author | Files | Lines |
|
this is where it is built too
|
|
so we can crosscompile for different architectures
|
|
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.
|
|
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.
|
|
|
|
|
|
|
|
Default is asking for each file.
|
|
|
|
|
|
|
|
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"
|
|
So we don't waste time installing dependencies on builder if
the host dependencies are not satisfiable.
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
it's annoying flickering, and results the title being unset for
the time when last split is executed and packages are created.
|
|
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.
|
|
we probably will not be able to run the scripts as it can
be incompatible system type
|
|
Fix filename_from_uri call
Ensure remote sources are fetched
Include remote sources in source package
Include pre/post scripts
Include trigger scripts
|
|
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.
|
|
this allows blacklisting architectures instead of just
whitelisting them. useful when more architectures comeabout.
|
|
unzip(1) is verbose by default since we don't run tar(1) in verbose mode
we should run unzip with -q for consistency.
|
|
"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.
|
|
fix check that all subpackages exists, not only main package
|
|
some packages don't have patches. We should not error if builddir is not
set in this case.
|
|
the _ prefix is reserved for APKBUILD. This is to avoid use variable
names in APKBUILD that may clash with abuilds internal vars
|
|
consistent result regardless of current setting
|
|
To do so you need to set the patch_args variable to your desired
command line flags.
|
|
it's a regular expression, not shell pattern. empty match will
match everything (default is ^user\\.)
|
|
|
|
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().
|
|
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.
|
|
The snapshot function was indented with spaces while the rest of the
code is indented with tabs.
|
|
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.
|
|
|
|
we should not compress man pages that are already compressed.
|
|
This should be a minimal performance improvement since hardlinks are
replaced with symlinks and should thus already point to the correct
file.
|
|
The problem is that gzip refuses to run if it detects that a file has
more than 1 link. Our existing solution (removing hardlinks, compressing
the man page and recreating the hardlinks) made certain assumptions
about inode order that are only given on Unix v7 like filesystems
meaning it didn't work properly on 'tree-based' filesystems like BTRFS
or ZFS.
This patch has a different more bulletproof approach: It simply replaces
all hardlinks with symlinks. This is way easier because symlinks (unlike
hardlinks) can point to a file that doesn't exist, therefore we can
update all links before compressing the file in an easy way.
|
|
|
|
Furthermore compare the UID instead of the username.
|
|
similar as commit b3174ba76 ("abuild: make sure we don't add dupes of
provides", Fri Jun 5 12:56:44 2015 +0000)
|
|
This commit also fixes incorrect behavior in case where an absolute
symlink points to a file installed on the build host but which is
missing from the package.
|
|
|
|
we might need add $pkgname as a dependency for $pkgname-dev and then we
should not install ourselves in case makedepends="$depends_dev"
This is needed foor bootstraping.
|
|
for packages
This occurs when building meta packages that do not have any package content.
|
|
|