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
Sören Tempel
e8e0b9e90a
abuild: rewrite hardlink handling when compressing man pages
...
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.
2016-02-03 18:21:02 +00:00
Sören Tempel
042921b798
abuild: there is no man page section 9
2016-02-03 18:21:02 +00:00
Sören Tempel
eb0ffe7a8a
abuild: use id instead of whoami
...
Furthermore compare the UID instead of the username.
2016-02-03 18:21:02 +00:00
Natanael Copa
d537a005c6
abuild: avoid dupes in provides so:*
...
similar as commit b3174ba76
("abuild: make sure we don't add dupes of
provides", Fri Jun 5 12:56:44 2015 +0000)
2016-01-27 10:50:50 +00:00
Kaarle Ritvanen
f37a174836
abuild: exclude non-dangling symlinks from dependency resolution
...
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.
2015-11-30 07:26:56 +00:00
Timo Teräs
55041a1e10
abuild: fix conflict checking
2015-11-12 14:10:19 +02:00
Natanael Copa
ef647cce73
abuild: do not install itself as a makedepend
...
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.
2015-10-29 18:06:42 +00:00
Christian Kampka
b67dec210a
abuild: avoid division by zero when input is zero for calculating human size for packages
...
This occurs when building meta packages that do not have any package content.
2015-10-28 14:26:59 +00:00
Natanael Copa
62853e7145
abuild: fix check_depends_dev
2015-10-12 07:01:06 +00:00
Carlo Landmeter
ea8ab0c920
abuild: check if depends_dev is set unnecessarily
...
depends_dev are dependencies of the of the developement subpackage
it does not need to be set when there is no developement subpackage
2015-09-28 13:08:16 +02:00
Carlo Landmeter
ac8b0e55cb
abuild: fix issue in maintainer check
...
seems the maintainer variable is not set anymore when building .PKGINFO
2015-09-16 22:58:27 +02:00
Carlo Landmeter
aa32ec14e6
abuild: try to validate maintainer address
...
abuild will error when the maintainer is set but is not a RFC822 address
2015-09-16 11:00:10 +02:00
Natanael Copa
4bc9e3dd6e
abuild: add -K for keeping tempdirs and deps
2015-09-08 09:04:45 +02:00
Natanael Copa
92186b70ca
abuild: fix fetch lock file on nfs
...
flock(2) on an NFS mount will on the server side convert the lock to a
POSIX lock (fcntl(F_SETLK)). This means that abuild running on NFS
server and client will create different locks and they will both try
download same file at same time.
We fix this by creating a small abuild-fetch application that will
create a POSIX lock which works with NFS.
2015-08-26 16:44:23 +02:00
Natanael Copa
fe2332d186
abuild: fix man pages compression
...
fix handling of hardlinks and symlinks.
also compress n man pages and localized man pages
2015-08-19 10:59:00 +02:00
Natanael Copa
72fefe0f1d
abuild: add support for sonameprefix
...
This is a feature to prefix all so:* provides with a tag. This was done
so that the openjdk8 so depends would only be satisfied by openjdk8
provides and not openjdk7, which might provide same so:lib*.so file.
To use it do: sonameprefix="openjdk8:"
2015-08-18 16:56:26 +02:00
Natanael Copa
a2c4d5b00d
abuild: check correct name for -doc
2015-08-18 13:46:15 +02:00
Natanael Copa
784f75ee94
abuild: always check for uncompressed man pages
2015-08-17 13:10:14 +02:00
Sören Tempel
cf65c9b41b
abuild: check for /usr/share/{doc,man}
...
Output a warning if those directories exist on a non-doc package.
Furthermore, check if uncompressed man pages where installed to
/usr/share/man.
2015-08-17 11:41:19 +02:00
Natanael Copa
b8b4929245
abuild: fix dep-scanning when sub and main pkg's arch differs
...
Force dependency scanning when main pkg has noarch but subpackage
overrides it. We need to save the arch setting set in split func for
later if it differs from main pkg's arch in a temp file because the
splitfunc runs in a subprocess.
fixes #4491
2015-08-10 07:58:21 +00:00
Natanael Copa
3020891009
abuild: add install_if for -doc packages
...
This lets users 'apk add docs' to always pull in -doc packages.
2015-07-20 14:10:36 +00:00
Natanael Copa
3f3281c87e
abuild: fix circular dependency for symlink deps
...
The package should not have itself as dependency.
2015-06-23 11:20:29 +00:00
Natanael Copa
ec0a5ee93e
abuild: fix deps for versioned pkg-config deps
...
Fix version stripping when filtering out needed pkg-configs that are
provided from same (sub)package.
2015-06-12 07:12:47 +00:00
Natanael Copa
09427f9c7c
abuild: fix finding pkg-config deps in subpackages
...
We strip version from pkg-config dependency when scanning the
subpackages.
2015-06-12 07:09:30 +00:00
Natanael Copa
0e58eeff80
abuild: fix provides and install_if in subpackages
...
we need to clear provides set in global scope before splitting the
subpackages so the subpackage does not inherit main packages' provides.
But at the same time, we must not clear the provides/install_if set in
the splitfunction itself.
2015-06-11 11:56:04 +00:00
Natanael Copa
563409ed82
abuild: clear inherit provides and install_if for subpackages
...
Unexpected result will happen if subpackages inherits the provides or
install_if from main package. So we clear them.
2015-06-08 07:27:23 +00:00
Natanael Copa
b3174ba768
abuild: make sure we don't add dupes of provides
2015-06-05 12:56:44 +00:00
Natanael Copa
fede6d1161
abuild: remove "added pkgconfig (found /usr/lib/pkgconfig)" message
2015-06-05 12:16:39 +00:00
Natanael Copa
b4c8ef7dad
abuild: normalize path when finding symlink targets
...
some paths like usr/lib/../../lib/libudev.so.0.13.0 will fail to resolve
if usr/lib is does not exist, even if lib/libudev.so.0.13.0 does.
To solve thise we normalize out the ../ in path string before we try to
resolve it.
2015-06-05 12:11:47 +00:00
Natanael Copa
9e91755369
abuild: add warning when depends_dev needs cleanup
2015-06-05 07:27:44 +00:00
Natanael Copa
f5dce44bf9
abuild: add warning when pc:* provider is missing
...
and indicate which package that should provide it and needs a rebuild.
2015-06-05 07:18:09 +00:00
Natanael Copa
e59de7c8a2
abuild: fix detection of symlink dependencies
...
- add as dep when the target is also a symlink
- fix handling of absolute path in target
2015-06-04 11:50:41 +00:00
Natanael Copa
fddc01bbbb
abuild: fix detection of pkg-config module version
...
pkg-config will not print version unless dependencies are met so we can
not exclude the system modules.
2015-06-04 07:51:44 +00:00
Natanael Copa
2f5ef7e2fa
abuild: autodetect pkg-config dependencies
...
we create provides for pc:<module>=<version> for pkg-config files and
whenever possible we add depends=pc:<module>.
We also handle version requirements whenever those are specified.
2015-06-03 12:16:35 +00:00
Natanael Copa
f8a2871a9c
abuild: fix regression in scanning shared objects
...
fix regression introduced with commit c70dbf8
(abuild: automatically
detect symlink targets in other subpackages)
2015-06-03 11:12:28 +00:00
Natanael Copa
0263b66cc1
abuild: do not exclude depends_dev
...
fixes regression introduced with commit 6582be1d
(abuild: pull only in
needed dependencies for -dev packages)
2015-06-03 09:39:36 +00:00
Natanael Copa
6582be1d0b
abuild: pull only in needed dependencies for -dev packages
...
ref #4109
2015-06-03 06:45:04 +00:00
Natanael Copa
c70dbf8495
abuild: automatically detect symlink targets in other subpackages
...
Automatically pull in dependencies for symlink targets provided by other
subpackages.
This is mainly for pulling in target of .so symlinks.
2015-06-03 06:28:34 +00:00
Natanael Copa
5e268f8d70
abuild: cleanup. use better function names
...
no change in code logic
2015-06-03 06:27:15 +00:00
Natanael Copa
25a56f81a2
abuild: check that source package is not a version number only
...
github tarballs are normally only a version number. we need to force
that those are renamed so we dont get source tarball name collisions.
2015-04-28 14:09:11 +00:00
Natanael Copa
553762ca30
abuild: require that .initd files are sbin/openrc-run
...
The sbin/runscript was renamed to sbin/openrc-run with openrc-0.13
warn only if it is sbin/runscript for compatibility
2015-04-28 14:09:11 +00:00
Natanael Copa
60225fc46c
abuild: fix license in pkginfo
...
license is a simple string, not an array
2015-04-23 12:23:38 +00:00
Timo Teräs
a664181714
abuild: preserve all xattrs
...
by default getfattr omits system xattrs like security.capability
2015-04-09 08:47:56 +03:00
Timo Teräs
18594ff66c
abuild: assume GNU tar and store xattrs
2015-04-08 10:52:34 +03:00
Natanael Copa
756a9e0c04
abuild: fix CXXFLAGS for debug
2015-01-28 13:09:24 +00:00
Natanael Copa
a6150cc7e0
abuild: fix move of .a file to -dev subpackage
...
seems like new version of busybox find would stop if lib/ dir does not
exist.
2015-01-14 15:26:58 +00:00
Natanael Copa
a5caab30c9
abuild: improve error message when conflicting packages are installed
2014-12-29 12:54:52 +00:00
Łukasz Jendrysik
b7c197f20c
Removed conflicts= support
...
Conflicts support in an abuild seems to be uneccessary feature.
Signed-off-by: Łukasz Jendrysik <scadu@yandex.com>
2014-12-29 12:35:02 +00:00
Bartłomiej Piotrowski
fa204f8557
abuild: remove *.la files by default
...
Libtool archives are useless in the most of cases and can be safely
removed. A quick grep shows that *.la files are explicitly removed in
903 APKBUILDs, while intentionally preserved only in 17.
postcheck() is discussable place to perform the deletion, but it's
currently the only function being run for each subpackage, including
the artifact of package().
2014-12-29 12:34:47 +00:00
Natanael Copa
f1b0b3de5e
abuild: remove debug message
...
this was added by mistake
2014-10-02 09:21:47 +00:00
Natanael Copa
aa74d0eccc
abuild: add 'index' subcommand to refresh the abuild repo index
...
this is a convenience synonym to update_abuildrepo_index
2014-09-25 07:50:19 +00:00
Natanael Copa
046cebc28b
abuild: sort commands in helptext alpabetically
2014-09-25 07:49:31 +00:00
Natanael Copa
febda24d52
abuild: use cat <<EOF instead of tons of echo for help text
...
no code changes
2014-09-25 07:49:31 +00:00
Natanael Copa
9842fbe437
abuild: update abuildrepo index after cleanoldpkg
2014-09-25 07:42:01 +00:00
Natanael Copa
7af694c9ad
abuild: check for suid binaries
...
Rais an error when binaries with suid bit set found. You need set
options="suid" to allow it.
2014-09-25 07:34:57 +00:00
Eivind Uggedal
6bc28a2a1c
abuild: fix typo in help for -A
2014-06-23 15:47:53 +02:00
Eivind Uggedal
cabeb70e10
abuild: compress man pages
2014-06-23 07:47:51 +00:00
Natanael Copa
4738deefdd
abuild: show 'prepare' in help text
...
ref #2878
2014-04-30 13:59:18 +00:00
Natanael Copa
ad9db219b8
fix permissions
2014-03-31 11:49:48 +00:00
Natanael Copa
2d9dd59b67
abuild: add -A for print arch
2014-03-31 08:51:50 +00:00
Bartłomiej Piotrowski
3a48923aa5
abuild: fix typo in rpath warning
2014-03-18 13:58:29 +01:00
Carlo Landmeter
7f56562337
abuild: switch to svn co instead of export
...
Some projects use the svn revision in the version number.
svn co brings back the revision number but increases the archive size.
2014-02-18 08:43:48 +00:00
Carlo Landmeter
9d300d72e4
abuild: fix typo in snapshot help
2014-02-18 08:42:01 +00:00
Natanael Copa
9cb1ad3cff
abuild: implement -dbg subpackages
...
Patch from Andrew Manison.
ref #626
2014-01-16 14:33:45 +01:00
Natanael Copa
8d6009110c
abuild: exit with error if pkgrel is unset
2014-01-13 12:38:58 +00:00
Natanael Copa
cb2c174100
abuild: filter out empty lines when scanning for SO dependencies
...
This works around a bug in busybox 1.22.0 that makes 'grep -w ^' hang.
It is triggered when there are no deps. (eg. musl)
2014-01-06 13:32:59 +00:00
Timo Teräs
eee827b16b
abuild: use posix syntax for find
2014-01-03 23:15:09 +02:00
Natanael Copa
212ba26389
abuild: log repo/pkgname-version
2013-12-16 07:36:00 +00:00
Leslie P. Polzer
b4fb3c6a81
abuild: print a message if aborting due to architecture mismatch.
2013-11-15 16:04:04 +00:00
Natanael Copa
ef0d32d15a
abuild: add support for ABUILD_BLACKLIST
...
The ABUILD_BLACKLIST can be used to give abuild a list of packages that
is known to fail to build. This can be used to reduce build retries
when building many/all packages recursively.
2013-11-01 09:14:13 +00:00
Natanael Copa
a0d3624b05
abuild: remove debug message
2013-11-01 09:01:26 +00:00
Leslie P. Polzer
3ba814494f
Fix typo (busbox -> busybox).
2013-10-31 12:55:38 +00:00
Natanael Copa
92a0f2da31
abuild: move /usr/share/help to -doc subpackage
2013-10-31 12:55:23 +00:00
Natanael Copa
46dc398114
abuild: check early for signing keys
...
fi the signing key is missing we will fail. Rather than fail after
compile we check existance of signing keys before we start.
2013-10-25 08:43:14 +00:00
Natanael Copa
98fe44cb73
abuild: also install 'depends' with 'abuild deps'
...
fixes #2270
2013-10-25 08:20:21 +00:00
Natanael Copa
4757588caf
functions: rename abuild_ver to program_version
2013-10-25 07:26:22 +00:00
Natanael Copa
1822f3f624
functions: rename prog to program
2013-10-25 07:24:46 +00:00
Natanael Copa
0c02afc694
abuild: move various functions to the shared functions.sh
...
specifically, every script that reads/parses ./APKBUILD needs to set
CARCH.
2013-10-25 07:18:11 +00:00
Natanael Copa
3092986fc6
abuild: add cmake files to -dev
2013-10-04 18:22:51 +00:00
Natanael Copa
f95366002f
abuild: support qt5 mkspecs
2013-10-04 14:15:17 +00:00
Timo Teräs
9e9e27b1db
abuild: fix error message in update_config_sub
2013-09-26 10:22:13 +03:00