On Sun, Jul 20, 2014 at 03:52:14PM +0800, Nathanael Rensen wrote: > Since the switch to SHA256, sysmerge(8) has stopped auto-upgrading files > without > local changes.
Oh right, I forgot that part. Thanks, I'll have a look. > > $ diff -u a b | grep -E '^\+' | sed '1d' > +SHA256 (./etc/rc) = > 0e1cb2e6c6d11941dab14853a8ab1888f1b14fad6588fa3e6230b8ef16b62ffd > > $ diff -u a b | grep -E '^\+' | sed '1d' | awk '{print $3}' > = > > $ diff -u a b | sed -n 's/^+SHA256 (\(.*\)).*/\1/p' > ./etc/rc > > Index: sysmerge.sh > =================================================================== > RCS file: /cvs/src/usr.sbin/sysmerge/sysmerge.sh,v > retrieving revision 1.142 > diff -u -p -r1.142 sysmerge.sh > --- sysmerge.sh 18 Jul 2014 10:43:29 -0000 1.142 > +++ sysmerge.sh 20 Jul 2014 07:20:45 -0000 > @@ -194,7 +194,7 @@ sm_populate() { > fi > > # set auto-upgradable files > - _D=$(diff -u ${WRKDIR}/${i} ${DESTDIR}/${DBDIR}/${i} | > grep -E '^\+' | sed '1d' | awk '{print $3}') > + _D=$(diff -u ${WRKDIR}/${i} ${DESTDIR}/${DBDIR}/${i} | > sed -n 's/^+SHA256 (\(.*\)).*/\1/p') > for _d in ${_D}; do > # 2>/dev/null: if file got removed manually but > is still in the sum file > CURSUM=$(cd ${DESTDIR:=/} && sha256 ${_d} > 2>/dev/null) > > Nathanael > -- Antoine