Re: Depending on a -bin package built from the same source version
Hi,
Il 10/03/2013 21:09, Eric Lavarde ha scritto:
Hi,
On 10/03/13 20:17, Antonio Valentino wrote:
Hi Sven, hi Eric,
Il 10/03/2013 19:59, Sven Joachim ha scritto:
On 2013-03-10 19:26 +0100, Eric Lavarde wrote:
On 10/03/13 18:48, Antonio Valentino wrote:
Configuration item 'binary:polsarpro Depends:2' has a wrong value:
dependency 'polsarpro-bin (<< ${source:Version}.1~)' does not match
grammar
Should I care about it?
Not about the "unknownness" of the package as you're currently
packaging it.
But about the wrong version value: you can't combine a placeholder and
other characters.
Why not?
Is it possible that cme is complaining about that.
Is it a cme bug?
Reading again some doc, placeholder and other characters should be
allowed, but it could be indeed that cme is more restrictive (perhaps
add a zero after the tilde?).
I made several attempts bit it seems that cme really doesn't like extra
characters after placeholders.
In conclusion the solution suggested in [1] is actually valid and the
cme warning can be safely ignored in this case.
[1] http://lintian.debian.org/tags/not-binnmuable-all-depends-any.html
Is there a better solution to address the specific problem?
Yes, simply depend on version equality:
Depends: polsarpro-bin (= ${source:Version})
Remark: you might want to check [1] if a binary:Version placeholder
wouldn't be a better choice.
Assuming that polsarpro is Arch:all and polsarpro-bin is Arch:any, which
seems to be the case here, neither of these options works.
A valid possibility would be to reverse the roles and dependencies:
rename polsarpro to polsarpro-data and polsarpro-bin to polsarpro, then
polsarpro can depend on polsarpro-data (= ${source:Version}).
Cheers,
Sven
yes I could use polsarpro-data or polsarpro-gui but the problem remains.
The GUI is written in Tcl/Tk and is arch: all and it must depend form
the package containing command line programs that is arch: any.
Without command line programs the GUI can't perform any useful task.
The assumption from Sven was, I think, that GUI and CLI always come
together, then you could have
CLI depends on GUI = version
GUI depends on CLI (no version)
and users would always tend to install the simplest named package, i.e.
polsarpro but if of course the CLI can be used stand-alone it makes
things more complicated...
I suppose that the vast majority of the users only use the program via
GUI (so do I), so the solution of forcing the user to install both
packages makes sense.
Anyway I can't exclude that some advanced user may want to use command
line programs directly.
I haven't completely thought it through, but you could perhaps have:
GUI depends on CLI (>= version)
CLI conflicts with GUI << version and with GUI >> version
(I don't know if conflicts reacts the same way as depends, i.e. remove
the +b stuff from source:Version!?)
As a side-note, you might want to pay attention to the package name if
the CLI can be used independently: I don't think there is a standard but
-bin doesn't sound like something to use standalone, it sounds more like
libraries and plugins, i.e. "inert" stuff used by the main package. -cli
might be a better choice.
Hope this helps, Eric
thanks a lot
--
Antonio Valentino
Reply to: