On Thu, Mar 17, 2022 at 03:45:52PM -0600, Marc Espie wrote: > CVSROOT: /cvs > Module name: src > Changes by: es...@cvs.openbsd.org 2022/03/17 15:45:52 > > Modified files: > usr.sbin/pkg_add/OpenBSD: Add.pm Delete.pm UpdateSet.pm Vstat.pm > > Log message: > add some extra logic to prevent moving files around when this is possible. > Specifically, we created pkg.XXXX temp files for updates to work. > > When I added tied files, I generalized this to installs as well, because > it was becoming too complex. > > Forward a few years: > - we have tags and define-tag, so we can deem a lot of UpdateSets "safe" > (because they don't run command during the deletion/installation, but at > the end, so they won't see unwanted files) > - the tied logic is well-proven > > With this diff: > - installs will again extract files directly in-place, so that install > is (mostly) chown + utimes. > > - updates will extract files with new names directly in-place > > - tied files that didn't change names will have zero churn (instead > of link to pkg.XXXX, rm orig file, mv pkg.XXXX back to orig file) > > After lots of tests involving somewhat broken things. > > Okay sthen@ > > (if it breaks it's easy to revert, but the speed-up for stuff like > texlive minor updates is significant)
Something changed causing regress to fail. > usr.sbin/pkg_add: Exit: 1 Duration: 00:02:08 Log: 244-usr.sbin-pkg_add.log ==== temp-error3 ==== --- temp3.out Sat Mar 19 06:05:51 2022 +++ /home/src/regress/usr.sbin/pkg_add/temp3.ref Tue Jul 16 11:34:29 2019 @@ -0,0 +1,2 @@ +User USER couldn't create temp file as /nonexistent/pkg.XXXXXXXXXX: No such file or directory +1 *** Error 1 in . (Makefile:705 'temp-error3': @diff -u temp3.out /home/src/regress/usr.sbin/pkg_add/temp3.ref) FAILED