Date: Fri, 07 Dec 2007 00:18:15 -0500 From: Alex Goncharov <alex-goncharov@comcast.net> To: Paul Schmehl <pauls@utdallas.edu> Cc: freebsd-ports@freebsd.org Subject: Re: (Very) bogus package dependencies Message-ID: <E1J0VbL-0006bi-6S@[24.61.20.41]> In-Reply-To: <8B6AA93E1BD6BB1C2A23236A@paul-schmehls-powerbook59.local> (message from Paul Schmehl on Thu, 06 Dec 2007 22:41:27 -0600) References: <E1J0Q3W-0000NQ-D9@[24.61.20.41]> <20071207001315.GA58050@owl.midgard.homeip.net> <E1J0TxL-000J4O-8V@[24.61.20.41]> <8B6AA93E1BD6BB1C2A23236A@paul-schmehls-powerbook59.local>
next in thread | previous in thread | raw e-mail | index | archive | help
,--- You=Paul (Thu, 06 Dec 2007 22:41:27 -0600) ----* | | > -------------------- | ># find /usr/ports/sysutils/hal -type f -exec grep -Hn 'cdrtools' {} \;| | ># wc -l | > 0 | > -------------------- | | That's because you're not looking in the right place. Open the Makefile | for hal and you find: | USE_CDRTOOLS= yes The place was right -- the character case was not: with `-i' I would have seen it: -------------------- # find /usr/ports/sysutils/hal -type f -exec grep -Hni 'cdrtools' {} \;| wc -l 1 -------------------- But thank you -- that's exactly the information I was looking for. | Now, why cdrtools is required to build the port is a question that is | answered by going to /usr/ports/Mk/bsd.port.mk and reading the section on | USE_CDRTOOLS. Then continue to trace from there, and you will find that | hal won't build without some file or files that are installed by cdrecord. Excellent -- thank you! | (No, I'm not going to do that for you.) That's a bit disappointing... Just kidding -- I'll do it *gladly*, now that you directed me to the right places. | > So, is it that a port maintainer creates `/var/db/pkg/PKG/*' files | > by hand? Based on individual ideas? Not on really "must-to-have" | > things, like dependencies on shared libraries? | > | Absolutely not! /var/db/pkg/portname is built by the ports system based | upon how the port is built. Most maintainers (including me!) would have | no clue what's in the CONTENTS page without looking at it, because we have | "nothing" to do with its creation (other than the fact that we created the | port.) OK. | > 2. (Conceptual): How reasonable are these dependencies? | > | I doubt seriously any port maintainer just picks dependencies willy-nilly. | They're chosen because the source code docs cite them as requirements | and/or because the port won't build without them. | | > In this case, `/usr/sbin/burncd' is all I need to burn CD's. I | > have no practical reason to have `cdrtools' on my computer. | > | Of course you do. Otherwise it wouldn't be there. I'll read `/usr/ports/Mk/bsd.port.mk' and may agree with you :-) | > Why would the "Hardware Abstraction Layer for simplifying device | > access" depend on a specific set of "CD/CD-R[W] and ISO-9660 image | > creation and extraction tools" -- on this set and not on another? | > | It most likely doesn't. It depends upon a file or files that are | installed by cdrtools. Interesting. | Look at one of my ports, security/barnyard. It depends on snort. | Why? Because that's the only thing it's designed to work with. | Without snort, there's no reason to have barnyard on your system. | Another port, devel/byacc, has no dependencies at all. Another one, | security/sguil-server, has multiple dependencies, some because | they're required for proper operation, others because the port won't | build without those libraries. That approach I understand... `cdrtools' was a mystery -- and it gave me a reason to ask the questions that I had long had in my head. | If you want to spend time figuring all that out, be my guest, but | the maintainers have already done all that work for you, and the | committers have verified that it's required and that it works as | expected. | That's the beauty of ports. I won't dispute the word "beauty" here -- I like the system very much. But coming from some eight years of using Debian, I am still mystified about the underling mechanics of ports. Your answers definitely help -- thank you! -- Alex -- alex-goncharov@comcast.net -- /* * Keep cool, but don't freeze. * * -- Hellman's Mayonnaise */
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E1J0VbL-0006bi-6S>