Bug 193308 - [stage] sysutils/modules from the scrap: stagify, bump to 3.2.10
Summary: [stage] sysutils/modules from the scrap: stagify, bump to 3.2.10
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Many People
Assignee: John Marino
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-09-04 12:12 UTC by Matthieu Volat
Modified: 2014-09-08 12:50 UTC (History)
1 user (show)

See Also:


Attachments
Add stage support, bump to 3.2.10 (25.43 KB, patch)
2014-09-04 12:12 UTC, Matthieu Volat
no flags Details | Diff
Add stage support, bump to 3.2.10 (with fixed plist) (26.31 KB, patch)
2014-09-04 12:17 UTC, Matthieu Volat
no flags Details | Diff
Add stage support, bump to 3.2.10 (with fixed plist and versionning) (26.43 KB, patch)
2014-09-04 12:35 UTC, Matthieu Volat
no flags Details | Diff
sysutils/modules: 3.2.10, staged, checked (26.71 KB, patch)
2014-09-04 17:15 UTC, Matthieu Volat
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Matthieu Volat 2014-09-04 12:12:12 UTC
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.
Comment 1 Matthieu Volat 2014-09-04 12:17:42 UTC
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.
Comment 2 Matthieu Volat 2014-09-04 12:35:31 UTC
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.
Comment 3 John Marino freebsd_committer 2014-09-04 17:03:10 UTC
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.
Comment 4 Matthieu Volat 2014-09-04 17:15:56 UTC
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.
Comment 5 John Marino freebsd_committer 2014-09-04 17:23:01 UTC
Thanks!  Moving to patch-ready pool now.
Comment 6 John Marino freebsd_committer 2014-09-07 06:32:08 UTC
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?
Comment 7 John Marino freebsd_committer 2014-09-07 09:39:14 UTC
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.
Comment 8 John Marino freebsd_committer 2014-09-07 09:43:38 UTC
The filesystem violation is caused by pre-install target, which doesn't seem to be needed at all.
Comment 9 commit-hook freebsd_committer 2014-09-07 09:47:46 UTC
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
Comment 10 John Marino freebsd_committer 2014-09-07 09:50:15 UTC
Thanks.

Committed with a few fixes.
Comment 11 Matthieu Volat 2014-09-08 09:06:08 UTC
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...
Comment 12 John Marino freebsd_committer 2014-09-08 12:50:50 UTC
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.