Skip to content

abuild-rootbld: Attempt to improve creation of /etc/apk/repositories

Sören Tempel requested to merge nmeum/abuild:rootbld-repo-file into master

I have a custom apk repositories with modified version of several APKBUILDs [1]. I build this repository using buildrepo -d with abuild rootbld. While updating from abuild-3.10.0 to abuild-3.11.0_rc7 I noticed several changes in the /etc/apk/repositories within the chroot.

With abuild-3.10.0 the file looks as follows:

http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
/home/nmeum/src/8pit-aports/pkg/8pit

While with abuild-3.11.0_rc7 the file now looks as follows:

http://dl-cdn.alpinelinux.org/alpine/edge/main
/home/nmeum/src/8pit-aports/pkg/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
/home/nmeum/src/8pit-aports/pkg/community
http://dl-cdn.alpinelinux.org/alpine/edge/testing
/home/nmeum/src/8pit-aports/pkg/testing

There are two "issues" with the file created by abuild-3.11.0_rc7:

  1. /home/nmeum/src/8pit-aports/pkg/{main,community,testing} does not actually exists. As the repository name is 8pit not main, community, or testing. The changes made in 306e6156 assume that a local repository exists for each repo in $repo_template but with buildrepo -d this is not necessarily the case.
  2. The actual local repository path /home/nmeum/src/8pit-aports/pkg/8pit is no longer included as the new /etc/apk/repositories creation logic does not take $repo into account. I can manually add this path to .rootbld-repositories repositories but I think $repo should be included by default or was it intentional to make this explicit?

CC: @ptrcnull

Merge request reports