packages icon indicating copy to clipboard operation
packages copied to clipboard

Packages that need rebuild to produce correct pspec_x86_64.xml

Open GZGavinZhao opened this issue 1 year ago • 3 comments

  • a52dec https://github.com/getsolus/packages/pull/3555
  • libdv https://github.com/getsolus/packages/pull/3557
  • libmpeg2 https://github.com/getsolus/packages/pull/3558
  • libsepol https://github.com/getsolus/packages/pull/3559
  • libsigsegv https://github.com/getsolus/packages/pull/3562
  • libuiohook https://github.com/getsolus/packages/pull/3563
  • libvpx1
  • libxdg-basedir https://github.com/getsolus/packages/pull/3568
  • linux-driver-management https://github.com/getsolus/packages/pull/3569
  • mono-addins

The above packages haven't been rebuilt for a long time so they're using the old pspec_x86_64.xml format that doesn't list all files in a package, preventing autobuild from scanning providers correctly. For example, for libsepol:

        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="header">/usr/include/</Path>
            <Path fileType="library">/usr/lib64/lib*.a</Path>
            <Path fileType="library">/usr/lib64/lib*.so</Path>
            <Path fileType="data">/usr/lib64/pkgconfig/*.pc</Path>
        </Files>

The new/correct format should be something like:

        <Files>
            <Path fileType="executable">/usr/bin/chkcon</Path>
            <Path fileType="header">/usr/include/sepol/boolean_record.h</Path>
            <Path fileType="library">/usr/lib64/libsepol.a</Path>
            <Path fileType="library">/usr/lib64/libsepol.so</Path>
            <Path fileType="data">/usr/lib64/pkgconfig/libsepol.pc</Path>
        </Files>

GZGavinZhao avatar Aug 12 '24 19:08 GZGavinZhao

mono-addins is also part of does not build.

malfisya avatar Aug 13 '24 03:08 malfisya

Trying to bump libvpx1 results in this message during configure:

Unable to invoke compiler: gcc -m32 -mtune=generic -march=i686 -msse2 -g2 -O2 -pipe -fPIC -fno-plt -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fstack-protector-strong --param=ssp-buffer-size=32 -fasynchronous-unwind-tables -ftree-vectorize -feliminate-unused-debug-types -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -Wall -Wno-error -Wp,-D_REENTRANT -mx32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64

Configuration failed. This could reflect a misconfiguration of your
toolchains, improper options selected, or another problem. If you
don't see any useful error messages above, the next step is to look
at the configure error log file (config.log) to determine what
configure was trying to do when it died.

Don't really know where to go from there.

EbonJaeger avatar Aug 13 '24 17:08 EbonJaeger

Regarding mono-addins, do we have any reason to package it? Nothing in the repository uses it, and the upstream stance is that programs should bundle it. Fedora and Arch still seem to be building it, but I have no idea how.

EbonJaeger avatar Aug 13 '24 18:08 EbonJaeger

Regarding mono-addins, do we have any reason to package it? Nothing in the repository uses it, and the upstream stance is that programs should bundle it. Fedora and Arch still seem to be building it, but I have no idea how.

I have added a PR to deprecate it. Seems as you discovered it is not needed anymore.

androidnisse avatar Aug 31 '24 10:08 androidnisse

I got libvpx to build. It is currently failing on trying to strip debug info from a specific x86_64 static archive.

For me, the solution was to add --enable-debug to the ./configure statement. This stopped the build from failing on the strip operation. YMMV.

EDIT: for the libvpx1 package, it looks like fails in a specific function call inside the configure script when the CC variable isn't set. For me, the workaround to get it building was to set CC in an environment section:

environment: |
    export CC=gcc # workaround for failing ./configure script when CC isn't set

CC @androidnisse and @EbonJaeger

ermo avatar Sep 30 '24 23:09 ermo