Browse Source

Stefan Fiedler:


			
			
				rocklinux
			
			
		
Stefan Fiedler 19 years ago
parent
commit
9fdcb403e6
2 changed files with 35 additions and 4 deletions
  1. +28
    -0
      package/base/mine/special-files.patch
  2. +7
    -4
      scripts/Build-Pkg

+ 28
- 0
package/base/mine/special-files.patch

@ -0,0 +1,28 @@
diff -dur mine-0.24/md5sum.c mine-0.24-p/md5sum.c
--- mine-0.24/md5sum.c 2005-08-09 12:57:29.000000000 +0200
+++ mine-0.24-p/md5sum.c 2006-03-24 22:00:15.000000000 +0100
@@ -20,6 +20,7 @@
#include <stdio.h>
#include <dirent.h>
#include <string.h>
+#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
@@ -37,8 +38,14 @@
struct stat statbuf;
snprintf(realfilename, 1024, "%s/%s", root, filename);
- return (stat(realfilename, &statbuf) != 0 || S_ISFIFO(statbuf.st_mode))
- ? "" : md5_file(realfilename);
+ if (stat(realfilename, &statbuf) != 0)
+ return "";
+ else if ( S_ISCHR(statbuf.st_mode) || S_ISBLK(statbuf.st_mode)
+ || S_ISLNK(statbuf.st_mode) || S_ISSOCK(statbuf.st_mode)
+ || S_ISFIFO(statbuf.st_mode) )
+ return "X";
+ else
+ return md5_file(realfilename);
}
/* Returns 1 if file is duplicate, 2 if file is modified. */

+ 7
- 4
scripts/Build-Pkg

@ -706,7 +706,7 @@ if [ $update = 1 ] ; then
echo_status "Creating backup of old package data (running in update mode)."
(
cd $xroot/
cat var/adm/md5sums/$xpkg var/adm/md5sums/$xpkg:* 2> /dev/null |
grep -v "^X" var/adm/md5sums/$xpkg var/adm/md5sums/$xpkg:* 2> /dev/null |
md5sum --check - 2>&1 | grep ': FAILED$' | cut -f1 -d:
) > $builddir/backup_files.txt
if [ -s $builddir/backup_files.txt ] ; then
@ -1074,13 +1074,16 @@ abort() {
getfiles < var/adm/flists/$spkg > $builddir/files.lst
if [ -s $builddir/files.lst ] ; then
while read file ; do
[[ $file = var/adm/* ]] && continue
[[ "$file" = "var/adm/*" ]] && continue
[ -z "${file//[ ]/}" ] && continue
if [ ${ROCKCFG_CREATE_CKSUM} -eq 1 ] ; then
if [ -b "$file" -o -c "$file" -o -p "$file" -o -L "$file" -o -S "$file" ] ; then
echo "X ${file}" >> var/adm/md5sums/$spkg
echo "X $( stat -c %s ${file} ) ${file}" >> var/adm/cksums/$spkg
elif [ ${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 ${file}" >> var/adm/md5sums/$spkg
echo "0 $( stat -c %s ${file} ) ${file}" >> var/adm/cksums/$spkg
fi
done < $builddir/files.lst

Loading…
Cancel
Save