diff --git a/main/acl/APKBUILD b/main/acl/APKBUILD
index de8153af4a02afeef082ae561433125c04266c1a..5b382c5496851709c78afe7ad131f6aae65a321e 100644
--- a/main/acl/APKBUILD
+++ b/main/acl/APKBUILD
@@ -13,6 +13,7 @@ source="http://download.savannah.gnu.org/releases-noredirect/acl/acl-$pkgver.src
 
 prepare() {
 	cd "$srcdir"/acl-$pkgver
+	update_config_sub || return 1
 	#libtoolize --force && aclocal -I m4 && autoconf && autoheader
 	sed -i \
 		-e '/^as_dummy=/s:=":="$PATH$PATH_SEPARATOR:' \
diff --git a/main/autoconf/APKBUILD b/main/autoconf/APKBUILD
index b29fadad069c50505f1d7130517f2d787787ec94..7b7e90dee887919b4af8811b01308ae010a6747c 100644
--- a/main/autoconf/APKBUILD
+++ b/main/autoconf/APKBUILD
@@ -13,6 +13,7 @@ subpackages="$pkgname-doc"
 
 prepare() {
 	cd "$srcdir"/$pkgname-$pkgver
+	update_config_sub || return 1
 	for i in $source; do
 		case $i in
 		*.patch)
diff --git a/main/bash/APKBUILD b/main/bash/APKBUILD
index c0f7b3ff7ddf3a25eadbe053f4a5bbfd047a4fbd..84e55c1810e5e6a750339389dd26ab3f7df1c072 100644
--- a/main/bash/APKBUILD
+++ b/main/bash/APKBUILD
@@ -39,6 +39,7 @@ _builddir="$srcdir"/$pkgname-$_myver
 prepare() {
 	local p
 	cd "$_builddir"
+	update_config_sub || return 1
 	for p in ../bash${_patchbase}-??? ../*.patch; do
 		msg "applying patch ${p##*/}"
 		patch -p0 -i $p || return 1
diff --git a/main/expat/APKBUILD b/main/expat/APKBUILD
index daf4313f6cd95ddee8c0262e9e720965c6ec63bc..d967dffd2d3d5f5da369099268cac4989b98d158 100644
--- a/main/expat/APKBUILD
+++ b/main/expat/APKBUILD
@@ -15,6 +15,7 @@ subpackages="$pkgname-dev $pkgname-doc"
 _builddir="$srcdir/$pkgname-$pkgver"
 prepare() {
 	cd "$_builddir"
+	update_config_sub || return 1
 	for i in "$srcdir"/*.patch; do
 		[ -f "$i" ] || continue
 		msg "Applying $i"
diff --git a/main/flex/APKBUILD b/main/flex/APKBUILD
index 669a70d8e545cf18f705c4642059efa9117da688..d06e87424ae8894fc6f0d581350b7709cbb22edf 100644
--- a/main/flex/APKBUILD
+++ b/main/flex/APKBUILD
@@ -11,6 +11,11 @@ makedepends=m4
 source="http://downloads.sourceforge.net/sourceforge/flex/flex-$pkgver.tar.bz2"
 subpackages="$pkgname-doc"
 
+prepare() {
+	cd "$srcdir/$pkgname-$pkgver"
+	update_config_sub || return 1
+}
+
 build() {
 	cd "$srcdir/$pkgname-$pkgver"
 
diff --git a/main/gawk/APKBUILD b/main/gawk/APKBUILD
index d8244361584213e7ddec50219521ac8e4374f2cb..84e8f4497b582e6dc27a903a0a1305c78453208a 100644
--- a/main/gawk/APKBUILD
+++ b/main/gawk/APKBUILD
@@ -11,9 +11,14 @@ license="GPL"
 subpackages="$pkgname-doc"
 source="http://ftp.gnu.org/gnu/$pkgname/$pkgname-$pkgver.tar.xz"
 
-build() {
-	cd "$srcdir/$pkgname-$pkgver"
+_builddir="$srcdir/$pkgname-$pkgver"
+prepare() {
+	cd "$_builddir"
+	update_config_sub || return 1
+}
 
+build() {
+	cd "$_builddir"
 	./configure \
 		--build=$CBUILD \
 		--host=$CHOST \
diff --git a/main/gdb/APKBUILD b/main/gdb/APKBUILD
index b0130466c0af823377366cf19e4b42d58f018ba7..f8142839466487155fb942152479e39a4d3a1132 100644
--- a/main/gdb/APKBUILD
+++ b/main/gdb/APKBUILD
@@ -49,7 +49,7 @@ build () {
 	[ "$CBUILD" = "$CHOST" ] && _config="$_config --with-system-readline"
 
 	# gdb server does not compile with musl
-	[ "${CHOST#*musl}" != "$CHOST" ] &&  _config="$_config --disable-gdbserver"
+	[ "$CTARGET_LIBC" = musl ] &&  _config="$_config --disable-gdbserver"
 
 	./configure $_config || return 1
 	(cd opcodes && ./configure $_config) || return 1
diff --git a/main/gdbm/APKBUILD b/main/gdbm/APKBUILD
index d6b820cd4709e393a284be2c21ed461b13a135b7..344a3a7f93252c3df18e2de0e0793e5483f5c3a7 100644
--- a/main/gdbm/APKBUILD
+++ b/main/gdbm/APKBUILD
@@ -17,6 +17,7 @@ source="ftp://ftp.nluug.nl/pub/gnu/gdbm/gdbm-$pkgver.tar.gz
 _builddir="$srcdir"/gdbm-$pkgver
 prepare() {
 	cd "$_builddir"
+	update_config_sub || return 1
 	for i in $source; do
 		case $i in
 		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
diff --git a/main/libevent/APKBUILD b/main/libevent/APKBUILD
index f031f8cb3791b385869f268e3502903c3d05a29f..b4a933d9bbb6223a115ba65e1f28a89ed35bb0b3 100644
--- a/main/libevent/APKBUILD
+++ b/main/libevent/APKBUILD
@@ -13,6 +13,11 @@ subpackages="$pkgname-dev"
 source="https://github.com/downloads/libevent/libevent/libevent-$pkgver-stable.tar.gz"
 _builddir="$srcdir"/$pkgname-$pkgver-stable
 
+prepare() {
+	cd "$_builddir"
+	update_config_sub || return 1
+}
+
 build() {
 	cd "$_builddir"
 	./configure \
diff --git a/main/libssh2/APKBUILD b/main/libssh2/APKBUILD
index ca69b55a73455d4d0e32f4b49d5a622d09898911..bbe3d29a789a18ea8f759ca768e92ce95569766a 100644
--- a/main/libssh2/APKBUILD
+++ b/main/libssh2/APKBUILD
@@ -18,6 +18,7 @@ _builddir="$srcdir"/libssh2-$pkgver
 prepare() {
 	local i
 	cd "$_builddir"
+	update_config_sub || return 1
 	for i in $source; do
 		case $i in
 		*.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
diff --git a/main/libtool/APKBUILD b/main/libtool/APKBUILD
index d91cfe41dc59b85c43e9089456631e411782d7eb..b3cdf0a143d78544c90467f706775797a2131e73 100644
--- a/main/libtool/APKBUILD
+++ b/main/libtool/APKBUILD
@@ -11,6 +11,11 @@ depends="bash libltdl"
 subpackages="libltdl $pkgname-doc"
 options="libtool"
 
+prepare() {
+	cd "$srcdir"/$pkgname-$pkgver
+	update_config_sub || return 1
+}
+
 build() {
 	cd "$srcdir"/$pkgname-$pkgver
 	./configure \
diff --git a/main/lua-bitlib/APKBUILD b/main/lua-bitlib/APKBUILD
index 0c8fd572358d88b3e607e5cac342ab956c957672..da6977fa137c44d16980e76830149deb405c1b62 100644
--- a/main/lua-bitlib/APKBUILD
+++ b/main/lua-bitlib/APKBUILD
@@ -15,6 +15,11 @@ replaces="bitlib"
 
 _builddir="$srcdir"/$_name-$pkgver
 
+prepare() {
+	cd "$_builddir"
+	update_config_sub || return 1
+}
+
 build() {
 	cd "$_builddir"
 	./configure \
diff --git a/main/ncurses/APKBUILD b/main/ncurses/APKBUILD
index 341212dc30d816dab508fff8a5f363142a2435ef..fc599b8fc8f2ed2540d417156dd0f8d6f5939a0c 100644
--- a/main/ncurses/APKBUILD
+++ b/main/ncurses/APKBUILD
@@ -11,6 +11,11 @@ source="ftp://ftp.gnu.org/pub/gnu/${pkgname}/${pkgname}-${pkgver}.tar.gz"
 subpackages="$pkgname-dev $pkgname-doc $pkgname-base $pkgname-terminfo 
 	$pkgname-widec-libs:widec $pkgname-libs"
 
+prepare() {
+	cd "$srcdir/$pkgname-$pkgver"
+	update_config_sub || return 1
+}
+
 build() {
 	local _confopts="
 		--build=$CBUILD
diff --git a/main/popt/APKBUILD b/main/popt/APKBUILD
index e5d902c44eb61932fac5d4214ff175a4b291c17e..3263cb74ebbb77c25781e8f4f6fe949813f3fcec 100644
--- a/main/popt/APKBUILD
+++ b/main/popt/APKBUILD
@@ -11,6 +11,11 @@ makedepends="!libiconv-dev"
 source="http://rpm5.org/files/$pkgname/$pkgname-$pkgver.tar.gz"
 subpackages="$pkgname-doc $pkgname-dev"
 
+prepare() {
+	cd "$srcdir"/$pkgname-$pkgver
+	update_config_sub || return 1
+}
+
 build() {
 	cd "$srcdir"/$pkgname-$pkgver
 	./configure \
diff --git a/main/readline/APKBUILD b/main/readline/APKBUILD
index 12fa5501baf08e21f7cdcbb6d0a13e21df26075c..7625fee8b0911586de5eb5b50e6f008702133c77 100644
--- a/main/readline/APKBUILD
+++ b/main/readline/APKBUILD
@@ -25,6 +25,7 @@ done
 _builddir="$srcdir"/$pkgname-$_myver
 prepare() {
 	cd "$_builddir"
+	update_config_sub || return 1
 	for i in "$srcdir"/readline$_suff-???; do
 		[ -r "$i" ] || continue
 		msg "Applying ${i##*/}"
diff --git a/main/rsync/APKBUILD b/main/rsync/APKBUILD
index 858a7f6018370a0e2b2d8f4375b404790b37d5bb..c5e76730cfb0db3760da2de73f149c14b4e4d620 100644
--- a/main/rsync/APKBUILD
+++ b/main/rsync/APKBUILD
@@ -21,6 +21,7 @@ _builddir="$srcdir/$pkgname-$pkgver"
 prepare() {
 	cd "$_builddir"
 	./prepare-source || return 1
+	update_config_sub || return 1
 }
 
 build() {
diff --git a/main/sed/APKBUILD b/main/sed/APKBUILD
index f2e2b1422ed234ec2d968fa02ff76d5c5bd10de3..4043b13fd30288ac6fdf36bd79f01ca67e56a0bb 100644
--- a/main/sed/APKBUILD
+++ b/main/sed/APKBUILD
@@ -12,6 +12,11 @@ makedepends=""
 install="$pkgname.post-deinstall"
 source="ftp://ftp.gnu.org/pub/gnu/$pkgname/$pkgname-$pkgver.tar.gz"
 
+prepare() {
+	cd "$srcdir/$pkgname-$pkgver"
+	update_config_sub || return 1
+}
+
 build() { 
 	cd "$srcdir/$pkgname-$pkgver"
 	./configure \
@@ -30,6 +35,10 @@ build() {
 package() {
 	cd "$srcdir/$pkgname-$pkgver"
 	make DESTDIR="$pkgdir" install
+
+	rm -rf "$pkgdir"/usr/lib/charset.alias
+	rmdir -p "$pkgdir"/usr/lib 2>/dev/null
+	return 0
 }
 
 md5sums="4111de4faa3b9848a0686b2f260c5056  sed-4.2.2.tar.gz"
diff --git a/main/sqlite/APKBUILD b/main/sqlite/APKBUILD
index 169f729c87610ffcdd246100a277c1ad14f99dc5..4dc412e7ccd31b7eadf8cbfdafcad6cd0945a498 100644
--- a/main/sqlite/APKBUILD
+++ b/main/sqlite/APKBUILD
@@ -31,6 +31,7 @@ subpackages="$pkgname-doc $pkgname-dev $pkgname-libs"
 _builddir="$srcdir"/$pkgname-autoconf-$_ver
 prepare() {
 	cd "$_builddir"
+	update_config_sub || return 1
 }
 
 build() {
diff --git a/main/tar/APKBUILD b/main/tar/APKBUILD
index a9f28dbe29ec7ed7b666274ef48ef790093c2950..1709173a282300a96f3e9107651d61380037e2e2 100644
--- a/main/tar/APKBUILD
+++ b/main/tar/APKBUILD
@@ -13,10 +13,11 @@ source="ftp://ftp.gnu.org/gnu/tar/$pkgname-$pkgver.tar.gz"
 subpackages="$pkgname-doc"
 
 prepare() {
-        cd "$srcdir/$pkgname-$pkgver"
-        # fix eglibc-2.16+ build issue
-        sed -i -e '/gets is a/d' \
-                gnu/stdio.in.h || return 1
+	cd "$srcdir/$pkgname-$pkgver"
+	update_config_sub || return 1
+	# fix eglibc-2.16+ build issue
+	sed -i -e '/gets is a/d' \
+		gnu/stdio.in.h || return 1
 }
 
 build() {
@@ -34,6 +35,10 @@ build() {
 package() {
 	cd "$srcdir/$pkgname-$pkgver"
 	make DESTDIR="$pkgdir/" install
+
+	rm -rf "$pkgdir"/usr/lib/charset.alias
+	rmdir -p "$pkgdir"/usr/lib 2>/dev/null
+
 	mkdir "$pkgdir"/bin
 	mv "$pkgdir"/usr/bin/tar "$pkgdir"/bin/
 	ln -s /bin/tar "$pkgdir"/usr/bin/tar