diff options
-rw-r--r-- | main/installkernel/APKBUILD | 4 | ||||
-rw-r--r-- | main/mkinitfs/APKBUILD | 20 | ||||
-rw-r--r-- | main/mkinitfs/eglibc.patch | 17 | ||||
-rw-r--r-- | main/mkinitfs/fix-dev-null.patch | 12 | ||||
-rw-r--r-- | main/openrc/APKBUILD | 11 | ||||
-rw-r--r-- | main/openrc/modloop.confd | 3 | ||||
-rw-r--r-- | main/openrc/modloop.initd | 16 | ||||
-rw-r--r-- | main/pcre/APKBUILD | 8 | ||||
-rw-r--r-- | main/python/APKBUILD | 4 |
9 files changed, 75 insertions, 20 deletions
diff --git a/main/installkernel/APKBUILD b/main/installkernel/APKBUILD index 6cefdb3d4c..18eaa6a0fc 100644 --- a/main/installkernel/APKBUILD +++ b/main/installkernel/APKBUILD @@ -1,6 +1,6 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=installkernel -pkgver=3.2.2 +pkgver=3.4 pkgrel=0 pkgdesc="Kernel install script from debianutils" url="http://packages.qa.debian.org/d/debianutils.html" @@ -14,4 +14,4 @@ build() { install -Dm755 installkernel "$pkgdir"/sbin/installkernel install -Dm644 installkernel.8 "$pkgdir"/usr/share/man/man8/installkernel.8 } -md5sums="1f53745f649f6428159f0bcc9263a8b1 debianutils_3.2.2.tar.gz" +md5sums="0b37e6a6f318f146741a229ab4bfe93b debianutils_3.4.tar.gz" diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD index 930ddb7ac5..065cbab969 100644 --- a/main/mkinitfs/APKBUILD +++ b/main/mkinitfs/APKBUILD @@ -1,22 +1,26 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=mkinitfs pkgver=2.0 -pkgrel=0 +pkgrel=1 pkgdesc="Tool to generate initramfs images for Alpine" url=http://git.alpinelinux.org/cgit/mkinitfs depends="busybox apk-tools>=2.0" triggers="$pkgname.trigger:/usr/share/kernel/*" source="http://git.alpinelinux.org/cgit/$pkgname/snapshot/$pkgname-$pkgver.tar.bz2 + eglibc.patch + fix-dev-null.patch " license="GPL-2" prepare() { cd "$srcdir"/$pkgname-$pkgver - for i in $source; do - case "$i" in - *.patch) patch -p1 -i "$srcdir"/$i || return 1;; - esac - done + # seems dev null is not properly created after switch root + patch -p1 -i "$srcdir"/fix-dev-null.patch || return 1 + # If we are using eglibc we need to include eglibc libs + # instead of uclibc libs. + if [ "$ALPINE_LIBC" = "eglibc" ]; then + patch -p1 -i "$srcdir"/eglibc.patch || return 1 + fi } build() { @@ -28,4 +32,6 @@ package() { cd "$srcdir"/$pkgname-$pkgver make install DESTDIR="$pkgdir" || return 1 } -md5sums="b43a5eae02a1f97362ca66e7b5108593 mkinitfs-2.0.tar.bz2" +md5sums="b43a5eae02a1f97362ca66e7b5108593 mkinitfs-2.0.tar.bz2 +e59c2f7de496fe430b07e32fd812ebe0 eglibc.patch +0f8c809b2f3530519025a52aaccbd296 fix-dev-null.patch" diff --git a/main/mkinitfs/eglibc.patch b/main/mkinitfs/eglibc.patch new file mode 100644 index 0000000000..24f1e1e9a3 --- /dev/null +++ b/main/mkinitfs/eglibc.patch @@ -0,0 +1,17 @@ +--- a/files.d/base ++++ b/files.d/base +@@ -7,11 +7,11 @@ + /lib/libdl.so* + /lib/libm-[0-9]* + /lib/libm.so.* +-/lib/libuClibc-[0-9]* ++/lib/libc-[0-9]* + /lib/libc.so.* + /lib/libz.* +-/lib/ld-uClibc-[0-9]* +-/lib/ld-uClibc.so* ++/lib/ld-[0-9]* ++/lib/ld-linux.so* + /lib/mdev + /sbin/apk + /etc/modprobe.d/blacklist diff --git a/main/mkinitfs/fix-dev-null.patch b/main/mkinitfs/fix-dev-null.patch new file mode 100644 index 0000000000..8b1161cee9 --- /dev/null +++ b/main/mkinitfs/fix-dev-null.patch @@ -0,0 +1,12 @@ +--- a/initramfs-init.in ++++ b/initramfs-init.in +@@ -235,6 +235,9 @@ + RC=$? + [ -d /dev/pts ] || mkdir -m 755 /dev/pts + [ -c /dev/ptmx ] || mknod -m 666 /dev/ptmx c 5 2 ++# make sure /dev/null is setup correctly ++[ -f /dev/null ] && rm -f /dev/null ++[ -c /dev/null ] || mknod -m 666 /dev/null c 1 3 + mount -t devpts -o gid=5,mode=0620,noexec,nosuid devpts /dev/pts + [ -d /dev/shm ] || mkdir /dev/shm + mount -t tmpfs -o nodev,nosuid,noexec shm /dev/shm diff --git a/main/openrc/APKBUILD b/main/openrc/APKBUILD index 9432b935ec..6c5b1f8e03 100644 --- a/main/openrc/APKBUILD +++ b/main/openrc/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=openrc pkgver=0.6.1 -pkgrel=0 +pkgrel=1 pkgdesc="OpenRC manages the services, startup and shutdown of a host" url="http://roy.marples.name/openrc" license='BSD-2' @@ -18,6 +18,7 @@ source="http://roy.marples.name/downloads/$pkgname/$pkgname-$pkgver.tar.bz2 modloop.initd networking.initd local.start + modloop.confd " prepare() { @@ -49,7 +50,8 @@ package() { j=${i##*/} install -Dm755 $i "$pkgdir"/etc/init.d/${j%.initd} done - + + install -D -m644 "$srcdir"/modloop.confd "$pkgdir"/etc/conf.d/modloop install -Dm644 ../local.start "$pkgdir"/etc/conf.d/local.start } @@ -60,6 +62,7 @@ c32e15b0858eef708497e7ee6355a055 hostname.initd b1e64885f301166df30be3e3cf5338ff hwdrivers.initd 33ca3e558c42cdd17adccbc7807298f7 keymaps.initd 098a1f16812f56fcb56eb6b6f0fa31f6 modules.initd -4c69d1c6a84cbe0195496c14a757579b modloop.initd +80b3989370c8bf5cf23e65cd924f9846 modloop.initd c05fc2ea5d771ca68cbb8d91494c9a2b networking.initd -0a615d93aab691364c03539c3b496dcc local.start" +0a615d93aab691364c03539c3b496dcc local.start +c1ec888202d868710b5749f7b217d1e3 modloop.confd" diff --git a/main/openrc/modloop.confd b/main/openrc/modloop.confd new file mode 100644 index 0000000000..de4cbb62b8 --- /dev/null +++ b/main/openrc/modloop.confd @@ -0,0 +1,3 @@ +# enable loadable module support when running from RAM +# when unionfs support is available in the kernel +unionfs_size="32M" diff --git a/main/openrc/modloop.initd b/main/openrc/modloop.initd index cf46c98df0..3cb62732ee 100644 --- a/main/openrc/modloop.initd +++ b/main/openrc/modloop.initd @@ -63,10 +63,20 @@ start() { fi mkdir -p /.modloop /lib - mount -o loop,ro -t cramfs $alpine_mnt/$modloop /.modloop &&\ - rm -rf /lib/modules &&\ - ln -sf /.modloop/modules /lib/ + mount -o loop,ro -t cramfs $alpine_mnt/$modloop /.modloop + eend $? || return 1 + + #use unionfs is available and configured + if grep -q -w "unionfs$" /proc/filesystems && [ -n "$unionfs_size" ]; then + ebegin "UnionFS detected. Mounting modloop rw" + mkdir -p /.modunisonfs/modules /lib/modules + mount -t tmpfs -o size="$unionfs_size" tmpfs /.modunisonfs/modules + mount -t unionfs -o dirs=/.modunisonfs/modules=rw:/.modloop/modules=ro unionfs /lib/modules + eend $? || return 1 + else + rm -rf /lib/modules && ln -sf /.modloop/modules /lib/ + fi # copy firmware if there are any if [ -d $alpine_mnt/firmware ]; then diff --git a/main/pcre/APKBUILD b/main/pcre/APKBUILD index 6c5bb028ae..73cd146057 100644 --- a/main/pcre/APKBUILD +++ b/main/pcre/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=pcre pkgver=8.10 -pkgrel=0 +pkgrel=1 pkgdesc="Perl-compatible regular expression library" url="http://pcre.sourceforge.net" license="BSD" @@ -13,7 +13,6 @@ subpackages="$pkgname-dev $pkgname-doc" build() { cd "$srcdir/$pkgname-$pkgver" ./configure --prefix=/usr \ - --disable-cpp \ --enable-utf8 \ --with-match-limit-recursion=8192 \ --htmldir=/usr/share/doc/$pkgname-$pkgver/html \ @@ -25,6 +24,11 @@ build() { package() { cd "$srcdir/$pkgname-$pkgver" make DESTDIR="$pkgdir" install || return 1 + # REF http://repos.archlinux.org/wsvn/packages/pcre/trunk/PKGBUILD + # grep uses pcre, so we need the libs in /lib + install -dm755 "$pkgdir"/lib + mv "$pkgdir"/usr/lib/libpcre.so.* "$pkgdir"/lib/ + ln -sf ../../lib/libpcre.so.0 "$pkgdir"/usr/lib/libpcre.so } md5sums="780867a700e9d4e4b9cb47aa5453e4b2 pcre-8.10.tar.bz2" diff --git a/main/python/APKBUILD b/main/python/APKBUILD index c84d25b665..59aac9ca3a 100644 --- a/main/python/APKBUILD +++ b/main/python/APKBUILD @@ -1,7 +1,7 @@ # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=python pkgver=2.6.5 -pkgrel=3 +pkgrel=4 pkgdesc="A high-level scripting language" url="http://www.python.org" license="custom" @@ -25,7 +25,7 @@ build() { ./configure --prefix=/usr \ --enable-shared \ --with-threads \ - --enable-unicode \ + --enable-unicode=ucs4 \ --disable-gdbm make || return 1 |