* Patched checkinstall to include empty directory in packages.

svn path=/nixpkgs/trunk/; revision=14736
This commit is contained in:
Eelco Dolstra 2009-03-27 14:13:23 +00:00
parent 8fffed2ba1
commit 7a0f6b1a40
2 changed files with 57 additions and 0 deletions

View file

@ -8,6 +8,14 @@ stdenv.mkDerivation {
sha256 = "0k8i551rcn2g0jxskq2sgy4m85irdf5zsl2q4w9b7npgnybkzsmb";
};
patches = [
# Include empty directories created by the installation script in
# generated packages. (E.g., if a `make install' does `mkdir
# /var/lib/mystuff', then /var/lib/mystuff should be included in
# the package.)
./empty-dirs.patch
];
buildInputs = [gettext];
preBuild = ''

View file

@ -0,0 +1,49 @@
diff -rc checkinstall-orig/checkinstall checkinstall/checkinstall
*** checkinstall-orig/checkinstall 2009-03-12 13:40:24.000000000 +0100
--- checkinstall/checkinstall 2009-03-27 14:51:55.000000000 +0100
***************
*** 1635,1644 ****
# Find regular files first
[ $DEBUG -gt 0 ] && echo "debug: BASE_TMP_DIR: $BASE_TMP_DIR"
! cat /${TMP_DIR}/newfiles.tmp | egrep -v '^[-0-9][0-9]*[[:space:]]*(unlink|access)' | cut -f 3 | egrep -v "^(/dev|$BASE_TMP_DIR|/tmp)" | sort -u > /${TMP_DIR}/newfiles
# symlinks are next
! cat /${TMP_DIR}/newfiles.tmp | egrep -v '^[-0-9][0-9]*[[:space:]]*(unlink|access)' | cut -f 4 | egrep -v "^(/dev|$BASE_TMP_DIR|/tmp)" | grep -v "#success" | sort -u >> /${TMP_DIR}/newfiles
# Create another list of modified files that exclude all files the
# install script wanted to create but did not, e.g because they already
# existed.
--- 1635,1648 ----
# Find regular files first
[ $DEBUG -gt 0 ] && echo "debug: BASE_TMP_DIR: $BASE_TMP_DIR"
! cat /${TMP_DIR}/newfiles.tmp | egrep -v '^[-0-9][0-9]*[[:space:]]*(unlink|access|mkdir)' | cut -f 3 | egrep -v "^(/dev|$BASE_TMP_DIR|/tmp)" | sort -u > /${TMP_DIR}/newfiles
# symlinks are next
! cat /${TMP_DIR}/newfiles.tmp | egrep -v '^[-0-9][0-9]*[[:space:]]*(unlink|access|mkdir)' | cut -f 4 | egrep -v "^(/dev|$BASE_TMP_DIR|/tmp)" | grep -v "#success" | sort -u >> /${TMP_DIR}/newfiles
!
! # And finally newly created directories.
! cat /${TMP_DIR}/newfiles.tmp | egrep '^0[[:space:]]+mkdir[[:space:]]+' | cut -f 3 | egrep -v "^(/dev|$BASE_TMP_DIR|/tmp)" | sort -u >> /${TMP_DIR}/newfiles
!
# Create another list of modified files that exclude all files the
# install script wanted to create but did not, e.g because they already
# existed.
***************
*** 1738,1746 ****
cd /
( cat /${TMP_DIR}/newfiles | while read i; do
! if [ ! -d "${TRANSLROOT}${i}" -o -L "${TRANSLROOT}${i}" ]; then
! echo ".${i}"
! fi
done ) > /${TMP_DIR}/newfiles-tar
# Here it gets tricky: we need to copy all new files to our build dir,
--- 1742,1748 ----
cd /
( cat /${TMP_DIR}/newfiles | while read i; do
! echo ".${i}"
done ) > /${TMP_DIR}/newfiles-tar
# Here it gets tricky: we need to copy all new files to our build dir,