From 5153192ca2109768336dfa5f891ec6f73e29001a Mon Sep 17 00:00:00 2001
From: Sebastian Pipping <sebastian@pipping.org>
Date: Thu, 17 May 2012 19:23:45 +0200
Subject: [PATCH] Use blkid from system's util-linux rather than compiling
 e2fsprogs ourselves

---
 ChangeLog                                     |  5 +++
 gen_compile.sh                                | 34 ---------------
 gen_initramfs.sh                              | 10 +++--
 genkernel                                     |  2 -
 genkernel.conf                                |  5 ---
 .../1.42/e2fsprogs-1.41.12-getpagesize.patch  | 42 -------------------
 6 files changed, 11 insertions(+), 87 deletions(-)
 delete mode 100644 patches/e2fsprogs/1.42/e2fsprogs-1.41.12-getpagesize.patch

diff --git a/ChangeLog b/ChangeLog
index 561e98d..f5c5f85 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,11 @@
 # Distributed under the GPL v2
 # $Id$
 
+  17 May 2012; Sebastian Pipping <sping@gentoo.org>
+  -patches/e2fsprogs/1.42/e2fsprogs-1.41.12-getpagesize.patch, gen_compile.sh,
+  gen_initramfs.sh, genkernel, genkernel.conf:
+  Use blkid from system's util-linux rather than compiling e2fsprogs ourselves
+
   14 May 2012; Sebastian Pipping <sping@gentoo.org> genkernel:
   Bump version to 3.4.32
 
diff --git a/gen_compile.sh b/gen_compile.sh
index 646e0ef..3344dc4 100755
--- a/gen_compile.sh
+++ b/gen_compile.sh
@@ -565,40 +565,6 @@ compile_device_mapper() {
 	compile_lvm
 }
 
