diff options
author | abs <abs@pkgsrc.org> | 1999-11-09 16:14:58 +0000 |
---|---|---|
committer | abs <abs@pkgsrc.org> | 1999-11-09 16:14:58 +0000 |
commit | 27fd117acc921971cd2e0656c7332b24b3244fef (patch) | |
tree | 9189ee837aaf89cb2bb55ec5934ae685293a1065 /sysutils/cfengine | |
parent | 0bc3902d4bfa2f00594bd0124cc27b3e99b49523 (diff) | |
download | pkgsrc-27fd117acc921971cd2e0656c7332b24b3244fef.tar.gz |
Fix bug which would cause source linked files to sometimes copied
separately.
Just for posterity, here is how to replicate the problem:
(All this is going back to the maintainers)
#!/bin/sh
# Generates a 'from' directory, then runs cfengine to copy it into 'to'.
# The order of file creation in the from directory is significant -
# the 'bad' file must be picked up _after_ the 'subdir'.
# Obvious caveats about IRIX XFS notwithstanding.
TESTDIR=/tmp/cfenginetest
rm -rf $TESTDIR
mkdir -p $TESTDIR
cd $TESTDIR
# Generate cfengine.conf
cat > cfengine.conf <<END
control:
actionsequence = ( copy )
copy:
$TESTDIR/from
dest=$TESTDIR/to recurse=inf
END
# Generate 'from' directory
mkdir from
cd from
touch ok
mkdir subdir
touch bad
cd subdir
ln ../ok
ln ../bad
cd ../..
cfengine -v
echo
echo "Both 'ok' and 'bad' should have the same number of links (2) in both"
echo "'from' and 'to' directories. 'bad' will have 1 if bug is present."
echo
ls -l from to
Diffstat (limited to 'sysutils/cfengine')
-rw-r--r-- | sysutils/cfengine/Makefile | 4 | ||||
-rw-r--r-- | sysutils/cfengine/files/patch-sum | 3 | ||||
-rw-r--r-- | sysutils/cfengine/patches/patch-ae | 19 |
3 files changed, 23 insertions, 3 deletions
diff --git a/sysutils/cfengine/Makefile b/sysutils/cfengine/Makefile index 77a594811de..e9714ded78a 100644 --- a/sysutils/cfengine/Makefile +++ b/sysutils/cfengine/Makefile @@ -1,8 +1,8 @@ -# $NetBSD: Makefile,v 1.3 1999/11/05 14:17:13 abs Exp $ +# $NetBSD: Makefile,v 1.4 1999/11/09 16:14:58 abs Exp $ # DISTNAME= cfengine-1.5.3 -PKGNAME= cfengine-1.5.3p1 +PKGNAME= cfengine-1.5.3abs2 CATEGORIES= sysutils net MASTER_SITES= ftp://ftp.iu.hioslo.no/pub/cfengine/ \ ftp://ftp.cfengine.webmotion.net/pub/cfengine/ diff --git a/sysutils/cfengine/files/patch-sum b/sysutils/cfengine/files/patch-sum index 4d0e39c76ce..b2d1d178fdc 100644 --- a/sysutils/cfengine/files/patch-sum +++ b/sysutils/cfengine/files/patch-sum @@ -1,6 +1,7 @@ -$NetBSD: patch-sum,v 1.3 1999/11/05 14:17:15 abs Exp $ +$NetBSD: patch-sum,v 1.4 1999/11/09 16:14:59 abs Exp $ MD5 (patch-aa) = ebd4b9f4a796be4616eb8e7dfcd94ff1 MD5 (patch-ab) = ce6f24895e645758ebd608a361b55cd5 MD5 (patch-ac) = 8e21f9df160a1c36d7e8da66445bd792 MD5 (patch-ad) = 92441253e24f78b9658c6a3a975cf245 +MD5 (patch-ae) = a0809132cb27e911e5712252068d3e4c diff --git a/sysutils/cfengine/patches/patch-ae b/sysutils/cfengine/patches/patch-ae new file mode 100644 index 00000000000..b9c36a08830 --- /dev/null +++ b/sysutils/cfengine/patches/patch-ae @@ -0,0 +1,19 @@ +$NetBSD: patch-ae,v 1.1 1999/11/09 16:14:59 abs Exp $ +--- src/image.c.orig Tue Sep 14 09:28:09 1999 ++++ src/image.c Tue Nov 9 15:37:00 1999 +@@ -193,9 +193,12 @@ + DeleteItemList(namecache); + } + +-DeleteCompressedArray(ip->inode_cache); +- +-ip->inode_cache = NULL; ++ /* Only flush when exiting initial call to RecursiveImage() */ ++if (strcmp(from,ip->path) == 0) ++ { ++ DeleteCompressedArray(ip->inode_cache); ++ ip->inode_cache = NULL; ++ } + + cfclosedir(dirh); + } |