Hi Jan and Jonas, Пн 04 мая 2020 @ 11:07 Jonas Smedegaard <[email protected]>:
> 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,,, 4 different ABIs... Hmmm, it fact it sounds interesting. What do you (both) think about swi-prolog-core providing the following virtual packages: - swi-prolog-abi-foreign-FABI (currently, 2), - swi-prolog-abi-binary-BABI (currently, 67), - swi-prolog-abi-qlf-QLF (currently, 792e14f8), - swi-prolog-abi-states-SSTATES (currently, de23899e)? Or maybe even 5 virtual packages, the listed above plus swi-prolog-abi-ABI, where ABI is 2-67-792e14f8-de23899e (that is, without dashes)? Since all of the values for FABI, BABI, and so on are fetched programmatically, it is not a problem at all to provide such packages. So, I propose $(swi-prolog:ABI) = $(shell LD_LIBRARY_PATH=debian/swi-prolog-core/usr/lib debian/swi-prolog-core/usr/bin/swipl --abi-version | sed 's/.*-abi-//') $(swi-prolog:FABI) = $(shell LD_LIBRARY_PATH=debian/swi-prolog-core/usr/lib debian/swi-prolog-core/usr/bin/swipl --abi-version | sed 's/.*-abi-//' | cut --delimiter=- -f 1) And so on with '-f 1' to '-f 4'. What do you think? I can upload swi-prolog with these changes right after it is processed in NEW. Anyway I should add Breaks and Replaces to make updating from older versions smooth. Cheers! Lev

