Commit Graph

1094 Commits

Author SHA1 Message Date
Natanael Copa
5dfc67bf33 abuild-fetch: retry to create lock on ESTALE 2016-05-16 13:15:42 +00:00
Natanael Copa
bd5636c916 abuild-sudo: error check getlogin() 2016-04-14 11:52:59 +00:00
Jakub Jirutka
5487632f30 abuild-sudo: make error msg "Not a member of group abuild" more clear
Few days ago some user on IRC pointed out that the current error message:

    abuild-apk: Not a member of group abuild

is confusing. He was trying to build a package using abuild -r and
didn't know what this message means.

fixes #5408
2016-04-14 11:52:36 +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
3e69161ff7 ==== release 2.27.0 ==== 2016-03-23 10:17:20 +00:00
Natanael Copa
270e5337e7 newapkbuild: rename _builddir to builddir
the _builddir should never been used bu abuild due to the _ prefix.
2016-03-23 10:08:00 +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
Natanael Copa
575cece65e abuild-fetch: use _exit after execvp 2016-03-10 13:48:54 +00:00
Natanael Copa
6345accab1 ==== release 2.26.0 ==== 2016-02-22 12:24:47 +00: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
d1ab7ed40f newapkbuild: remove default prepare()
Do not add prepare() to new APKBUILDs in the future, as this
functionality is superseded by the addition of the default prepare
patcher in abuild.
2016-02-22 14:05:25 +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
Laurent Bercot
d5013a3915 - fix Makefile CFLAGS for abuild-tar.o - make ssl flags overridable (e.g. if we don't have pkg-config) 2016-01-27 10:51:29 +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
4329ca2784 apkbuild-gem-resolver: support community repo 2016-01-02 21:15:52 +02:00
Kaarle Ritvanen
c85fc5b5c4 apkbuild-gem-resolver: support ruby 2.2.4 2016-01-02 21:05:03 +02:00
Kaarle Ritvanen
c2c641046e apkbuild-gem-resolver: support ruby 2.2.3 2015-12-12 00:46:38 +02:00
Sören Tempel
5276a0b87c add abuild-fetch to the .gitignore file 2015-11-30 07:26:56 +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
Natanael Copa
d9eba16d35 newapkbuild: dont set CXX/C COMPILER
cmake is normally able to figure it out and setting them may break
ccache.
2015-11-30 07:26:56 +00:00
Natanael Copa
8638dacee0 newapkbuild: do not add --infodir
normally not used
2015-11-30 07:26:56 +00:00
Timo Teräs
55041a1e10 abuild: fix conflict checking 2015-11-12 14:10:19 +02:00
Timo Teräs
680355db33 add armv7 build target 2015-11-12 09:20:43 +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
Natanael Copa
333a382514 release 2.25.0_rc1 2015-10-28 16:02:33 +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
Andrew Wilcox
cd3eabdf4d abuild-fetch: add missing header 2015-10-08 08:30:32 +00:00
Timo Teräs
002894dfa7 abuild-tar: add missing includes 2015-10-06 14:01:47 +03:00
Andrew Wilcox
34ff603758 abuild-tar: Initialise memory before use 2015-10-06 14:00:55 +03:00
Eivind Uggedal
deb5b0091b abump: ability to override abuild command 2015-09-28 14:39:27 +02: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
Bartłomiej Piotrowski
e1d64f4b0e newapkbuild: *.la files are removed by default 2015-09-15 20:58:46 +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
bed1c80a46 ==== release 2.24.0 ==== 2015-08-19 15:01:50 +02:00