Discussion:
Problems with gitup - doesn't delete files / old ports.
N.J. Mann
2021-04-24 10:02:12 UTC
Permalink
Hi,


I have been using gitup for just over a week (and before that svn and
before that cvsup) to update a local ports tree. I have encountered
some annoying failures. I run it from a simple home made script called
from cron at just after 10am local time everyday. The script basically
does

gitup ports >$HOME/var/log/gitup/ports.log 2>&1
gitup_res=$?

and echo's the result code if non-zero. I seem to be always getting 1.
Checking the logs gitup appears to be having issues with removing files
and even removing deleted ports. This morning it choked on
textproc/bsdsort:

gitup: prune_tree: cannot remove /remote/ports/textproc/bsdsort/files: Directory not empty

And, indeed that directory isn't empty:

% ls -lRTtr /remote/ports/textproc/bsdsort
total 4
-rw-r--r-- 1 njm wheel 915 15 Apr 14:45:35 2021 Makefile
-rw-r--r-- 1 njm wheel 133 15 Apr 14:45:35 2021 distinfo
drwxr-xr-x 2 njm wheel 4 15 Apr 14:45:35 2021 files
-rw-r--r-- 1 njm wheel 368 15 Apr 14:45:35 2021 pkg-descr

/remote/ports/textproc/bsdsort/files:
total 3
-rw-r--r-- 1 njm wheel 516 15 Apr 14:45:35 2021 patch-sort.c
-rw-r--r-- 1 njm wheel 221 15 Apr 14:45:35 2021 patch-vsort.h
%

I checked the handy web interface

https://cgit.freebsd.org/ports/commit/textproc?id=b54974bf33c767167f058350819fa7b9c3142f02

and found that this port was removed a few days ago - above URL.

Yesterday, I was trying to update firefox-esr when that failed building
www/node. From the portmaster log:

===> Patching for node-16.0.0
===> Applying FreeBSD patches for node-16.0.0 from /remote/ports/www/node/files
Ignoring previously applied (or reversed) patch.
2 out of 2 hunks ignored--saving rejects to deps/v8/src/objects/js-list-format.cc.rej
===> FAILED Applying FreeBSD patch-deps_v8_src_objects_js-list-format.cc
===> Cleanly applied FreeBSD patch(es) patch-deps_openssl_config_archs_linux-elf_no-asm_openssl-cl.gypi patch-deps_openssl_config_archs_linux-elf_no-asm_openssl.gypi patch-deps_openssl_openssl-cl__no__asm.gypi patch-deps_openssl_openssl__no__asm.gypi patch-deps_v8_src_base_platform_platform-freebsd.cc patch-deps_v8_src_codegen_ppc_constants-ppc.h patch-deps_v8_src_libsampler_sampler.cc
===> FAILED to apply cleanly FreeBSD patch(es) patch-deps_v8_src_objects_js-list-format.cc
*** Error code 1

Stop.
make[1]: stopped in /remote/ports/www/node
*** Error code 1

Stop.
make: stopped in /remote/ports/www/node

Again checking the friendly web interface I found

https://cgit.freebsd.org/ports/commit/www/node?id=bc3d0937d0d2cc4a2e80334f5391a2d87458943e

that said patch file had been removed four days ago.

So, for me at least, gitup is not reliably removing deleted files and
even deleted ports.

Suggestions, recommendations, patches all welcome.


Regards,
Nick.
--
N.J. Mann
2021-05-08 08:05:28 UTC
Permalink
Hi,
Post by N.J. Mann
I have been using gitup for just over a week (and before that svn and
before that cvsup) to update a local ports tree. I have encountered
some annoying failures.
[...]

With the help of John Mehr and the folks of freebsd-fs@ we got to the
bottom of the issue. The problem only occurred when /usr/ports was NFS
mounted and a small change to gitup fixed this. This fix is now in the
FreeBSD ports tree: commit 8ec1455f5301f5addb88de8458c9a56784ed57dd


Regards,
Nick.
--

Loading...