summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--main/apk-tools/APKBUILD9
-rw-r--r--main/apk-tools/apk-tools-static.patch65
2 files changed, 72 insertions, 2 deletions
diff --git a/main/apk-tools/APKBUILD b/main/apk-tools/APKBUILD
index 2c96805b48b..90cff68dc2c 100644
--- a/main/apk-tools/APKBUILD
+++ b/main/apk-tools/APKBUILD
@@ -1,13 +1,14 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=apk-tools
pkgver=2.0.5
-pkgrel=0
+pkgrel=1
pkgdesc="Alpine Package Keeper - package manager for alpine"
subpackages="$pkgname-static"
depends=
makedepends="zlib-dev openssl-dev pkgconfig"
source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2
0001-Makefile-do-not-require-lua-pkgconfig-unless-you-int.patch
+ apk-tools-static.patch
"
url="http://git.alpinelinux.org/cgit/apk-tools/"
@@ -21,6 +22,9 @@ prepare() {
*.patch) patch -p1 -i "$srcdir"/$i || return 1
esac
done
+ # the patch includes a symlink
+ rm -f src/apk-static.c
+ ln -s apk.c src/apk-static.c
}
build() {
@@ -49,4 +53,5 @@ static() {
}
md5sums="7f9234ab210557b064d7bd9b42833f0a apk-tools-2.0.5.tar.bz2
-f63d483b724e8e9344ce8cb965d5ed22 0001-Makefile-do-not-require-lua-pkgconfig-unless-you-int.patch"
+f63d483b724e8e9344ce8cb965d5ed22 0001-Makefile-do-not-require-lua-pkgconfig-unless-you-int.patch
+3c1f21719a6c4aba51333cf0d88c5600 apk-tools-static.patch"
diff --git a/main/apk-tools/apk-tools-static.patch b/main/apk-tools/apk-tools-static.patch
new file mode 100644
index 00000000000..c122964b45b
--- /dev/null
+++ b/main/apk-tools/apk-tools-static.patch
@@ -0,0 +1,65 @@
+commit dd6008995a8e8509d71ffa906c837e7a320e8a15
+Author: Timo Teräs <timo.teras@iki.fi>
+Date: Wed Jun 30 16:53:56 2010 +0300
+
+ static build: do not use openssl engines
+
+ We want minimal static build. And this now also breaks with our openssl
+ since it tries to automatically dlopen some of the engine modules.
+
+diff --git a/.gitignore b/.gitignore
+index f6f9cf6..2b22f52 100644
+--- a/.gitignore
++++ b/.gitignore
+@@ -1,4 +1,5 @@
+ apk
++apk.static
+ *.o
+ *.d
+ *.cmd
+diff --git a/src/Makefile b/src/Makefile
+index bea288e..c9cda6a 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -41,9 +41,10 @@ endif
+
+ CFLAGS_ALL += -D_ATFILE_SOURCE
+ CFLAGS_apk.o := -DAPK_VERSION=\"$(FULL_VERSION)\"
++CFLAGS_apk-static.o := -DAPK_VERSION=\"$(FULL_VERSION)\" -DOPENSSL_NO_ENGINE
+
+ progs-$(STATIC) += apk.static
+-apk.static-objs := $(apk-objs)
++apk.static-objs := $(filter-out apk.o,$(apk-objs)) apk-static.o
+ LDFLAGS_apk.static := -static
+ LDFLAGS_apk += -nopie -L$(obj)
+
+diff --git a/src/apk-static.c b/src/apk-static.c
+new file mode 120000
+index 0000000..bf745af
+--- /dev/null
++++ b/src/apk-static.c
+@@ -0,0 +1 @@
++apk.c
+\ No newline at end of file
+diff --git a/src/apk.c b/src/apk.c
+index 81bb950..4196f74 100644
+--- a/src/apk.c
++++ b/src/apk.c
+@@ -12,13 +12,17 @@
+ #include <stdio.h>
+ #include <fcntl.h>
+ #include <ctype.h>
++#include <errno.h>
+ #include <stdarg.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include <getopt.h>
+ #include <sys/stat.h>
+
++#include <openssl/crypto.h>
++#ifndef OPENSSL_NO_ENGINE
+ #include <openssl/engine.h>
++#endif
+
+ #include "apk_defines.h"
+ #include "apk_database.h"