Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1134395 > unrolled thread
| Started by | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| First post | 2023-01-22 18:20 +0100 |
| Last post | 2023-01-28 18:50 +0100 |
| Articles | 9 — 2 participants |
Back to article view | Back to linux.debian.bugs.dist
Bug#1029448: ITP: alire -- Package manager for Ada sources Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-22 18:20 +0100
Bug#1029448: Debian package for Alire 1.2.1 Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-22 18:50 +0100
Bug#1029448: alire in Debian; dependencies of the package Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-23 20:00 +0100
Bug#1029448: alire in Debian; dependencies of the package Stephane Carrez <Stephane.Carrez@vacs.fr> - 2023-01-23 21:20 +0100
Bug#1029448: alire in Debian; dependencies of the package Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-24 00:00 +0100
Bug#1029448: alire in Debian; dependencies of the package Stephane Carrez <Stephane.Carrez@vacs.fr> - 2023-01-28 15:00 +0100
Bug#1029448: alire in Debian; dependencies of the package Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-28 16:40 +0100
Bug#1029448: alire in Debian; dependencies of the package Stephane Carrez <Stephane.Carrez@vacs.fr> - 2023-01-28 17:50 +0100
Bug#1029448: alire in Debian; dependencies of the package Ludovic Brenta <ludovic@ludovic-brenta.org> - 2023-01-28 18:50 +0100
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-22 18:20 +0100 |
| Subject | Bug#1029448: ITP: alire -- Package manager for Ada sources |
| Message-ID | <FQMaC-o2Z-29@gated-at.bofh.it> |
Package: wnpp Owner: Ludovic Brenta <ludovic@ludovic-brenta.org> Severity: wishlist * Package name : alire Version : 1.2.1 Upstream Author : Alejandro R. Mosteo and others * URL or Web page : https://github.com/alire-project * License : GPLv3 Description : Package manager for Ada sources ALIRE: Ada LIbrary REpository. A catalog of ready-to-use Ada libraries plus a command-line tool (alr) to obtain, build, and incorporate them into your own projects. It aims to fulfill a similar role to Rust's cargo or OCaml's opam. This is a source package manager, in contrast to apt which is a binary package manager. -- Ludovic Brenta.
[toc] | [next] | [standalone]
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-22 18:50 +0100 |
| Subject | Bug#1029448: Debian package for Alire 1.2.1 |
| Message-ID | <FQMDD-odo-25@gated-at.bofh.it> |
| In reply to | #1134395 |
OK, after a little struggling I managed to build the package (notably, git@github.com:alire-project/alire.git requires permissions which I don't have, used https://github.com/alire-project/alire.git). During the build I noticed that alire pulls and recompiles several libraries it depends on. This violates Debian policy; a Debian package must never duplicate another. I notice gnatcoll and xmlezout among the dependencies that are already packaged for Debian. There may be others I didn't see. Therefore, please update the packaging of alire to build-depend on these existing packages and not to recompile them from source. I have filed bug #1029448 to track the introduction of alire into Debian. A Debian bug is also a dedicated, public mailing list: in this case, 1029448@bugs.debian.org. -- Ludovic Brenta.
[toc] | [prev] | [next] | [standalone]
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-23 20:00 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FRacV-DbZ-3@gated-at.bofh.it> |
| In reply to | #1134395 |
Here is what I get with dpkg --info alire_1.2.1-2_amd64.deb after building it:
new Debian package, version 2.0.
size 3434464 bytes: control archive=1560 bytes.
476 bytes, 13 lines control
2386 bytes, 35 lines md5sums
Package: alire
Version: 1.2.1-2
Architecture: amd64
Maintainer: Stephane Carrez <Stephane.Carrez@gmail.com>
Installed-Size: 17740
Depends: libc6 (>= 2.35)
Section: devel
Priority: optional
Homepage: https://github.com/alire-project
Description: Ada package manager.
A catalog of ready-to-use Ada libraries plus a command-line tool
(`alr`) to obtain, build, and incorporate them into your own projects.
It aims to fulfill a similar role to Rust's `cargo` or OCaml's `opam`.
As you can see, it does not depend on libgnat-12 and does not even recommend gnat. This
seems suspicious to me. Could you please check that the dependencies are generated
correctly?
--
Ludovic Brenta.
[toc] | [prev] | [next] | [standalone]
| From | Stephane Carrez <Stephane.Carrez@vacs.fr> |
|---|---|
| Date | 2023-01-23 21:20 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FRbsl-E9C-9@gated-at.bofh.it> |
| In reply to | #1134567 |
Hi Ludovic,
On 23/01/2023 19:51, Ludovic Brenta wrote:
> Here is what I get with dpkg --info alire_1.2.1-2_amd64.deb after building it:
>
> new Debian package, version 2.0.
> size 3434464 bytes: control archive=1560 bytes.
> 476 bytes, 13 lines control
> 2386 bytes, 35 lines md5sums
> Package: alire
> Version: 1.2.1-2
> Architecture: amd64
> Maintainer: Stephane Carrez <Stephane.Carrez@gmail.com>
> Installed-Size: 17740
> Depends: libc6 (>= 2.35)
> Section: devel
> Priority: optional
> Homepage: https://github.com/alire-project
> Description: Ada package manager.
> A catalog of ready-to-use Ada libraries plus a command-line tool
> (`alr`) to obtain, build, and incorporate them into your own projects.
> It aims to fulfill a similar role to Rust's `cargo` or OCaml's `opam`.
>
> As you can see, it does not depend on libgnat-12 and does not even recommend gnat. This
> seems suspicious to me. Could you please check that the dependencies are generated
> correctly?
>
Yes, I think this comes from the way they build Alire by default to reduce dependencies
on the GNAT compiler and other shared libraries.
$ ldd bin/alr
linux-vdso.so.1 (0x00007ffc555ed000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f152fe1f000)
/lib64/ld-linux-x86-64.so.2 (0x00007f1531205000)
By not depending on the GNAT compiler installed, you can use Alire with several newer
or older compiler as you wish.
I think this comes from the definition in alire_common.gpr:
package Binder is
for Switches ("Ada") use ("-Es", "-g", "-static");
end Binder;
[toc] | [prev] | [next] | [standalone]
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-24 00:00 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FRdXb-FBL-21@gated-at.bofh.it> |
| In reply to | #1134582 |
Stephane Carrez <Stephane.Carrez@vacs.fr> writes: > By not depending on the GNAT compiler installed, you can use Alire with several newer > or older compiler as you wish. This may be fine on operating systems that lack a package manager but this contradicts the Debian Ada Policy, which requires all Ada packages to depend on the same gnat compiler. Therefore, please package alire in such a way that the binary package depends on, and uses, the existing Debian packages i.e. gnat-12, libgnatcoll21 and libxmlezout7 at run-time, and build-depends and uses the corresponding -dev packages at compile time. -- Ludovic Brenta.
[toc] | [prev] | [next] | [standalone]
| From | Stephane Carrez <Stephane.Carrez@vacs.fr> |
|---|---|
| Date | 2023-01-28 15:00 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FSTUm-1Kik-11@gated-at.bofh.it> |
| In reply to | #1134610 |
Hi
After stuggling with gbp and its pq import/export process, I've managed to
do the changes, have them on the debian/bookworm branch (as quilt patches)
and produce a new Debian package.
This is what I'm getting now:
ciceron@theia:~/debian$ dpkg --info alire_1.2.1-3_amd64.deb
new Debian package, version 2.0.
size 2962740 bytes: control archive=1648 bytes.
666 bytes, 16 lines control
2386 bytes, 35 lines md5sums
Package: alire
Version: 1.2.1-3
Architecture: amd64
Maintainer: Stephane Carrez <Stephane.Carrez@gmail.com>
Installed-Size: 16227
Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libgnat-12 (>= 12.2.0), libgnatcoll21 (>= 23.0.0), libxmlezout7 (>= 1.06.2)
Section: devel
Priority: optional
Homepage: https://github.com/alire-project
Description: Ada package manager.
A catalog of ready-to-use Ada libraries plus a command-line tool
(`alr`) to obtain, build, and incorporate them into your own projects.
It aims to fulfill a similar role to Rust's `cargo` or OCaml's `opam`.
.
This is a source package manager, in contrast to apt which is a binary
package manager.
After installation, the alr binary depends on the following shared libraries:
ciceron@theia:~/debian$ ldd /usr/bin/alr
linux-vdso.so.1 (0x00007ffc36dca000)
libgnatcoll.so.21 => /lib/x86_64-linux-gnu/libgnatcoll.so.21 (0x00007f1508e00000)
libxmlezout.so.7 => /lib/x86_64-linux-gnu/libxmlezout.so.7 (0x00007f150a71b000)
libgnarl-12.so => /lib/x86_64-linux-gnu/libgnarl-12.so (0x00007f150a6cf000)
libgnat-12.so => /lib/x86_64-linux-gnu/libgnat-12.so (0x00007f1508800000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f150a6af000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f150861f000)
libgnatprj.so.10 => /lib/x86_64-linux-gnu/libgnatprj.so.10 (0x00007f1507c00000)
libxmlada_schema.so.7 => /lib/x86_64-linux-gnu/libxmlada_schema.so.7 (0x00007f150a5d7000)
libxmlada_dom.so.8 => /lib/x86_64-linux-gnu/libxmlada_dom.so.8 (0x00007f15095de000)
libxmlada_sax.so.7 => /lib/x86_64-linux-gnu/libxmlada_sax.so.7 (0x00007f150958c000)
libxmlada_input.so.7 => /lib/x86_64-linux-gnu/libxmlada_input.so.7 (0x00007f150957d000)
libxmlada_unicode.so.7 => /lib/x86_64-linux-gnu/libxmlada_unicode.so.7 (0x00007f1507800000)
/lib64/ld-linux-x86-64.so.2 (0x00007f150a741000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f150949e000)
The process I've used to build the package is:
git clone -b debian/bookworm --recursive https://github.com/stcarrez/alire.git
cd alire
git remote add upstream https://github.com/alire-project/alire.git
git fetch upstream
gbp buildpackage --git-ignore-new --git-pristine-tar \
--git-pristine-tar-commit --git-upstream-tag='v1.2.1' \
--git-submodules
Stephane
[toc] | [prev] | [next] | [standalone]
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-28 16:40 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FSVt7-1Lm5-29@gated-at.bofh.it> |
| In reply to | #1135204 |
> Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libgnat-12 (>= 12.2.0), libgnatcoll21 (>= 23.0.0), libxmlezout7 (>= 1.06.2) is at odds with > ciceron@theia:~/debian$ ldd /usr/bin/alr > linux-vdso.so.1 (0x00007ffc36dca000) > libgnatcoll.so.21 => /lib/x86_64-linux-gnu/libgnatcoll.so.21 (0x00007f1508e00000) > libxmlezout.so.7 => /lib/x86_64-linux-gnu/libxmlezout.so.7 (0x00007f150a71b000) > libgnarl-12.so => /lib/x86_64-linux-gnu/libgnarl-12.so (0x00007f150a6cf000) > libgnat-12.so => /lib/x86_64-linux-gnu/libgnat-12.so (0x00007f1508800000) > libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f150a6af000) > libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f150861f000) > libgnatprj.so.10 => /lib/x86_64-linux-gnu/libgnatprj.so.10 (0x00007f1507c00000) > libxmlada_schema.so.7 => /lib/x86_64-linux-gnu/libxmlada_schema.so.7 (0x00007f150a5d7000) > libxmlada_dom.so.8 => /lib/x86_64-linux-gnu/libxmlada_dom.so.8 (0x00007f15095de000) > libxmlada_sax.so.7 => /lib/x86_64-linux-gnu/libxmlada_sax.so.7 (0x00007f150958c000) > libxmlada_input.so.7 => /lib/x86_64-linux-gnu/libxmlada_input.so.7 (0x00007f150957d000) > libxmlada_unicode.so.7 => /lib/x86_64-linux-gnu/libxmlada_unicode.so.7 (0x00007f1507800000) > /lib64/ld-linux-x86-64.so.2 (0x00007f150a741000) > libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f150949e000) You need to add libgnatprj10, libxmlada-schema7 etc. to the dependencies; preferably in an automated way. You're almost there, keep up the good work. Also, I've checked that no existing package provides a file named /usr/bin/alr, so you're good in that respect. -- Ludovic Brenta.
[toc] | [prev] | [next] | [standalone]
| From | Stephane Carrez <Stephane.Carrez@vacs.fr> |
|---|---|
| Date | 2023-01-28 17:50 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FSWyR-1M0n-9@gated-at.bofh.it> |
| In reply to | #1135215 |
On 28/01/2023 16:28, Ludovic Brenta wrote:
>> Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libgnat-12 (>= 12.2.0), libgnatcoll21 (>= 23.0.0), libxmlezout7 (>= 1.06.2)
>
> is at odds with
>
>> ciceron@theia:~/debian$ ldd /usr/bin/alr
>> linux-vdso.so.1 (0x00007ffc36dca000)
>> libgnatcoll.so.21 => /lib/x86_64-linux-gnu/libgnatcoll.so.21 (0x00007f1508e00000)
>> libxmlezout.so.7 => /lib/x86_64-linux-gnu/libxmlezout.so.7 (0x00007f150a71b000)
>> libgnarl-12.so => /lib/x86_64-linux-gnu/libgnarl-12.so (0x00007f150a6cf000)
>> libgnat-12.so => /lib/x86_64-linux-gnu/libgnat-12.so (0x00007f1508800000)
>> libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f150a6af000)
>> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f150861f000)
>> libgnatprj.so.10 => /lib/x86_64-linux-gnu/libgnatprj.so.10 (0x00007f1507c00000)
>> libxmlada_schema.so.7 => /lib/x86_64-linux-gnu/libxmlada_schema.so.7 (0x00007f150a5d7000)
>> libxmlada_dom.so.8 => /lib/x86_64-linux-gnu/libxmlada_dom.so.8 (0x00007f15095de000)
>> libxmlada_sax.so.7 => /lib/x86_64-linux-gnu/libxmlada_sax.so.7 (0x00007f150958c000)
>> libxmlada_input.so.7 => /lib/x86_64-linux-gnu/libxmlada_input.so.7 (0x00007f150957d000)
>> libxmlada_unicode.so.7 => /lib/x86_64-linux-gnu/libxmlada_unicode.so.7 (0x00007f1507800000)
>> /lib64/ld-linux-x86-64.so.2 (0x00007f150a741000)
>> libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f150949e000)
>
> You need to add libgnatprj10, libxmlada-schema7 etc. to the dependencies; preferably in an
> automated way.
>
I've tried:
Build-Depends: debhelper (>= 11), gnat,
gprbuild (>= 2015-2), python3,
libgnatcoll21-dev, libxmlezout10-dev,
libxmlada-dom12-dev, libxmlada-sax12-dev,
libxmlada-input12-dev, libxmlada-unicode12-dev,
libgnatprj10-dev
but this does not change the final build dependencies which is declared with:
Package: alire
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Alire does not directly use XML/Ada nor GNATPRJ.
These shared libraries are linked/used by libgnatcoll.so.21 and libgnatprj.so.10.
Any suggestions on how to solve that?
Stephane
[toc] | [prev] | [next] | [standalone]
| From | Ludovic Brenta <ludovic@ludovic-brenta.org> |
|---|---|
| Date | 2023-01-28 18:50 +0100 |
| Subject | Bug#1029448: alire in Debian; dependencies of the package |
| Message-ID | <FSXuV-1MB7-5@gated-at.bofh.it> |
| In reply to | #1135219 |
Stephane Carrez <Stephane.Carrez@vacs.fr> writes: > Alire does not directly use XML/Ada nor GNATPRJ. > These shared libraries are linked/used by libgnatcoll.so.21 and libgnatprj.so.10. Ah, ok, in that case the dependencies are already handled i.e. the package libgnatcoll21 depends on libxmlada-* and libgnatprj10. So you don't need to do anything more. I'll try to upload. -- Ludovic Brenta.
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.bugs.dist
csiph-web