Bug 229566 - textproc/docproj fails dependency check as of r473867
Summary: textproc/docproj fails dependency check as of r473867
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Some People
Assignee: Document Engineering Group (Nobody)
URL:
Keywords: patch
Depends on:
Blocks:
 
Reported: 2018-07-06 12:54 UTC by Dries Michiels
Modified: 2018-07-15 11:22 UTC (History)
2 users (show)

See Also:
bugzilla: maintainer-feedback? (doceng)


Attachments
add groff port option (1.99 KB, patch)
2018-07-06 16:38 UTC, Dries Michiels
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dries Michiels freebsd_committer freebsd_triage 2018-07-06 12:54:12 UTC
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
Comment 1 Dries Michiels freebsd_committer freebsd_triage 2018-07-06 12:56:18 UTC
OK, correction, groff does get build by synth but not installed when installing docproj. So something is off with dependency registration of the package.
Comment 2 Steve Wills freebsd_committer freebsd_triage 2018-07-06 14:24:44 UTC
(In reply to Dries Michiels from comment #1)
Can you please show me the install error? Thanks
Comment 3 Dries Michiels freebsd_committer freebsd_triage 2018-07-06 14:32:49 UTC
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
Comment 4 Dries Michiels freebsd_committer freebsd_triage 2018-07-06 14:40:26 UTC
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
Comment 5 Steve Wills freebsd_committer freebsd_triage 2018-07-06 14:49:16 UTC
(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.
Comment 6 Dries Michiels freebsd_committer freebsd_triage 2018-07-06 14:52:16 UTC
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.
Comment 7 Dries Michiels freebsd_committer freebsd_triage 2018-07-06 16:38:03 UTC
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.
Comment 8 commit-hook freebsd_committer freebsd_triage 2018-07-06 18:53:29 UTC
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
Comment 9 Steve Wills freebsd_committer freebsd_triage 2018-07-06 18:54:57 UTC
Committed, thanks!
Comment 10 commit-hook freebsd_committer freebsd_triage 2018-07-15 11:22:18 UTC
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