Skip to content
Snippets Groups Projects
  1. Mar 12, 2024
    • Pablo Correa Gomez's avatar
      pmb: gcc: add libstdc++ subpackage (MR 2277) · 177196bf
      Pablo Correa Gomez authored and Oliver Smith's avatar Oliver Smith committed
      This aims to solve this issue
      https://gitlab.com/postmarketOS/pmaports/-/jobs/6377953514#L497
      Interpretation:
      
      - Our gcc-aarch64 is outdated
      - Our g++-aarch64 depends on libstdc++ with its same pkgver
      - We don't create a subpackage for libstdc++, so what should be
        libstdc++-aarch64 lives in gcc-aarch
      - gcc-aarch cannot resolve to itself, so resolves to the libstdc++
        provided by alpine
      - The solver goes nuts
      
      This warranties that cross-compilers keep working, even when out-of-sync
      with alpine. I really don't know why this wasn't added in so many years,
      so I hope there's no hidden trick
      177196bf
  2. Feb 26, 2024
  3. Feb 16, 2024
    • Clayton Craft's avatar
      pmb.config: do not prompt for nonfree fw/userland (MR 2255) · aa594b76
      Clayton Craft authored
      This drops the prompt for using non-free firmware in images. The logic
      for searching/installing non-free fw subpackages for devices is kept,
      and will always be installed. This is to support the many device
      packages in pmaports that still have nonfree-firmware subpackages. Going
      forward, device packages can list firmware in `depends=` (for required
      fw) or `pmb_recommends` (for optional fw).
      
      nonfree-userland wasn't used in pmaports as far as I could find.
      aa594b76
  4. Feb 09, 2024
  5. Jan 25, 2024
    • Oliver Smith's avatar
      Fix preserving proxy variables (MR 2237) · 37a7f392
      Oliver Smith authored
      Fix "pmbootstrap chroot" and others not passing the proxy environment
      variables correctly. Thanks to notfound405 for pointing this out!
      
      Instead of only preserving proxy environment variables in
      pmb.helpers.run_core, which should never be called directly, do it in
      the calling functions:
      
      * pmb.helpers.run.user
      * pmb.helpers.run.root
      * pmb.chroot.root
      * pmb.chroot.user
      
      This fixes that the environment variables were only really passed by
      pmb.helpers.run.user, because the other functions would result in
      something like:
        HTTP_PROXY=mytestproxy sudo env -i /usr/bin/sh -c '…'
      This is needed to either elevate to root, or to elevate to root first
      and then enter the chroot as root or user. Due to the "env -i", the
      environment intentionally gets cleaned, but unintentionally also removes
      the proxy environment variables that were explicitly set.
      
      By adjusting the functions, they now run a variant of:
        sudo env -i /usr/bin/sh -c 'HTTP_PROXY=mytestproxy …'
      
      The escaping is simplified in this example, run "pmbootstrap -v" to see
      the not very readable, but proper escaping with shutil.quote().
      
      Remove the previous test for preserving the environment variables in
      pmb.helpers.run_core (as it should never be called directly), and test
      instead the new behavior.
      
      Fixes: issue 2299
      Fixes: 13c4ac42 ("pmb.helpers.run_core: fix proxy env var logic")
      37a7f392
  6. Jan 09, 2024
  7. Dec 10, 2023
    • Newbyte's avatar
      aportgen: Only warn if binary version > APKBUILD version · ddc5c595
      Newbyte authored and Oliver Smith's avatar Oliver Smith committed
      
      Sometimes I want to build an older version of a package from Alpine, and
      since package upgrades can involve things like patches and other
      externalities just changing the pkgver and running checksum in pmaports
      may not be enough. As such, it tends to be easier to revert the change
      in the local aports repo and then fork than forking and then trying to
      manually revert the changes yourself (since you can't have git do that
      for you given that they are distinct repositories).
      
      Prior to this patch, that was not possible since pmbootstrap would
      assume older aport version equals outdated aports in general and as such
      cancel the whole operation. Instead, just print a warning and helpful
      information to make this workflow possible while also warning users that
      they may want to update their local aports.
      
      Reviewed-by: default avatarOliver Smith <ollieparanoid@postmarketos.org>
      Link: https://lists.sr.ht/~postmarketos/pmbootstrap-devel/%3C20231209111813.37756-1-newbyte@postmarketos.org%3E
      ddc5c595
  8. Dec 03, 2023
  9. Nov 13, 2023
  10. Nov 01, 2023
  11. Aug 14, 2023
  12. Jul 25, 2023
  13. Jul 21, 2023
  14. Jul 13, 2023
  15. Jun 15, 2023
  16. Jun 04, 2023
  17. May 25, 2023
  18. Mar 24, 2023
  19. Feb 26, 2023
  20. Jan 22, 2023
  21. Jan 20, 2023
  22. Nov 02, 2022
    • Oliver Smith's avatar
      aportgen: don't fail if binary ver < APKBUILD ver · e8b0b4ba
      Oliver Smith authored
      The typical workflow for upgrading cross/gcc-* is:
      
      $ cd pmaports/cross
      $ pmbootstrap aportgen gcc-*
      
      Currently this is failing because the APKBUILD has been updated in
      Alpine for gcc, but gcc has not been built for all arches yet. This
      shouldn't prevent us from generating the proper updated APKBUILDs in
      pmaports so just print a note and don't fail here.
      
      I'm committing this directly to master as this currently breaks
      test/test_aportgen.py::test_aportgen.
      e8b0b4ba
  23. Oct 25, 2022
    • Oliver Smith's avatar
      CI: replace gitlab CI with sourcehut CI · 4b8a0db5
      Oliver Smith authored
      Replace .gitlab-ci.yml with a minimal .build.yml that runs a script in
      the .ci dir for each task. Each of these scripts runs as root first,
      installs dependencies, and then drops rights to the testuser and runs
      the actual test. I went with this design, so we can add a
      'pmbootstrap ci' command in following patches that run these in a
      pmbootstrap chroot (see pmaports#2169).
      
      Looking at flake8, we currently ignore W504 and W604. Would be nice to
      fix these instead, but let's do that in another patch.
      
      I've added a minver package to Alpine, so we don't need to install it
      form pip anymore. Use minver's new --lint argument to simplify the
      script, and as recommended by minver itself, use --no-parse-comments as
      speed optimization since we don't have minver specific comments.
      
      Using doas instead of sudo in build.yml would be nice, but this doesn't
      work out of the box. Can be changed in the future.
      
      Add a note to the pytest script, that 'pmbootstrap log' can be used to
      follow the log while tests are running.
      4b8a0db5
  24. Oct 12, 2022
  25. Oct 05, 2022
    • Oliver Smith's avatar
      pmb.aportgen.gcc: remove !tracedeps option · 550b9b34
      Oliver Smith authored
      abuild traces shared library dependencies for binaries in built
      packages, and adds all of them to depends. This is needed for the cross
      gcc builds, as otherwise it will not add the isl dependency (currently
      isl25).
      
      With the crossdirect compilation method we mount the cross-gcc from the
      native chroot in the foreign arch chroot. Due to the missing dependency,
      isl was not installed in the native chroot, and so when attempting to
      use that native cross gcc from the foreign arch chroot, it would try to
      load the foreign arch isl instead of the native one. Resulting in lots
      of the following errors (and of course not a working gcc):
      
        Error relocating /usr/lib/libisl.so.23: unsupported relocation type 1026
      
      I had probably added '!tracedeps' because abuild complains about it
      otherwise... but as noted in [1] these complaints are safe to ignore.
      
      Keep !strip for now even though it's not in Alpine's APKBUILD. I've
      tried to build without and the build fails with:
        strip: Unable to recognise the format of the input file `./usr/aarch64-alpine-linux-musl/lib/libgcc_s.so.1'
      
      [1]: https://gitlab.alpinelinux.org/alpine/aports/-/commit/0415ebf6f9e5bae8338a45cc147f1b8536ef45d7
      Related: pmaports issue 1732
      550b9b34
Loading