Revision r473867 of the head ports tree breaks things when groff used from base. When building my repository from synth, it fails to add it to the repository because it fails package depends. (although it builds fine against groff in base). Look at the package staging: ===> Building package for docproj-2.0_10 actual-package-depends: dependency on /usr/bin/groff not registered (normal if it belongs to base) file sizes/checksums [0]: . done packing files [0]: . done packing directories [0]: . done When issuing rebuild-repository it gets kicked out by synth. I even rebuilded the whole repository to check. There is something wrong with the dependency check of docproj. Also when installing docporj, the port groff does not get installed or build. Which is probably the reason why it fails. It probably doesn’t build it because it registers with groff from base and no the port of groff. The task is complete. Final tally: Initial queue size: 413 packages built: 413 ignored: 0 skipped: 0 failed: 0 Duration: 02:09:25 The build logs can be found at: /var/log/synth root@vados:/var/synth # synth rebuild-repository Stand by, prescanning existing packages. Stand by, recursively scanning 414 ports serially. Scanning existing packages. docproj-2.0_10.txz failed dependency check. Packages validated, rebuilding local repository. Local repository successfully rebuilt
OK, correction, groff does get build by synth but not installed when installing docproj. So something is off with dependency registration of the package.
(In reply to Dries Michiels from comment #1) Can you please show me the install error? Thanks
The thing is, at the moment I have docproj-2.0_9 installed. I can't upgrade or install docproj-2.10 as it isn't added to my custom repository (its removed as seen below in rebuild-repository). I can install docproj from ports if you want to :). Maybe it's a specific synth problem though trying from ports results in the following: root@vados:/usr/ports/textproc/docproj # make reinstall clean ===> Installing for docproj-2.0_10 actual-package-depends: dependency on /usr/bin/groff not registered (normal if it belongs to base) ===> Registering installation for docproj-2.0_10 *** Error code 70 Stop. make[2]: stopped in /usr/ports/textproc/docproj *** Error code 1 While pkg delete docproj and then make install clean does work. I now have docproj-2.0_10 installed without groff. root@vados:/usr/ports/textproc/docproj # pkg info groff pkg: No package(s) matching groff
Maybe as some food for though, should the run_depend on groff only be included when its not present in the base? Similar to the check with svnlite? .if !exists(/usr/bin/svnlite) OPTIONS_DEFAULT+= SVN .endif SVN_DESC= Subversion support (required to check out sources) SVN_RUN_DEPENDS= svn:devel/subversion root@vados:/usr/ports/textproc/docproj # whereis groff groff: /usr/bin/groff /usr/share/man/man1/groff.1.gz /usr/src/gnu/usr.bin/groff
(In reply to Dries Michiels from comment #4) Ah, I see now. Yeah, I was going to say the dep on groff should reference ${LOCALBASE}/bin/groff, but I think you're right that making it conditional on the existence of /usr/bin/groff makes more sense. Can you test that and send a patch? Would you be able to test that change and send a patch? If not, no problem, I will. Thanks.
Yeah sure, I'm looking to make some small contributions here and there. Give me a day or so and I"ll attach a patch. Thanks.
Created attachment 194918 [details] add groff port option Conditionally check if groff from ports is needed when /usr/bin/groff is not installed (possible by setting WITHOUT_GROFF in src.conf). Refer to ${localbase}/bin/groff to prevent conflict with /usr/bin/groff. While here reorder port options alphabetically. Tested with synth and make (make install) /usr/bin/groff present in base (groff option off (default)) -> builds from ports and from synth, synth willing to add package to repository (no dependency on textproc/groff) /usr/bin/groff present in base (groff option on (forced)) -> builds from ports and from synth, synth willing to add package to repository with textproc/groff as depend /usr/bin/groff not present in base (groff option on (by conditional check)) -> builds from ports and from synth, synth willing to add package to repository with textproc/groff as depend /usr/bin/groff not present in base (groff option on (forced)) -> builds from ports and from synth, synth willing to add package to repository with textproc/groff as depend To summarize: works as intended.
A commit references this bug: Author: swills Date: Fri Jul 6 18:53:21 UTC 2018 New revision: 474031 URL: https://svnweb.freebsd.org/changeset/ports/474031 Log: textproc/docproj: fix dependency check with groff Make using groff from ports an option that's forced on if groff isn't present in base. While here, sort options. PR: 229566 Submitted by: Dries Michiels <driesm.michiels@gmail.com> Changes: head/textproc/docproj/Makefile
Committed, thanks!
A commit references this bug: Author: swills Date: Sun Jul 15 11:21:38 UTC 2018 New revision: 474685 URL: https://svnweb.freebsd.org/changeset/ports/474685 Log: textproc/docproj: fix trailing backslash Remove trailing backslash from previous commit PR: 229566 Reported by: tcberner Changes: head/textproc/docproj/Makefile