Created attachment 146782 [details] Add stage support, bump to 3.2.10 Hi, Here's a patch to save sysutils/modules by adding stage support, fixing stuff as suggested by portlint and bumping the version to the newest release.
Created attachment 146783 [details] Add stage support, bump to 3.2.10 (with fixed plist) Ooops, new plist was not included, there, it is fixed.
Created attachment 146784 [details] Add stage support, bump to 3.2.10 (with fixed plist and versionning) Need to check my patch more, even if this is a rush, I should have seen that the makefile included some GNUisms. Fixed.
Thanks! Do you have any verification available? In order of preference, examples of what I'm looking for are: 1) "poudriere testport" or "poudriere bulk -t" logs 2) "make check-plist" followed by "make stage-qa" output (https://www.freebsd.org/doc/en/books/porters-handbook/porting-testing.html) Also, please run "portlint" and paste the output.
Created attachment 146809 [details] sysutils/modules: 3.2.10, staged, checked Did not know about plist checking targets, this is really helpful to track new files. Here is an updated patch and the results: 1. make check-plist ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for directories owned by MTREEs ===> Checking for directories handled by dependencies ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) 2. make stage-qa ====> Running Q/A tests (stage-qa) 3. portlint looks fine.
Thanks! Moving to patch-ready pool now.
There's something screwy with the man5 page. First, you left MAN1 and MAN5 defined. no problem, I deleted those lines. Secondly, you had /man/man5/modulefile.4.gz in the pkg-plist. That's a problem, .4 is supposed to be in man4, not man5. No problem, I fixed the plist to make it man/man5/modulefile5.gz Now I have an error. Error: Orphaned: man/man5/modulefile.4.gz And this looks wrong: install -o root -g wheel -m 444 'modulefile.5' '/wrkdirs/usr/ports/sysutils/mo dules/work/stage/usr/local/man/man5/modulefile.4' I can move it to proper location in post-install, but it's better if the vendor makefile doesn't move it to the wrong place to begin with. Do you want to take a look?
Okay, I got that fixed (it is crazy how complicated the original person made this to change man page from 4 to 5, it could have been done much more simply) However, now I hit a filesystem violation. Testing in poudriere would have caught this: ====>> Error: Filesystem touched during stage (files must install to ${STAGEDIR}): extra: usr/local/Modules That's a good illustration why I prefer poudriere testing.
The filesystem violation is caused by pre-install target, which doesn't seem to be needed at all.
A commit references this bug: Author: marino Date: Sun Sep 7 09:47:01 UTC 2014 New revision: 367502 URL: http://svnweb.freebsd.org/changeset/ports/367502 Log: sysutils/modules: Upgrade version 3.1.6 => 3.2.10 and support stage PR: 193308 Submitted by: Matthieu Volat Stage fixes: marino Changes: head/sysutils/modules/Makefile head/sysutils/modules/distinfo head/sysutils/modules/files/patch-Makefile.in head/sysutils/modules/files/patch-configure head/sysutils/modules/files/patch-doc__Makefile.in head/sysutils/modules/files/patch-doc__module.1.in head/sysutils/modules/files/patch-doc__modulefile.5.in head/sysutils/modules/files/patch-etc__Makefile.in head/sysutils/modules/files/patch-init__Makefile.in head/sysutils/modules/pkg-plist
Thanks. Committed with a few fixes.
Sorry, I was not available yesterday, I wasn't sure about the MANX variables, I was relying on portlint to remind me which was the right way of declaring them in the new paradigm... This whole man4 thing is indeed problematic, I'll try to report it to the upstream and see what they think of it... Thanks and sorry you had to rework the patch...
the real issue is that somebody tried to patch the makefile to make it generate and install as a (5) manpage. All that was really needed was the template change and the man page could be moved by the port makefile in post-install or even post-stage. There's much simpler (and less patches) way of accomplishing the same thing.