From 3ea8d7fb8b201f6f28c3b0d16f75b0c86d9f145d Mon Sep 17 00:00:00 2001
From: Benjamin Schieder <blindcoder@scavenger.homeip.net>
Date: Thu, 23 Mar 2006 00:13:39 +0000
Subject: [PATCH] Benjamin Schieder: 	Add a mechanism to disable checksum
 creation. 	This would speed up my LVP builds a lot :)

[2006030910312325701] (https://www.rocklinux.net/submaster)



git-svn-id: http://www.rocklinux.org/svn/rock-linux/trunk@7321 c5f82cb5-29bc-0310-9cd0-bff59a50e3bc
---
 scripts/Build-Pkg  | 17 +++++++++++------
 scripts/config.hlp |  4 ++++
 scripts/config.in  |  1 +
 3 files changed, 16 insertions(+), 6 deletions(-)

diff --git a/scripts/Build-Pkg b/scripts/Build-Pkg
index 6b1013284..198f64d0d 100755
--- a/scripts/Build-Pkg
+++ b/scripts/Build-Pkg
@@ -1073,12 +1073,17 @@ abort() {
 		echo "<$spkg> Creating md5sum and cksum files ..."
 		getfiles < var/adm/flists/$spkg > $builddir/files.lst
 		if [ -s $builddir/files.lst ] ; then
-			cat $builddir/files.lst | \
-				grep -v '^var/adm/' | sed -e 's/ /\\ /g' | \
-				xargs -r md5sum > var/adm/md5sums/$spkg
-			cat $builddir/files.lst | \
-				grep -v '^var/adm/' | sed -e 's/ /\\ /g' | \
-				xargs -r cksum > var/adm/cksums/$spkg
+			while read file ; do
+				[[ $file = var/adm/* ]] && continue
+				[ -z "${file//[ 	]/}" ] && continue
+				if [ ${ROCKCFG_CREATE_CKSUM} -eq 1 ] ; then
+					md5sum "${file}" >> var/adm/md5sums/$spkg
+					cksum "${file}"  >> var/adm/cksums/$spkg
+				else
+					echo "0  ${file}" >> var/adm/md5sums/$spkg
+					echo "0 $( stat -c %s ${file} ) ${file}" >> var/adm/cksums/$spkg
+				fi
+			done < $builddir/files.lst
 		else
 			cat /dev/null > var/adm/md5sums/$spkg
 			cat /dev/null > var/adm/cksums/$spkg
diff --git a/scripts/config.hlp b/scripts/config.hlp
index e6b100fe6..b495763d8 100644
--- a/scripts/config.hlp
+++ b/scripts/config.hlp
@@ -143,6 +143,10 @@ ROCKCFG_EXPERT
 
                           YOU HAVE BEEN WARNED!
 
+ROCKCFG_CREATE_CKSUM
+  Disable Checksum creation. Leave this enabled unless you know why you
+  want to disable it.
+
 ROCKCFG_CREATE_TARBZ2
   If selected binary packages in .tar.bz2 format will be created.
 
diff --git a/scripts/config.in b/scripts/config.in
index 0e12c179c..feeb20d4f 100644
--- a/scripts/config.in
+++ b/scripts/config.in
@@ -191,6 +191,7 @@ expert_begin
     comment ' '
     comment '- Binary package format'
     block_begin 3
+    	bool 'Create Checksums for installed files' ROCKCFG_CREATE_CKSUM 1
 	bool 'Create *.tar.bz2 binary packages' ROCKCFG_CREATE_TARBZ2 0
 	bool 'Create *.gem binary packages' ROCKCFG_CREATE_GEM 1
 	bool 'Append version number to package files' ROCKCFG_PKGFILE_VER 1