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

Bug#546199: libsoprano4: soprano-daemon must depend on libsoprano


> The facts are that:
> 1) libsoprano4 needs soprano-daemon for the library to be useful at
>  runtime; 2) soprano-daemon is not supposed to be installed or directly
>  used by users. I guess you are annoyed that soprano-daemon is not removed
>  when you remove libsoprano4. But that's what apt autoremove is for.
> > However there's the problem with the circular dependency. Since
> >  soprano-daemon must depend on libsoprano4, you can only delete the
> >  opposite dependecy, from libsoprano4 to soprano-daemon.
> >
> > If libsoprano4 also depends on soprano-daemon, then there's no reason to
> >  build two separate packages in the first place and you merge them into
> > one package.
> One of the reasons is debian policy which claims that support binaries for
> libraries should be shipped in the packages of their own.

Debian Policy, 3.5:
"For example, a dependency entry must be provided for any shared libraries 
required by a dynamically-linked executable binary in a package."

% dpkg -S /usr/bin/sopranod                                                                                              
soprano-daemon: /usr/bin/sopranod
% ldd /usr/bin/sopranod | grep libsoprano
        libsoprano.so.4 => /usr/lib/libsoprano.so.4
        libsopranoserver.so.1 => /usr/lib/libsopranoserver.so.1

For me, the policy together with these two commands make it cristal clear that 
there is no other posibility then: soprano-daemon MUST depend on libsoprano4.
It's irrelevant which package is useful or not or what any kind of user may 
want or know. If I install a binary, then this binary must depend on all the 
libraries it needs to run.

I did see, that many applications depend on libsoprano4 and that it's therefor 
very unlikely, that anybody would ever install soprano-daemon without having 
libsoprano4 already installed. - But this is irrelevant. I must be possible to 
install any random package in Debian and have it work without relying on 
packages that are not in the dependency tree of this single package.

Best regards,

Thomas Koch, http://www.koch.ro

Reply to: