Date: Thu, 30 Aug 2012 23:20:33 -0400 From: "A.J. Kehoe IV (Nanoman)" <nanoman@nanoman.ca> To: Jeremy Messenger <mezz.freebsd@gmail.com> Cc: gnome@freebsd.org Subject: Re: WANT_GNOME Causes Automatic Dependencies Message-ID: <20120831032033.GE31703@nanocomputer.nanoman.ca> In-Reply-To: <CADLFttdT8-qZeu32RmKs0gMWH_ukbEyyk2zojnyC7G4fRDc6=w@mail.gmail.com> References: <20120830182257.GC31703@nanocomputer.nanoman.ca> <CADLFttdJn4LcY1xzxt6VmT4364aZoBcqakuttf4hd37RW3i4tg@mail.gmail.com> <20120830214321.GD31703@nanocomputer.nanoman.ca> <CADLFttdT8-qZeu32RmKs0gMWH_ukbEyyk2zojnyC7G4fRDc6=w@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] Jeremy Messenger wrote: >On Thu, Aug 30, 2012 at 4:43 PM, A.J. Kehoe IV (Nanoman) ><nanoman@nanoman.ca> wrote: >> Jeremy Messenger wrote: >>> >>> On Thu, Aug 30, 2012 at 1:22 PM, A.J. Kehoe IV (Nanoman) >>> <nanoman@nanoman.ca> wrote: >>>> >>>> WANT_GNOME causes automatic dependencies. This causes problems for port >>>> and >>>> package management, as described in the FreeBSD Porter's Handbook on the >>>> "Dependencies" page under "Problems Caused by Automatic Dependencies": >>>> >>>> >>>> http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-depend.html >>> >>> >>> I agree, I have got rid of it in bsd.mate.mk. >> >> >> Awesome! Automatic dependencies have been causing me grief for about a >> decade, so this makes me happy. > >I wanted to clean up all of issues for long time and finally did it in >the bsd.mate.mk (copied from bsd.gnome.mk). Here's what I did. I have >removed the features: > > -HAVE:Mfoo, A lot of users don't know, hide and lacking OPTIONS stuff. > It's not difficult to add autocheck in the Makefile without that > HAVE:Mfoo anyway if configure doesn't provide option to disable. > > -foo_USE_GNOME_IMPL, we do not maintain it very well. Also it was not > easy to track it down for the other maintainers to figure where the > dependencies come from. I think it's best to put a complete > dependencies in the ports rather than having IMPL doing it for you. > > -Remove the gnomeprefix and replace it to something like > GCONFPREFIX=--gconf=...., so you can put ${GCONFPREFIX} in the > Makefile's CONFIGURE_ARGS. Because not all ports have the > same flags. > > -Remove the referencehack, yes it works great but it's ugly in the > every Makefile. > >I think that's all. Only a feature that has been added is :build and >:run. If anyone have something in mind to improvement or else, let me >know and I will see what I can do. I plan to copy all of improvement >from bsd.mate.mk to bsd.gnome.mk, which I already did with :build and >:run and will doing more later when I have time permit. Unless someone >can help me with it. Does anyone maintain a dependencies map for GNOME? I'm thinking of something like this, but parsable, legible, and current: http://people.freebsd.org/~adamw/gnome_kde_deps/gnome2-lite.png It would also need to indicate how optional components fit together. [...] >> I'm not fond of my misc/gnome-components method either, so any alternative >> ideas are very welcome. All I've done thus far is created a Makefile with >> an OPTIONS list for the 97 components from bsd.gnome.mk. >> >> What do you suggest for a real fix/clean? Based on your response, the ideal >> fix has at least two attributes: >> >> 1. No automatic dependencies. >> >> 2. An option to disable specific components. > >I meant by remove the HAVE_GNOME from port Makefile then switch to either: > >1) automatic dependency by using exists() or >2) OPTIONS if the port's configure provides flag to disable. > >It is unnecessary to make it complicates with gnome-components when >the standard solution available in our ports tree. As for the #1, yes, >it has to be there because a few configure files do that without >option to disable (blame it on upstream). I'm not opposed to writing patches that will make the WANT_GNOME ports declare their dependencies predictably. There are approximately 183 ports using WANT_GNOME, so writing these patches is going to take me several days, followed by weeks of waiting for maintainer updates. I might be able to get through this faster by asking the maintainers to assist me, but I expect to have to do most on my own. I'm absolutely willing to abort my misc/gnome-components plan in favour of a better idea. If writing patches for roughly 183 ports is considered a better idea, then this is what I will do instead. It is indeed a problem when a port doesn't respect configure arguments to enable or disable optional features, but exists() causes automatic dependencies. Fortunately, there are two solutions: A. Convince the upstream source that they need to fix this at their end. Sending them a patch is the best way. B. Write a patch that fixes this within the FreeBSD Ports Collection. Such a patch may require upkeep by the port maintainer. >> I'm trying to get this issue resolved as quickly as possible, but I want the >> fix to be done well. Again, any suggestions or alternative solutions are >> welcome. > >I don't see why you are in such of hurry when we have that issue for >years (longer than I became committer). When doing it in hurry always >make messy, complicate or whatever. Hences for gnome-components. > >Cheers, >Mezz I'm responsible for hundreds of FreeBSD systems, each with its own unique set of packages installed. Automatic dependencies make my job much more labour intensive than it needs to be, and the added work increases my chances of making a mistake. pkgng 1.0 was released today, and FreeBSD 9.1 will be released soon, so I'll soon have a lot of upgrading to do. I've grown exceedingly weary of dealing with the problems caused by automatic dependencies, and I just don't want to tolerate it any longer. It's only a tiny minority of ports that declare their dependencies using this unpredictable method, so I've decided to weed them out to make my life easier. -- A.J. Kehoe IV (Nanoman) | /"\ ASCII Ribbon Campaign Nanoman's Company | \ / - No HTML/RTF in E-mail E-mail: nanoman@nanoman.ca | X - No proprietary attachments WWW: http://www.nanoman.ca/ | / \ - Respect for open standards [-- Attachment #2 --] 0 *H 010 + 0 *H w020m0 *H 0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 120403190630Z 120930190630Z0=10UCAcert WoT User1!0 *H nanoman@nanoman.ca0"0 *H 0 VDj @[H}K4٪:CJyckXmi ~F6x1JoeHQL`w&.PH"w}|oѬݘ2r6ڛ? p .yaw Nc^ʽhNmHo$lsB1hXy XUşkք))RnZg_Îhc$u^SϏdmoA#k>x;As 00U0 0V `HB IGTo get your own certificate for FREE head over to http://www.CAcert.org0@U%907++ +7 +7 `HB02+&0$0"+0http://ocsp.cacert.org0U0nanoman@nanoman.ca0 *H PCA{ S%j9zZ'{ BI*?%}.C[%@ָ0GѺ{deLwB{q T `s,x<uFo:niE{ZӍjd[K,IToz} V)7$;.9pYk,nʐvzzs*`I)K{qsxM7ԅ"#bUKxI[MoulxCCrpIH%R =V}61=߱"r `o`2ZDp>$-j>U0Xj;1cMX4/\4ԓbo@A VnC. amMU{4mgsV֗U2p3 )*ϱeDHx;z_Z08J Kv^^AMAD7Y|[hk2$I~$W q0=0% 0 *H 0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0 030330122949Z 330329122949Z0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org0"0 *H 0 "F}6(P3@K;f?1k6|Nw6A Fs`n~XdͰEcg ҿ>L5]l!ޞ ٺf27rXɎ^> l[df*zKSy{/ a+~MVڒDAX`efD˔B~ehQWkzr%[ 2H.0B%k?:SHҶ4zX+[8]fɘמtqr`o34v>$zoE8GAJ. Yתғ}h.KX/ꕧTۋQ"þ,x ӊ/?Qe!eE|ALO)!3uQwi" Ṕ1{8h[+~_rLK Wʑ u!7c g>FOp gYͺbA )d)B"xC QKZZqs 00U2Ұ:90U#02Ұ:9ѡ}{0y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.org 0U002U+0)0'%#!https://www.cacert.org/revoke.crl00 `HB#!https://www.cacert.org/revoke.crl04 `HB'%http://www.cacert.org/index.php?id=100V `HB IGTo get your own certificate for FREE head over to http://www.cacert.org0 *H (\5 ojhX>ÐZ`CpbgX 06;Htq>+h4b@F;S(fSM];`yi;eƁ\MU7paj|.T>O!܂EMs<evj7$NmQďʖmC0e';{CCcCh"{Z>7;N˛͚۲p-JذoEH3<2*T#Gdzqc~/ܟ+H%B>Wiw4 Kʠƌ27hs_QIS6 Ly:u pg/y=sog/${H5)@`ᖆPzY؏!ς;kV#lH<N/ So.t:c¦D l$pG.Բ d$ܡ5ԼU.}UZ֓v%sLC1\0X00y10U Root CA10Uhttp://www.cacert.org1"0 UCA Cert Signing Authority1!0 *H support@cacert.orgm0 + 0 *H 1 *H 0 *H 1 120831032033Z0# *H 1YDXNW\Ϳ0R *H 1E0C0 *H 0*H 0 *H @0+0 *H (0 *H 3-VѦ*wi>W)uQs\'Kv4y8Aڔ{YufK%.R-]| (0k==?%KoY/]@xf$b)`P CK6ɽՂ:,T&fJ{]GQn;fHwC{e>a[Zqb;0/#D3n|osq^
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20120831032033.GE31703>
