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

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: