[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Somebody please put peless in a debian repository!



George Danchev <danchev@spnet.net> writes:

> On Monday 12 June 2006 15:35, Robert Collins wrote:
>> On Mon, 2006-06-12 at 08:12 -0400, Justin Pryzby wrote:
>> > During the xlibs-dev transition, I learned that listing full
>> > build-dependencies (not just the minimal set) is recommended, though I
>> > don't know how widely accepted or followed this is.  I don't mean
>> > listing indirect build-deps, just the complete set of directly used
>> > ones, even if one of the build-deps depends on another one.
>> > devscript's dpkg-depcheck and dpkg-genbuilddeps may be useful.
>>
>> The basic idea is that if *your package* needs foo, then you must state
>> foo - even if you also need bar which depends on foo.
>>
>> The reason for this is that you dont control the depends: of bar, so its
>> quite possible for foo to stop being installed while your package builds
>> without warning ... unless you have listed foo directly.
>>
>> That said, packages like gam and gam-dev are extremely unlikely to have
>> that happen - I would tend to just build-dep on the -dev package there.

'Build-Depends: libfoo, libfoo-dev' would actualy wrong. See
below. You can probably extend that to any -dev package, unless you
actively run "gam" during build.

> Agreed, build dependencies should be straightforward... and Policy #4.2 
> stipulates "what others need is their business... or their bugs":
>
> When specifying the set of build-time dependencies, one should list only those 
> packages explicitly required by the build. It is not necessary to list 
> packages which are required merely because some other package in the list of 
> build-time dependencies depends on them.[13]
>
> http://www.debian.org/doc/debian-policy/ch-source.html#fr13
>
> The reason for this is that dependencies change, and you should list all those 
> packages, and only those packages that you need directly. What others need is 
> their business. For example, if you only link against libimlib, you will need 
> to build-depend on libimlib2-dev but not against any libjpeg* packages, even 
> though libimlib2-dev currently depends on them: installation of libimlib2-dev 
> will automatically ensure that all of its run-time dependencies are 
> satisfied.
>
> http://www.debian.org/doc/debian-policy/footnotes.html#f13

Also when libimlib2 undegoes an ABI transition but not an API
transition then libimlib2 gets renamed to libimlib3 but libimlib2-dev
remains and depends on libimlib3 then. If you specify "Build-Depends:
libimlib2, libimlib2-dev" then you will pull in a totaly useless
libimlib2 and libimlib2-dev pulls in libimlib3. In some cases the
non -dev packages can even conflict making your package unbuildable.

So in conclusion: Just Build-Dep on the -dev. That will take care of
the library.

> Anyway the package is quite common... I also replied the guy with detailed 
> instructions how to turn the package in a good shape (ITP, manpage, watch 
> file, etc). He says he is busy working on it.

MfG
        Goswin



Reply to: