Quoting Jan Wielemaker (2020-05-04 09:32:52)
> On 5/3/20 6:32 PM, Lev Lamberov wrote:
> > Чт 30 апр 2020 @ 20:36 Lev Lamberov <[email protected]>:
> > 
> >> So, my proposal is to have to following packages:
> >>
> >> 1. swi-prolog-core (with Core_system)
> >>
> >> 2. swi-prolog-core-packages (with Core_packages), depends on
> >> swi-prolog-core
> >>
> >> 3. swi-prolog-nox (original swi-prolog-nox, but without
> >> swi-prolog-{core,core-packages}), depends on
> >> swi-prolog-{core,core-packages}
> >>
> >> 4. swi-prolog-x (without changes at the moment)
> >>
> >> 5. swi-prolog-java (without changes at the moment)
> >>
> >> 6. swi-prolog-bdb (without changes at the moment)
> >>
> >> 7. swi-prolog-odbc (without changes at the moment)
> >>
> >> 8. swi-prolog-doc (without changes at the moment)
> >>
> >> 9. swi-prolog-test (without changes at the moment)
> >>
> >> 10. swi-prolog, depends on swi-prolog-{nox,x} as we have now
> >>
> >> 11. swi-prolog-full, depends on swi-prolog and
> >> swi-prolog-{java,odbc,bdb}, that is all swi-prolog packages (maybe
> >> except swi-prolog-test)
> > 
> > I've just uploaded 8.1.30 to experimental. swi-prolog source package
> > builds 11 packages as in the quotation above.

Nice.  When NEW processing (hopefully) succeeds, I will look further at 
making use of the restructed packages for eye.


> > swi-prolog-core provides virtual package 
> > swi-prolog-abi-$(swi-prolog:ABI), the value of $(swi-prolog:ABI) is 
> > based on the output of swipl --abi_version and massaged as follows:
> > 
> > $(shell LD_LIBRARY_PATH=debian/swi-prolog-core/usr/lib 
> > debian/swi-prolog-core/usr/bin/swipl --abi-version | sed 's/swipl-abi//' | 
> > tr -d '-')
> 
> I suggest 's/.*-abi-//' as the first part is basically flexible and may 
> vary with the name of SWI-Prolog.   Personally I'd also be in favor of
> not deleting the '-'.  Jonas doesn't see the need for that either.
> There is a logical structure in that.  If you do it really correctly
> you actually would have four virtual packages.  eye, not relying on
> foreign extensions (except bundled with SWI-Prolog) could than drop
> dependency on this part.   This is mostly theory though as this is
> the most stable of the binary interfaces.

If Lev finds it easier to maintain all 4 ABIs fused together as one, 
then that's fine by me.


> > That is, for 8.1.30+dfsg-1 it gives 267792e14f8de23899e, since the
> > output of swipl --abi_version is swipl-abi-2-67-792e14f8-de23899e.

...I do worry, though, about the way you fuse them together.  Virtual 
package names are permitted to contain dashes (single ones in the 
middle), and because not all ABI parts are fixed-length stripping dashes 
introduces a slight risk of different ABI combinations clashing.

In other words, if you do want to have Debian packaging present only one 
ABI (not some or all of the 4 exposed individually), then I agree with 
Jan that this is both simpler and safer:

$(shell LD_LIBRARY_PATH=debian/swi-prolog-core/usr/lib 
debian/swi-prolog-core/usr/bin/swipl --abi-version | sed 's/.*-abi-//')

If perhaps your reason for fusing ABIs is that you are not a fan of 
perl, then I would be happy to help write the perl code for a dh_* tool 
which handles all 4 ABIs.


> So,
> > other packages may depend on swi-prolog-abi-267792e14f8de23899e in case
> > they need this particular version of ABI.
> > 
> > Jonas, I did some tweaks to dependencies, so this part should be 
> > cleaner now.
> > 
> > Also, I looked into the eye package. It need pcre swi-prolog 
> > package, which is in swi-prolog-nox (as before), so you still need 
> > to at least Build-Depend on it.

Thanks for noticing that detail!

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/

 [x] quote me freely  [ ] ask before reusing  [ ] keep private

Attachment: signature.asc
Description: signature

Reply via email to