-compile_e2fsprogs() {
-	if [ -f "${BLKID_BINCACHE}" ]
-	then
-		print_info 1 "blkid: >> Using cache"
-	else
-		[ ! -f "${E2FSPROGS_SRCTAR}" ] &&
-			gen_die "Could not find e2fsprogs source tarball: ${E2FSPROGS_SRCTAR}. Please place it there, or place another version, changing /etc/genkernel.conf as necessary!"
-		cd "${TEMP}"
-		rm -rf "${E2FSPROGS_DIR}"
-		tar -zxpf "${E2FSPROGS_SRCTAR}"
-		[ ! -d "${E2FSPROGS_DIR}" ] &&
-			gen_die "e2fsprogs directory ${E2FSPROGS_DIR} invalid"
-		cd "${E2FSPROGS_DIR}"
-		apply_patches e2fsprogs ${E2FSPROGS_VER}
-		print_info 1 'e2fsprogs: >> Configuring...'
-		LDFLAGS=-static ./configure >> ${LOGFILE} 2>&1 ||
-			gen_die 'Configuring e2fsprogs failed!'
-		print_info 1 'e2fsprogs: >> Compiling...'
-		MAKE=${UTILS_MAKE} MAKEOPTS="${MAKEOPTS} -j1" compile_generic "" ""
-		print_info 1 'blkid: >> Copying to cache...'
-		[ -f "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" ] ||
-			gen_die 'Blkid executable does not exist!'
-		${UTILS_CROSS_COMPILE}strip "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" ||
-			gen_die 'Could not strip blkid binary!'
-		bzip2 "${TEMP}/${E2FSPROGS_DIR}/misc/blkid" ||
-			gen_die 'bzip2 compression of blkid failed!'
-		mv "${TEMP}/${E2FSPROGS_DIR}/misc/blkid.bz2" "${BLKID_BINCACHE}" ||
-			gen_die 'Could not copy the blkid binary to the package directory, does the directory exist?'
-
-		cd "${TEMP}"
-		rm -rf "${E2FSPROGS_DIR}" > /dev/null
-	fi
-}
-
 compile_fuse() {
 	if [ ! -f "${FUSE_BINCACHE}" ]
 	then
diff --git a/gen_initramfs.sh b/gen_initramfs.sh
index 6c9c88a..f0b63d9 100755
--- a/gen_initramfs.sh
+++ b/gen_initramfs.sh
@@ -133,10 +133,12 @@ append_blkid(){
 		rm -r "${TEMP}/initramfs-blkid-temp/"
 	fi
 	cd ${TEMP}
-	mkdir -p "${TEMP}/initramfs-blkid-temp/sbin/"
-	[ "${DISKLABEL}" = '1' ] && { /bin/bzip2 -dc "${BLKID_BINCACHE}" > "${TEMP}/initramfs-blkid-temp/sbin/blkid" ||
-		gen_die "Could not extract blkid binary cache!"; }
-	chmod a+x "${TEMP}/initramfs-blkid-temp/sbin/blkid"
+	mkdir -p "${TEMP}/initramfs-blkid-temp/"
+
+	if [[ "${DISKLABEL}" = "1" ]]; then
+		copy_binaries "${TEMP}"/initramfs-blkid-temp/ /sbin/blkid
+	fi
+
 	cd "${TEMP}/initramfs-blkid-temp/"
 	log_future_cpio_content
 	find . -print | cpio ${CPIO_ARGS} --append -F "${CPIO}" \
diff --git a/genkernel b/genkernel
index f9b0ca8..ea8ddc1 100755
--- a/genkernel
+++ b/genkernel
@@ -279,8 +279,6 @@ fi
 
 if [ "${BUILD_RAMDISK}" = '1' ]
 then
-	[ "${DISKLABEL}" = '1' ] && compile_e2fsprogs
-
 	if [ "${BUSYBOX}" = '1' ]
 	then
 		# Compile Busybox
diff --git a/genkernel.conf b/genkernel.conf
index c5e7aee..f50dd5f 100644
--- a/genkernel.conf
+++ b/genkernel.conf
@@ -225,11 +225,6 @@ ISCSI_DIR="open-iscsi-${ISCSI_VER}"
 ISCSI_SRCTAR="${DISTDIR}/open-iscsi-${ISCSI_VER}.tar.gz"
 ISCSI_BINCACHE="%%CACHE%%/iscsi-${ISCSI_VER}-%%ARCH%%.bz2"
 
-E2FSPROGS_VER="VERSION_E2FSPROGS"
-E2FSPROGS_DIR="e2fsprogs-${E2FSPROGS_VER}"
-E2FSPROGS_SRCTAR="${DISTDIR}/e2fsprogs-${E2FSPROGS_VER}.tar.gz"
-BLKID_BINCACHE="%%CACHE%%/blkid-${E2FSPROGS_VER}-%%ARCH%%.bz2"
-
 FUSE_VER="VERSION_FUSE"
 FUSE_DIR="fuse-${FUSE_VER}"
 FUSE_SRCTAR="${DISTDIR}/fuse-${FUSE_VER}.tar.gz"
diff --git a/patches/e2fsprogs/1.42/e2fsprogs-1.41.12-getpagesize.patch b/patches/e2fsprogs/1.42/e2fsprogs-1.41.12-getpagesize.patch
deleted file mode 100644
index 5b042d3..0000000
--- a/patches/e2fsprogs/1.42/e2fsprogs-1.41.12-getpagesize.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 81c81f5421cb9b85e793c591595a0a4d6ee04e99 Mon Sep 17 00:00:00 2001
-From: Mike Frysinger <vapier@gentoo.org>
-Date: Sat, 4 Dec 2010 17:10:53 -0500
-Subject: [PATCH] libext2fs: change getpagesize to sysconf
-
-Newer versions of glibc no longer export the getpagesize() prototype when
-using recent versions of POSIX (_XOPEN_SOURCE).  So building tdb.c gives
-use implicit function declaration warnings.  Fix the issue by using the
-portable sysconf() function which returns the same answer.
-
-Signed-off-by: Mike Frysinger <vapier@gentoo.org>
----
- lib/ext2fs/tdb.c |    6 +-----
- 1 files changed, 1 insertions(+), 5 deletions(-)
-
-diff --git a/lib/ext2fs/tdb.c b/lib/ext2fs/tdb.c
-index 0c82a24..43c5d44 100644
---- a/lib/ext2fs/tdb.c
-+++ b/lib/ext2fs/tdb.c
-@@ -111,10 +111,6 @@ typedef int bool;
- #define u32 unsigned
- #endif
- 
--#ifndef HAVE_GETPAGESIZE
--#define getpagesize() 0x2000
--#endif
--
- typedef u32 tdb_len_t;
- typedef u32 tdb_off_t;
- 
-@@ -3838,7 +3834,7 @@ struct tdb_context *tdb_open_ex(const char *name, int hash_size, int tdb_flags,
- 	tdb->hash_fn = hash_fn ? hash_fn : default_tdb_hash;
- 
- 	/* cache the page size */
--	tdb->page_size = getpagesize();
-+	tdb->page_size = sysconf(_SC_PAGESIZE);
- 	if (tdb->page_size <= 0) {
- 		tdb->page_size = 0x2000;
- 	}
--- 
-1.7.3.1
-
-- 
2.26.2