procps 4.0 upstream API change breaks packages

  • Done
  • quality assurance status badge
Details
3 participants
  • Gabriel Wicki
  • Jelle Licht
  • Csepp
Owner
unassigned
Submitted by
Gabriel Wicki
Severity
normal
G
G
Gabriel Wicki wrote on 16 May 2023 00:13
Missing library in package procps
(address . bug-guix@gnu.org)
87wn192qh8.fsf@erlikon.ch
Hi

Trying to upgrade a somewhat outdated system (from March 23) I noticed
igt-gpu-tools failed to build. Investigating a bit the build fails due
to some "proc/readproc.h" include missing. I think i managed to fix the
failure in procps's Makefile, but testing the patched build results in a
rather huge rebuild. `guix refresh -l procps` results in 5328
packages. Are there any other approaches one could take to a) fix the
broken package without b) triggering a world-rebuild?

I'm not sure if this is an upstream bug and whether other packages are
affected, neither do I know whether the other header files that aren't
being copied to the install dir should be.


Thanks for your input in advance! I'll update this issue with a patch
as soon as I manage to verify that my attempt actually works.

gabber
C
(name . Gabriel Wicki)(address . gabriel@erlikon.ch)
87o7mlkyq8.fsf@riseup.net
Gabriel Wicki <gabriel@erlikon.ch> writes:

Toggle quote (20 lines)
> Hi
>
> Trying to upgrade a somewhat outdated system (from March 23) I noticed
> igt-gpu-tools failed to build. Investigating a bit the build fails due
> to some "proc/readproc.h" include missing. I think i managed to fix the
> failure in procps's Makefile, but testing the patched build results in a
> rather huge rebuild. `guix refresh -l procps` results in 5328
> packages. Are there any other approaches one could take to a) fix the
> broken package without b) triggering a world-rebuild?
>
> I'm not sure if this is an upstream bug and whether other packages are
> affected, neither do I know whether the other header files that aren't
> being copied to the install dir should be.
>
>
> Thanks for your input in advance! I'll update this issue with a patch
> as soon as I manage to verify that my attempt actually works.
>
> gabber

You could test it as a graft, then dependents won't get rebuilt. If the
public ABI exported by the package doesn't change, it Should Be Fine TM.
G
G
Gabriel Wicki wrote on 16 May 2023 10:05
(address . 63530@debbugs.gnu.org)
87mt243dlp.fsf@erlikon.ch
A little more hacking leads me to the conclusion that (probably with
version 4 but it's not exactly clear from the changelog) procps has made
some significant changes to it's API. So, unless igt-gpu-tools (and
probably others) are fixed upstream they remain broken. Fixes through
simple regex-magic in our build-phases might be possible, but I am not
confident enough in the matter to guarantee that the package would not
just build but be broken in a more specific manner.

Is there an easy way to check which dependents of procps are actually
broken currently? Or is it really just igt-gpu-tools?

There's two ways to go (I'd be happy for some input and volunteer to do
the actual leg-work):
1. Add an additional procps-3 package with the older API to fix the
broken packages.
2. Leave it as-is and wait for an upstream change of the currently
broken packages.
G
G
Gabriel Wicki wrote on 16 May 2023 10:07
control message for bug #63530
(address . control@debbugs.gnu.org)
87leho3dj4.fsf@erlikon.ch
retitle 63530 procps 4.0 upstream API change breaks packages
quit
J
J
Jelle Licht wrote on 28 May 2023 13:54
Re: bug#63530: Missing library in package procps
877cssd633.fsf@fsfe.org
Hello,

Gabriel Wicki <gabriel@erlikon.ch> writes:

Toggle quote (18 lines)
> A little more hacking leads me to the conclusion that (probably with
> version 4 but it's not exactly clear from the changelog) procps has made
> some significant changes to it's API. So, unless igt-gpu-tools (and
> probably others) are fixed upstream they remain broken. Fixes through
> simple regex-magic in our build-phases might be possible, but I am not
> confident enough in the matter to guarantee that the package would not
> just build but be broken in a more specific manner.
>
> Is there an easy way to check which dependents of procps are actually
> broken currently? Or is it really just igt-gpu-tools?
>
> There's two ways to go (I'd be happy for some input and volunteer to do
> the actual leg-work):
> 1. Add an additional procps-3 package with the older API to fix the
> broken packages.
> 2. Leave it as-is and wait for an upstream change of the currently
> broken packages.

I have found the upstream issue:

We can wait it out until the release, which will be out Soon (tm), or we
make use of the patch that debian applies to igt-gpu-tools so it can
work with the new libproc2 API:


AFAICS, this would not lead to a world-rebuild.

Thoughts?
- Jelle
G
G
Gabriel Wicki wrote on 28 Nov 2023 17:24
Issue was fixed
(address . 63530@debbugs.gnu.org)
2ebeflobzsr3iui3qwbedscqa3kzetjzijkmd4jsq2ddohioqb@bs66wigu7y3c
This issue seems to have been fixed by Tobias with commit
22642d460488896ec1ddb25d7eb262938db810eb
using a patch to work around the issue. I created a patch that'd
upgrade to the next version where igt-gpu-tools is actually fixed (so
the patch is not needed anymore): https://issues.guix.gnu.org/67508
G
G
Gabriel Wicki wrote on 28 Nov 2023 18:35
(no subject)
(address . control@debbugs.gnu.org)
hpfgkhofbrjpftlg7qmrbr42xjr25boy2ktv5b4bznuvsgvghq@y6xexccflgdo
close 63530
thanks
?