aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/abuild/0001-abuild-fix-runpart.patch62
-rw-r--r--main/abuild/0001-functions-fix-abuild-A.patch28
-rw-r--r--main/abuild/APKBUILD10
-rw-r--r--main/abuild/abuild-check.patch376
4 files changed, 3 insertions, 473 deletions
diff --git a/main/abuild/0001-abuild-fix-runpart.patch b/main/abuild/0001-abuild-fix-runpart.patch
deleted file mode 100644
index 6f6c3eae22..0000000000
--- a/main/abuild/0001-abuild-fix-runpart.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From 3b61bfb6445a71208e218828296b8ca3bb65932e Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Tue, 21 Mar 2017 08:05:44 +0000
-Subject: [PATCH] abuild: fix runpart
-
-we need to run the function for runpart in the same shell, otherwise we
-will lose the global variables set in the split functions.
----
- abuild.in | 29 +++++++++++------------------
- 1 file changed, 11 insertions(+), 18 deletions(-)
-
-diff --git a/abuild.in b/abuild.in
-index 1eede20..903da3a 100644
---- a/abuild.in
-+++ b/abuild.in
-@@ -566,9 +566,9 @@ update_config_guess() {
- runpart() {
- local part=$1
- [ -n "$DEBUG" ] && msg "$part"
-- abuild_function=$part "$abuild_path" \
-- $color_opt $nodeps $force $forceroot $keep $quiet \
-- $install_deps $recursive $upgrade || die "$part failed"
-+ trap "die '$part failed'" EXIT
-+ $part
-+ trap - EXIT
- }
-
- # override those in your build script
-@@ -2340,22 +2340,15 @@ controldir="$pkgbasedir"/.control.${subpkgname:-$pkgname}
-
- trap 'die "Aborted by user"' INT
-
--if [ "$abuild_function" ]; then
-- _function=$abuild_function
-- abuild_function=
-- $_function
-+[ -z "$subpkgdir" ] && set_xterm_title "abuild${CROSS_COMPILE+-$CARCH}: $pkgname"
-
--else
-- [ -z "$subpkgdir" ] && set_xterm_title "abuild${CROSS_COMPILE+-$CARCH}: $pkgname"
--
-- if [ -z "$1" ]; then
-- set all
-- fi
--
-- while [ $# -gt 0 ]; do
-- runpart $1
-- shift
-- done
-+if [ -z "$1" ]; then
-+ set all
- fi
-
-+while [ $# -gt 0 ]; do
-+ runpart $1
-+ shift
-+done
-+
- cleanup
---
-2.11.1
-
diff --git a/main/abuild/0001-functions-fix-abuild-A.patch b/main/abuild/0001-functions-fix-abuild-A.patch
deleted file mode 100644
index 77245901e4..0000000000
--- a/main/abuild/0001-functions-fix-abuild-A.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 9c1595dc423970cf86ef371dd15df9b27d9baf81 Mon Sep 17 00:00:00 2001
-From: Natanael Copa <ncopa@alpinelinux.org>
-Date: Mon, 20 Mar 2017 16:13:07 +0000
-Subject: [PATCH] functions: fix abuild -A
-
-fix so abuild -A does not exit with error if gitbase fails
-
-this was introduced with the set -e
----
- functions.sh.in | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/functions.sh.in b/functions.sh.in
-index 3e1840c..925dc43 100644
---- a/functions.sh.in
-+++ b/functions.sh.in
-@@ -71,7 +71,7 @@ readconfig() {
- [ -f "$ABUILD_CONF" ] && . "$ABUILD_CONF"
- [ -f "$ABUILD_USERCONF" ] && . "$ABUILD_USERCONF"
- APORTSDIR=${_APORTSDIR-$APORTSDIR}
-- gitbase=$(git rev-parse --show-toplevel 2>/dev/null) # already is -P
-+ gitbase=$(git rev-parse --show-toplevel 2>/dev/null) || true # already is -P
- if [ -d "$APORTSDIR" ]; then
- APORTSDIR=$(cd "$APORTSDIR"; pwd -P)
- elif [ -z "$APORTSDIR" ] && [ -d "$HOME/aports" ]; then
---
-2.11.1
-
diff --git a/main/abuild/APKBUILD b/main/abuild/APKBUILD
index 2b1bc9a9ef..e9d4534946 100644
--- a/main/abuild/APKBUILD
+++ b/main/abuild/APKBUILD
@@ -1,8 +1,8 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=abuild
-pkgver=3.0.0_rc1
+pkgver=3.0.0_rc2
_ver=${pkgver%_git*}
-pkgrel=3
+pkgrel=0
pkgdesc="Script to build Alpine Packages"
url="http://git.alpinelinux.org/cgit/abuild/"
arch="all"
@@ -20,8 +20,6 @@ subpackages="apkbuild-cpan:cpan:noarch apkbuild-gem-resolver:gems:noarch"
options="suid"
pkggroups="abuild"
source="http://dev.alpinelinux.org/archive/abuild/abuild-$_ver.tar.xz
- 0001-functions-fix-abuild-A.patch
- 0001-abuild-fix-runpart.patch
"
builddir="$srcdir/$pkgname-$_ver"
@@ -64,6 +62,4 @@ gems() {
mv "$pkgdir"/usr/bin/apkbuild-gem-resolver "$subpkgdir"/usr/bin/
}
-sha512sums="48f33e791805d9ec0f1fcfc28d9d2e58c84dc168b1a64e52733eefdc9daf2450c0cea20f9cdf3a61755d7344cc24f801ef0e9954b30881a713885d935a59dc36 abuild-3.0.0_rc1.tar.xz
-eaec95123f4c67fce84ccd190d1de47f27406acd1f600495100bf553b48eb9bf2a91b833a2c0d37c15306014e6972ea5a25134c35fd29be7a8f8574168cbb5a9 0001-functions-fix-abuild-A.patch
-1a8094ade46455caf5de84c3e465af492ee3e018e98767cb93e6eea2f83d91feea846b77ee06b70e17395519ebe11ba5cb6add73d49c548b1daca361a4258997 0001-abuild-fix-runpart.patch"
+sha512sums="bb6fa7af3144db99839c24db63e17179d73f659a76c86d530923158b37fad3fcd73ea992f9d5f4ac3c48c13ccebb62ffbe461b3871dcb4b7b1ca6efd934e4be2 abuild-3.0.0_rc2.tar.xz"
diff --git a/main/abuild/abuild-check.patch b/main/abuild/abuild-check.patch
deleted file mode 100644
index 2df7f5809e..0000000000
--- a/main/abuild/abuild-check.patch
+++ /dev/null
@@ -1,376 +0,0 @@
-From ea1db36f1f62889ddcf4dbf8ca85409619d4424c Mon Sep 17 00:00:00 2001
-From: William Pitcock <nenolod@dereferenced.org>
-Date: Sun, 29 Jan 2017 09:47:25 +0000
-Subject: [PATCH 1/3] 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.
----
- abuild.in | 32 ++++++++++++++++++++++++++++----
- 1 file changed, 28 insertions(+), 4 deletions(-)
-
-diff --git a/abuild.in b/abuild.in
-index 2b2d23b..aa1fe09 100644
---- a/abuild.in
-+++ b/abuild.in
-@@ -66,6 +66,12 @@ cross_compiling() {
- test "$CBUILD" != "$CHOST" -a -n "$CBUILDROOT"
- }
-
-+want_check() {
-+ cross_compiling && return 1
-+ options_has "!check" && return 1
-+ return 0
-+}
-+
- cleanup() {
- local i=
- [ -z "$subpkgdir" ] && set_xterm_title ""
-@@ -199,6 +205,7 @@ default_sanitycheck() {
- [ -n "$pkguser" ] && spell_error pkguser pkgusers
- [ -n "$pkggroup" ] && spell_error pkggroup pkggroups
- [ -n "$subpackage" ] && spell_error subpackage subpackages
-+ [ -n "$checkdepend" ] && spell_error checkdepend checkdepends
-
- check_maintainer || die "Provide a valid RFC822 maintainer address"
-
-@@ -1365,18 +1372,21 @@ create_apks() {
- }
-
- build_abuildrepo() {
-- local d apk _build=build
-+ local d apk _build=build _check=check
- if ! is_function package; then
- # if package() is missing then build is called from rootpkg
- _build=true
- fi
-+ if ! want_check; then
-+ _check=true
-+ fi
- if ! apk_up2date || [ -n "$force" ]; then
- # check early if we have abuild key
- abuild-sign --installed || return 1
- logcmd "building $repo/$pkgname-$pkgver-r$pkgrel"
- sanitycheck && builddeps && clean && fetch && unpack \
-- && prepare && mkusers && $_build && rootpkg \
-- && cleanup $CLEANUP \
-+ && prepare && mkusers && $_build && $_check \
-+ && rootpkg && cleanup $CLEANUP \
- || return 1
- fi
- update_abuildrepo_index
-@@ -1417,6 +1427,15 @@ update_abuildrepo_index() {
- done
- }
-
-+# predefined function check
-+default_check() {
-+ warning "APKBUILD does not run any tests - define a check() function!"
-+}
-+
-+check() {
-+ default_check
-+}
-+
- # predefined splitfunc doc
- default_doc() {
- depends="$depends_doc"
-@@ -1715,11 +1734,14 @@ parse_aports_makedepends() {
- subpackages=
- depends=
- makedepends=
-+ checkdepends=
- . $i
- dir=${i%/APKBUILD}
- deps=
- # filter out conflicts from deps and version info
-- for j in $depends $makedepends; do
-+ wantdepends="$depends $makedepends"
-+ want_check && wantdepends="$wantdepends $checkdepends"
-+ for j in $wantdepends; do
- case "$j" in
- !*) continue;;
- esac
-@@ -1792,6 +1814,7 @@ calcdeps() {
- done
- else
- [ -z "$makedepends" ] && makedepends="$makedepends_build $makedepends_host"
-+ want_check && makedepends="$makedepends $checkdepends"
- for i in $1 $depends $makedepends; do
- [ "$pkgname" = "${i%%[<>=]*}" ] && continue
- list_has $i $builddeps && continue
-@@ -2147,6 +2170,7 @@ usage() {
-
- Commands:
- build Compile and install package into \$pkgdir
-+ check Run any defined tests concerning the package
- checksum Generate checksum to be included in APKBUILD
- clean Remove temp build and install dirs
- cleancache Remove downloaded files from \$SRCDEST
---
-2.11.1
-
-From 7c1609b1bb4b6b7219b21b0d2750fcfaf02d63bc Mon Sep 17 00:00:00 2001
-From: William Pitcock <nenolod@dereferenced.org>
-Date: Sun, 29 Jan 2017 09:50:29 +0000
-Subject: [PATCH 2/3] sample apkbuild: document check() function usage
-
----
- sample.APKBUILD | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/sample.APKBUILD b/sample.APKBUILD
-index a95fec2..30184c5 100644
---- a/sample.APKBUILD
-+++ b/sample.APKBUILD
-@@ -43,4 +43,11 @@ package() {
- # install -m644 -D "$srcdir"/$pkgname.confd "$pkgdir"/etc/conf.d/$pkgname
- }
-
-+check() {
-+ # uncomment the 2 lines below if there is a testsuite. we assume the testsuite
-+ # is run using "make check", which is the default for autotools-based build systems.
-+ # cd "$builddir"
-+ # make check || return 1
-+}
-+
- md5sums="" #generate with 'abuild checksum'
---
-2.11.1
-
-From 14f8fcfb372f9f9ab877c33f309431aa2043c097 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Timo=20Ter=C3=A4s?= <timo.teras@iki.fi>
-Date: Tue, 31 Jan 2017 10:20:14 +0200
-Subject: [PATCH 3/3] apkbuild-cpan: fix warnings, improve recreate, add check
- support
-
----
- apkbuild-cpan.in | 62 ++++++++++++++++++++++++++++++++++++++++++--------------
- 1 file changed, 47 insertions(+), 15 deletions(-)
-
-diff --git a/apkbuild-cpan.in b/apkbuild-cpan.in
-index 5566f8e..688df6e 100644
---- a/apkbuild-cpan.in
-+++ b/apkbuild-cpan.in
-@@ -3,7 +3,10 @@
-
- use strict;
- use warnings;
--use feature qw(:5.10);
-+use 5.016;
-+use feature "switch";
-+no if $] >= 5.018, warnings => "experimental::smartmatch";
-+
- use LWP::UserAgent;
- use LWP::ConnCache;
- use CPAN::Meta;
-@@ -21,9 +24,8 @@ my $package_mappings = {
- };
- our $packager = "";
- my $template = <<'EOF';
--# Automatically generated by apkbuild-cpan, template 1
--# Contributor: [% packager %]
--# Maintainer: [% packager %]
-+# Automatically generated by apkbuild-cpan, template 2
-+[% authors %]
- pkgname=[% pkgname %]
- _pkgreal=[% pkgreal %]
- pkgver=[% pkgver %]
-@@ -34,8 +36,10 @@ arch="noarch"
- license="GPL PerlArtistic"
- cpandepends=""
- cpanmakedepends=""
-+cpancheckdepends=""
- depends="$cpandepends"
- makedepends="perl-dev $cpanmakedepends"
-+checkdepends="$cpancheckdepends"
- subpackages="$pkgname-doc"
- source="[% source %]"
- builddir="$srcdir/$_pkgreal-$pkgver"
-@@ -59,6 +63,10 @@ package() {
- :
- }
-
-+check() {
-+ :
-+}
-+
- EOF
-
- our $ua = LWP::UserAgent->new();
-@@ -66,8 +74,7 @@ our $json = JSON->new;
- $ua->env_proxy;
- $ua->conn_cache(LWP::ConnCache->new());
-
--sub read_file
--{
-+sub read_file {
- my ($filename) = @_;
- local $/;
- open my $fh, "<", $filename or die "could not open $filename: $!";
-@@ -76,10 +83,15 @@ sub read_file
-
- sub read_assignments_from_file {
- my ($filename) = @_;
-+ return () if ( ! -e $filename );
- my $text = read_file($filename);
- my %sline = $text =~ /^(\w+)\s*=\s*([^\"\n]*)$/mg;
- my %mline = $text =~ /^(\w+)\s*=\s*\"([^\"]*)\"$/mg;
- my %hash = ( %sline, %mline );
-+
-+ my $authors = join("\n", $text =~ /^# Contributor: .*$/mg, $text =~ /^# Maintainer: .*$/mg);
-+ $hash{'authors'} = $authors if length($authors) > 1;
-+
- return \%hash;
- }
-
-@@ -96,12 +108,13 @@ sub read_apkbuild {
- }
-
- sub write_apkbuild {
-- my ($distdata) = @_;
-+ my ($distdata, $authors) = @_;
-
- my $cpanid = $distdata->{releases}[0]->{cpanid};
- $cpanid = substr($cpanid, 0, 1) . "/" . substr($cpanid, 0, 2) . "/$cpanid";
-+
- my %repl = (
-- packager => $packager,
-+ authors => ($authors or "# Contributor: $packager\n# Maintainer: $packager"),
- pkgname => map_cpan_to_apk($distdata->{name}),
- pkgreal => $distdata->{name},
- pkgver => $distdata->{releases}[0]->{version},
-@@ -147,7 +160,8 @@ sub parse_deps {
- my $pkgname = map_cpan_to_apk($distdata->{name});
- $deps .= "$pkgname ";
- }
-- $deps =~ s/\s+$//;
-+ $deps =~ s/\h+/ /g;
-+ $deps =~ s/ $//;
- return $deps;
-
- }
-@@ -162,6 +176,7 @@ sub update_functions {
- my $metaprefix = "src/" . $apkbuild->{'_pkgreal'} . "-" . $apkbuild->{'pkgver'} . "/";
- my $prepare_func;
- my $build_func;
-+ my $check_func;
- my $package_func;
-
- my $text = read_file "APKBUILD";
-@@ -203,7 +218,7 @@ EOF
- build() {
- cd "$builddir"
- export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
-- make && make test
-+ make
- }
- EOF
- $package_func = <<'EOF';
-@@ -213,6 +228,13 @@ package() {
- find "$pkgdir" \( -name perllocal.pod -o -name .packlist \) -delete
- }
- EOF
-+ $check_func = <<'EOF';
-+check() {
-+ cd "$builddir"
-+ export CFLAGS=$(perl -MConfig -E 'say $Config{ccflags}')
-+ make test
-+}
-+EOF
- }
-
- $text =~ s/^prepare\(\) \{.*?^\}\n/$prepare_func/smg or
-@@ -221,6 +243,8 @@ EOF
- die "Can't replace build function APKBUILD";
- $text =~ s/^package\(\) \{.*?^\}\n/$package_func/smg or
- die "Can't replace package function APKBUILD";
-+ $text =~ s/^check\(\) \{.*?^\}\n/$check_func/smg or
-+ die "Can't replace check function APKBUILD";
-
- open my $fh, '>', "APKBUILD" or die;
- print $fh $text;
-@@ -251,11 +275,13 @@ sub do_depends {
- say "CPAN deps: $deps";
- say "Recommend: " . parse_deps $meta->effective_prereqs->requirements_for('runtime', 'recommends');
-
-- my $makedeps = parse_deps $meta->effective_prereqs->requirements_for('build', 'requires');
-- $makedeps .= ' ' . parse_deps $meta->effective_prereqs->requirements_for('build', 'recommends');
-- $makedeps .= ' ' . parse_deps $meta->effective_prereqs->requirements_for('test', 'requires');
-- $makedeps .= ' ' . parse_deps $meta->effective_prereqs->requirements_for('test', 'recommends');
-+ my $makedeps = parse_deps($meta->effective_prereqs->requirements_for('build', 'requires'), $meta->effective_prereqs->requirements_for('build', 'recommends'));
- say "CPAN build deps: $makedeps";
-+ say "CPAN requires: " . parse_deps($meta->effective_prereqs->requirements_for('build', 'requires'));
-+ say "CPAN recommds: " . parse_deps($meta->effective_prereqs->requirements_for('build', 'recommends'));
-+
-+ my $checkdeps = parse_deps($meta->effective_prereqs->requirements_for('test', 'requires'), $meta->effective_prereqs->requirements_for('test', 'recommends'));
-+ say "CPAN check deps: $makedeps";
-
- my $text = read_file "APKBUILD";
- if ($abstract) {
-@@ -274,6 +300,8 @@ sub do_depends {
- die "Can't find cpandepends line in APKBUILD";
- $text =~ s/^cpanmakedepends=\"([^\"]*)\"$/cpanmakedepends=\"$makedeps\"/mg or
- die "Can't find cpanmakedepends line in APKBUILD";
-+ $text =~ s/^cpancheckdepends=\"([^\"]*)\"$/cpancheckdepends=\"$checkdeps\"/mg or
-+ die "Can't find cpancheckdepends line in APKBUILD";
-
- open my $fh, '>', "APKBUILD" or die;
- print $fh $text;
-@@ -282,6 +310,7 @@ sub do_depends {
-
- sub get_data {
- my $apkbuild = read_apkbuild;
-+ $apkbuild->{_pkgreal} or die "Not apkbuild-cpan generated APKBUILD";
- my $response = $ua->get("http://search.cpan.org/api/dist/$apkbuild->{_pkgreal}");
- $response->is_success or die $response->status_line;
- my $distdata = $json->decode($response->decoded_content);
-@@ -293,6 +322,9 @@ sub get_data {
- my $abuild_conf = read_assignments_from_file("/etc/abuild.conf");
- $packager = $abuild_conf->{PACKAGER} if $abuild_conf->{PACKAGER};
-
-+my $user_abuild_conf = read_assignments_from_file($ENV{"HOME"} . "/.abuild/abuild.conf");
-+$packager = $user_abuild_conf->{PACKAGER} if $user_abuild_conf->{PACKAGER};
-+
- given ( $ARGV[0] ) {
- when ("create") {
- my $module = $ARGV[1];
-@@ -319,7 +351,7 @@ given ( $ARGV[0] ) {
- }
- when ("recreate") {
- my ($apkbuild, $distdata) = get_data;
-- write_apkbuild($distdata);
-+ write_apkbuild($distdata, $apkbuild->{authors});
- prepare_tree;
- update_functions;
- do_depends;
---
-2.11.1
-
-From c909c82ac22563b1235082a73ee1d35fdf1c4b86 Mon Sep 17 00:00:00 2001
-From: William Pitcock <nenolod@dereferenced.org>
-Date: Tue, 28 Feb 2017 08:22:36 +0000
-Subject: [PATCH] abuild: expand on APKBUILD check() warning message
-
----
- abuild.in | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/abuild.in b/abuild.in
-index b9ab5d6..22bd454 100644
---- a/abuild.in
-+++ b/abuild.in
-@@ -1456,7 +1456,9 @@ update_abuildrepo_index() {
-
- # predefined function check
- default_check() {
-- warning "APKBUILD does not run any tests - define a check() function!"
-+ warning "APKBUILD does not run any tests!"
-+ msg2 "Alpine policy will soon require that packages have any relevant testsuites run during the build process."
-+ msg2 "To fix, either define a check() function, or declare !check in \$options to indicate the package does not have a testsuite."
- }
-
- check() {
---
-2.11.1
-