I'm building packages under poudriere and opting to enable documentation on all modules. The following error occurs when attempting to install. Checking integrity...pkg: WARNING: locally installed open-motif-2.3.3_2 conflicts on /usr/local/man/man3/Object.3.gz with: - tcl-8.5.12_2 Or or both packages probably need to rename this manpage. How-To-Repeat: Using poudriere to build the ports, enable docs/manpages for both and attempt to install tcl85 after open-motif
Responsible Changed From-To: freebsd-bugs->freebsd-ports-bugs ports PR.
Maintainer of lang/tcl85, Please note that PR ports/173767 has just been submitted. If it contains a patch for an upgrade, an enhancement or a bug fix you agree on, reply to this email stating that you approve the patch and a committer will take care of it. The full text of the PR can be found at: http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/173767 -- Edwin Groothuis via the GNATS Auto Assign Tool edwin@FreeBSD.org
State Changed From-To: open->feedback Awaiting maintainers feedback (via the GNATS Auto Assign Tool)
I will create a patch for this to rename the man page.
We generally try to avoid installing a file and then moving it to another location. It's inefficient, and can cause problems with some security measures. Moreover, it doesn't prevent an overwrite of the existing manpage if motif is already installed. A solution would be to use the --enable-man-suffix configure option, to rename all of the manpages. This would help prevent other conflicts, and make it clear what manpages are associated with tcl. This should be done uniformly, for all of the tcl/tk ports. b.
Responsible Changed From-To: freebsd-ports-bugs->bf I'll take it.
On 11/22/12, Cpet Services <cpetservice@gmail.com> wrote: > it was done with kvirc You are talking about (what is now) r160922? I misread the patch at first: I thought you were installing the patch and then moving it, which is definitely frowned upon. Shuffling things about in the WRKDIR is not as bad, but it's not necessary. This kind of problem has been looming for the tcl ports for some time: we may as well solve the problem once and for all, instead of renaming only one manpage. b.
On 11/22/12, Cpet Services <cpetservice@gmail.com> wrote: > If it did not have so many man pages I would change it but since it has so > many renaming 1 man page vs all of them The number of manpages shouldn't present much of a problem for renaming. Many of the manpages have generic names, that (a) don't clearly indicate to users of apropos(1) that they are associated with tcl/tk (or what version of tcl/tk); and (b) may conflict with manpages from other ports, in documentation database name or in actual location. It would be far better, in my opinion, to rename all of them uniformly, using the option that the configure script provides for that purpose. b.
On 11/22/12, Chris Petrik <c.petrik.sosa@gmail.com> wrote: > The following reply was made to PR ports/173767; it has been noted by > GNATS. > > From: Chris Petrik <c.petrik.sosa@gmail.com> > To: bug-followup@FreeBSD.org, chris.dukes.aix@gmail.com > Cc: > Subject: Re: ports/173767: lang/tcl85 conflicts with > x11-toolkits/open-motif > Date: Thu, 22 Nov 2012 07:28:25 -0600 > > --f46d04083b5115d01004cf157170 > Content-Type: multipart/alternative; boundary=f46d04083b5115d00d04cf15716e > > --f46d04083b5115d00d04cf15716e > Content-Type: text/plain; charset=UTF-8 > > Please test this patch to renamed all man pages to -tcl-8.5.3,n > > Also if you are going to fix the man pages please update tcl85 to 8.5.13 > and apply the patch PR for that is: > ports/173753<http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/173753> > It looks like your patch is also polluted with some of the earlier suggested changes? I see why you were worried about the number of manpages to be renamed. I had in mind something more compact, using intermediate variables and a batch substitution, that would yield a smaller diff, and not repeat the suffix unnecessarily. Also, I was thinking of a slightly shorter suffix that didn't include hyphens or minor version numbers, and so would be easier to type. It turns out that some of our local patches rendered --enable-man-suffix useless, so I just modified the appropriate parts of our local patches to have the same effect. While here, I included two changes that I've had in my local tree for some time, and have been meaning to commit: (1) Remove the two != assignments: these are bad because they are unnecessarily executed every time the Makefile is parsed, and so slow down index-building, etc. I replaced them with the equivalent code that is safely placed under Makefile targets; and (2) Respect _MAKE_JOBS, MAKE_ARGS, MAKE_ENV, etc. by using the canonical make stanza for the secondary targets. Comments? I will take a look at ports/173753, but it will have to wait until after the ports tree is unfrozen. It will have to be synchronized with an update to tk85, and possibly other dependent ports, and will probably need an exp-run. b.
I think you are over complicating this as people will have issues with the man pages being named -tcl-ver. the manpage causing the issue should be the one thats renamed not the whole lot.
On 11/25/12, Chris Petrik <c.petrik.sosa@gmail.com> wrote: > The following reply was made to PR ports/173767; it has been noted by > GNATS. > > From: Chris Petrik <c.petrik.sosa@gmail.com> > I think you are over complicating this as people will have issues with the > man pages being named -tcl-ver. the manpage causing the issue should be > the > one thats renamed not the whole lot. I can understand your desire to keep things simple, but I think that it is a good idea for the reasons I already mentioned. Apart from the other changes that I suggested, that should be made anyway, renaming all of the manpages only adds a few more lines to the port Makefile and to the diff (and maybe a few more if you want to change the internal references in the manpages). And it removes not only the file conflicts with x11-toolkits/open-motif (Object.3) and the other lang/tcl8* ports (nearly all manpages), but also removes the documentation database conflicts with the lang/tcl8* ports (nearly all manpages), lang/perl5.* ports (Thread.3) and lang/linux-f10-tcl85 (TCL_MEM_DEBUG.3 and Tcl_Main.3), and so obviates the need to tinker with MANPREFIX or use fully-qualified pathnames when you want to view conflicting manpages. Consider the alternatives: --If you only rename one or two manpages, you prevent users from simultaneously installing more than one version of lang/tcl8* with manpages, and you must register CONFLICTS with the other tcl ports, but only when manpages are installed. To do that you must either split the manpages into separate ports with unconditional CONFLICTS, or you must change the package names via PKGNAMESUFFIX or the like, and add conditional CONFLICTS. --Or you could change mandir to be version-specific, but then you have to add MANPREFIX, etc. And with both of these alternatives there are still the annoying documentation database conflicts. I think that the fact that the upstream maintainers added the --enable-manpage-suffix option is a tacit acknowledgement that renaming would be needed and acceptable in certain circumstances. Some of the other packaging systems change the mandir and/or rename the manpage sections. While the latter may help users of apropos(1) in some cases, it isn't wholly satisfactory; and neither the former nor the latter solve the problem with documentation database conflicts: users still have to tinker with MANPREFIX and/or MANSECTION, or use fully-qualified pathnames, to read the right manpages. b.
On 11/25/2012 11:38 AM, b. f. wrote: > On 11/25/12, Chris Petrik <c.petrik.sosa@gmail.com> wrote: >> The following reply was made to PR ports/173767; it has been noted by >> GNATS. >> >> From: Chris Petrik <c.petrik.sosa@gmail.com> >> I think you are over complicating this as people will have issues with the >> man pages being named -tcl-ver. the manpage causing the issue should be >> the >> one thats renamed not the whole lot. > I can understand your desire to keep things simple, but I think that > it is a good idea for the reasons I already mentioned. Apart from the > other changes that I suggested, that should be made anyway, renaming > all of the manpages only adds a few more lines to the port Makefile > and to the diff (and maybe a few more if you want to change the > internal references in the manpages). And it removes not only the > file conflicts with x11-toolkits/open-motif (Object.3) and the other > lang/tcl8* ports (nearly all manpages), but also removes the > documentation database conflicts with the lang/tcl8* ports (nearly all > manpages), lang/perl5.* ports (Thread.3) and lang/linux-f10-tcl85 > (TCL_MEM_DEBUG.3 and Tcl_Main.3), and so obviates the need to tinker > with MANPREFIX or use fully-qualified pathnames when you want to view > conflicting manpages. Consider the alternatives: > > --If you only rename one or two manpages, you prevent users from > simultaneously installing more than one version of lang/tcl8* with > manpages, and you must register CONFLICTS with the other tcl ports, > but only when manpages are installed. To do that you must either > split the manpages into separate ports with unconditional CONFLICTS, > or you must change the package names via PKGNAMESUFFIX or the like, > and add conditional CONFLICTS. > > --Or you could change mandir to be version-specific, but then you have > to add MANPREFIX, etc. > > And with both of these alternatives there are still the annoying > documentation database conflicts. > > I think that the fact that the upstream maintainers added the > --enable-manpage-suffix option is a tacit acknowledgement that > renaming would be needed and acceptable in certain circumstances. > Some of the other packaging systems change the mandir and/or rename > the manpage sections. While the latter may help users of apropos(1) in > some cases, it isn't wholly satisfactory; and neither the former nor > the latter solve the problem with documentation database conflicts: > users still have to tinker with MANPREFIX and/or MANSECTION, or use > fully-qualified pathnames, to read the right manpages. > > b. If you think this is the way to go by all means commit your patch :) I will use it to fix the other tcl ports later on.
On 11/25/12, Chris Petrik <c.petrik.sosa@gmail.com> wrote: ... >> Some of the other packaging systems change the mandir and/or rename >> the manpage sections. While the latter may help users of apropos(1) in >> some cases, it isn't wholly satisfactory; and neither the former nor >> the latter solve the problem with documentation database conflicts: >> users still have to tinker with MANPREFIX and/or MANSECTION, or use In the above, I meant MANPATH and/or MANSECTION, of course... >> fully-qualified pathnames, to read the right manpages. ... > If you think this is the way to go by all means commit your patch :) I > will use it to fix the other tcl ports later on. I'll consult with one or two other interested committers. If there isn't significant disagreement, we can make the changes simultaneously. b.
On 11/25/2012 2:06 PM, Chris Petrik wrote: > On 11/25/2012 1:32 PM, b. f. wrote: >> On 11/25/12, Chris Petrik <c.petrik.sosa@gmail.com> wrote: >> >> ... >> >>>> Some of the other packaging systems change the mandir and/or rename >>>> the manpage sections. While the latter may help users of apropos(1) in >>>> some cases, it isn't wholly satisfactory; and neither the former nor >>>> the latter solve the problem with documentation database conflicts: >>>> users still have to tinker with MANPREFIX and/or MANSECTION, or use >> In the above, I meant MANPATH and/or MANSECTION, of course... >> >>>> fully-qualified pathnames, to read the right manpages. >> ... >> >>> If you think this is the way to go by all means commit your patch :) I >>> will use it to fix the other tcl ports later on. >> I'll consult with one or two other interested committers. If there >> isn't significant disagreement, we can make the changes >> simultaneously. I >> >> b. > I maintain most of them 83,84,85 I no longer maintain tcl 83 84 85 tk 83 tcl-modules and new maintainer is tcltk@ feel free to change as needed.
State Changed From-To: feedback->closed This has been taken care of in r311773 and r311775. Thanks!