FS#76225 - [smalltalk]: published PKGFILE does not produce the published binary package

Attached to Project: Community Packages
Opened by bill-auger (bill-auger) - Monday, 17 October 2022, 03:04 GMT
Last edited by Toolybird (Toolybird) - Monday, 17 October 2022, 06:27 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To No-one
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:

the published PKGFILE does not produce the published binary package

the package in the arch community repo is missing several files,
which, according to the published recipe, should be present

i discovered this while troubleshooting a bug report upstream -
this is the cause of  FS#76224 


Additional info:

community/smalltalk 3.2.91-11

diff between a package built with makepkg, using the published arch PKGBUILD (left)
and the package in the arch community repo (right)
(these file lists should be identical, yes?)

$ diff <(tar f ./smalltalk-3.2.91-11-x86_64.pkg.tar.xz --list) \
<(tar f /var/cache/pacman/pkg/smalltalk-3.2.91-11-x86_64.pkg.tar.zst --list)
52,60d51
< usr/lib/smalltalk/gst-gtk-3.2.92.so
< usr/lib/smalltalk/gst-gtk.a
< usr/lib/smalltalk/gst-gtk.so
< usr/lib/smalltalk/gstglut-3.2.92.so
< usr/lib/smalltalk/gstglut.a
< usr/lib/smalltalk/gstglut.so
< usr/lib/smalltalk/gstopengl-3.2.92.so
< usr/lib/smalltalk/gstopengl.a
< usr/lib/smalltalk/gstopengl.so
119d109
< usr/share/smalltalk/BloxGTK.star
128d117
< usr/share/smalltalk/DBD-PostgreSQL.star
136d124
< usr/share/smalltalk/GLUT.star
139d126
< usr/share/smalltalk/GTK.star
151d137
< usr/share/smalltalk/OpenGL.star
This task depends upon

Closed by  Toolybird (Toolybird)
Monday, 17 October 2022, 06:27 GMT
Reason for closing:  Not a bug
Additional comments about closing:  See comments
Comment by Doug Newgard (Scimmia) - Monday, 17 October 2022, 03:23 GMT
Did you build this package in a clean chroot? Doesn't look like it, file list comes out the same for me.
Comment by bill-auger (bill-auger) - Monday, 17 October 2022, 04:40 GMT
yer right - when compiled in clean chroot, the package list is identical to the package in community - but the  FS#76224  problem remains; because the package does not include /usr/share/smalltalk/GTK.star or /usr/lib/smalltalk/gst-gtk.so - any attempt to run a GTK application written in gnu-smalltalk will fail without those files - one of the primary applications in the smalltalk package is such an application /usr/bin/gst-browser

the PKGBUILD configures --enable-gtk=yes - probably, the gst-browser binary would not be produced without that; so i suppose there is some unspecified dependency to add - the file differences include several *gl* files; so maybe that is a clue
Comment by bill-auger (bill-auger) - Monday, 17 October 2022, 05:05 GMT
i added some GL related packages and some of the missing files were produced (the ones named *gl*) - not the GTK support files though - must be something else

makedepends+=(freeglut glew glu libepoxy libglvnd mesa)
Comment by bill-auger (bill-auger) - Monday, 17 October 2022, 05:18 GMT
ok then - i added some GTK related packages and most of the missing files were produced, including the ones that should fix  FS#76224  - of the files in the discrepancy in the OP, only one is still missing: /usr/share/smalltalk/DBD-PostgreSQL.star; but i suspect that there are more which could be supported

makedepends+=(freeglut glew glu libepoxy libglvnd mesa) # at least one of these is necessary
makedepends+=(gtkmm3 glade gtk2 gtksourceview3) # at least one of these is necessary

i will leave it to the package maintainer to reduce that set; and maybe figure out what else is needed - based on the configure log, my guess is that gtk2 is the important one for  FS#76224 

| checking for GTK+ - version >= 2.0.0... yes (version 2.24.33)


WRT DBD-PostgreSQL.star, this is the only clue i saw

| checking for PQconnectdb in -lpq... no
| checking whether to install DBD-PostgreSQL... no
| checking whether to run PostgreSQL tests... no


i noticed it complained that SDL support would not be built - maybe SDL could be supported also

| checking whether to install LibSDL... no
| checking whether to install LibSDL_GL... no
| checking whether to install CairoSDL... no
| checking for IMG_Linked_Version in -lSDL_image... no
| checking whether to install LibSDL_image... no
| checking for Mix_Linked_Version in -lSDL_mixer... no
| checking whether to install LibSDL_mixer... no
| checking for Sound_GetLinkedVersion in -lSDL_sound... no
| checking whether to install LibSDL_sound... no
| checking for TTF_Init in -lSDL_ttf... no
| checking whether to install LibSDL_ttf... no
Comment by loqs (loqs) - Monday, 17 October 2022, 06:03 GMT
Please see [1] and [2]. The package you generated differs from the published package as you have different packages installed on your system. For the build to be reducible the inputs including the packages installed on the build system are expected to be the same.

[1] https://wiki.archlinux.org/title/Reproducible_builds
[2] https://reproducible-builds.org/
Comment by bill-auger (bill-auger) - Monday, 17 October 2022, 06:09 GMT
loqs - yes that was the case initially - it is not a reproducibility issue; so the subject of this ticket is misleading now - if you can change the subject, it is more like "package is incomplete, missing build depends"

after that, i built it in a clean chroot and determined that there are some unspecified makedepends/optdepends missing, which are needed to support the GTK, opengl, postgresql, and possibly SDL features - the GTK support is essential - as it is, the package ships a broken binary of the IDE tool  FS#76224 
Comment by loqs (loqs) - Monday, 17 October 2022, 06:14 GMT
So this bug can be closed as there is no issue with the packages reproducibility and the discussion can continue in  FS#76224 

Loading...