archlinux-docker issueshttps://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues2024-02-22T22:47:57Zhttps://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/100base-devel and multilib-devel should extend from base2024-02-22T22:47:57Zhashworkshashworks@archlinux.orgbase-devel and multilib-devel should extend from baseCurrently, we provide a rootfs tar file for every image group: `base`, `base-devel` and `multilib-devel`. This was done under the assumption that all tags of official DockerHub Library Images need to be reproducible. According to [a comm...Currently, we provide a rootfs tar file for every image group: `base`, `base-devel` and `multilib-devel`. This was done under the assumption that all tags of official DockerHub Library Images need to be reproducible. According to [a comment](https://github.com/docker-library/official-images/pull/15751#issuecomment-1832845573) of a docker-library maintainer this isn't the case (only the base image needs to be reproducible), and they decline any current merges due to the size of the weekly tags.
To reduce the load on the official library and end-users only `base` should be built with a rootfs tar file, all other image groups should extend from that (`FROM archlinux:base`).
To implement this, we need to adjust the process as follows (simplified):
* Build and release only one rootfs artifact, `base.tar.zst`
* Replace `Dockerfile.base-devel` and `Dockerfile.multilib-devel` in the [releases Branch](https://gitlab.archlinux.org/archlinux/archlinux-docker/-/tree/releases) with the following:
* `Dockerfile.gitlab.base-devel`
* `Dockerfile.gitlab.multilib-devel`
* `Dockerfile.dockerhub.base-devel`
* `Dockerfile.dockerhub.multilib-devel`
* `Dockerfile.dockerhub-official.base-devel`
* `Dockerfile.dockerhub-official.multilib-devel`
* `Dockerfile.quay.base-devel`
* `Dockerfile.quay.multilib-devel`
* `Dockerfile.ghcr.base-devel`
* `Dockerfile.ghcr.multilib-devel`
* Adjust the official-dockerhub template Dockerfile paths
* Build the various `base-devel` and `multilib-devel` images for gitlab, dockerhub, quay and ghcr (this should benefit from the build cache)
We need two Dockerfiles for every registry, since the `FROM` line differs (`FROM quay.io/archlinux/archlinux:base-20231231.0.203775`). They can be created from the following templates:
```Dockerfile
FROM TEMPLATE_BASE_IMAGE
# Labels included in base are inherited, only the title changes
LABEL org.opencontainers.image.title="TEMPLATE_TITLE"
RUN pacman -Syu --noconfirm base-devel
```
```Dockerfile
FROM TEMPLATE_BASE_IMAGE
# Labels included in base are inherited, only the title changes
LABEL org.opencontainers.image.title="TEMPLATE_TITLE"
RUN <<EOR
echo "
#[multilib-testing]
#Include = /etc/pacman.d/mirrorlist
[multilib]
Include = /etc/pacman.d/mirrorlist
" >> /etc/pacman.conf
EOR
RUN pacman -Syu --noconfirm multilib-devel
```hashworkshashworks@archlinux.orghashworkshashworks@archlinux.orghttps://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/81Force-push to existing open Docker Library MRs instead of opening new ones2023-06-26T22:06:56Zhashworkshashworks@archlinux.orgForce-push to existing open Docker Library MRs instead of opening new onesRecently I opened three concurrent MRs on the Docker Library repository and wasn't able to close them myself:
* https://github.com/docker-library/official-images/pull/14883
* https://github.com/docker-library/official-images/pull/14890
*...Recently I opened three concurrent MRs on the Docker Library repository and wasn't able to close them myself:
* https://github.com/docker-library/official-images/pull/14883
* https://github.com/docker-library/official-images/pull/14890
* https://github.com/docker-library/official-images/pull/14891
tianon / yosifkit asked if we could force push to the existing MR instead.
For this, we would need to adjust the branch name (currently contains the build date / id) and check for an existing MR.
Alternatively, the bot user could close the old MR?https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/80perl-image-exiftool not in path2023-11-25T17:24:23ZThomasperl-image-exiftool not in pathAs reported in https://bugs.archlinux.org/task/78789, perl-image-exiftool is not the path when installed in the Docker image.As reported in https://bugs.archlinux.org/task/78789, perl-image-exiftool is not the path when installed in the Docker image.https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/79Dependency Dashboard2023-12-09T22:23:36ZrenovateDependency DashboardThis issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.
This repository currently has no open or pending branches.
## Detect...This issue lists Renovate updates and detected dependencies. Read the [Dependency Dashboard](https://docs.renovatebot.com/key-concepts/dashboard/) docs to learn more.
This repository currently has no open or pending branches.
## Detected dependencies
<details><summary>dockerfile</summary>
<blockquote>
<details><summary>Dockerfile.template</summary>
- `alpine 3.19`
</details>
</blockquote>
</details>
<details><summary>gitlabci</summary>
<blockquote>
<details><summary>.gitlab-ci.yml</summary>
</details>
</blockquote>
</details>https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/76problem with geo.mirror.pkgbuild.com mirror2023-06-14T12:11:13ZSohrab Behdaniproblem with geo.mirror.pkgbuild.com mirrorHi
we are using Arch Linux docker image to build our distribution with GitHub actions
but recently we have this problem:
```
error: failed retrieving file 'libtirpc-1.3.3-2-x86_64.pkg.tar.zst.sig' from geo.mirror.pkgbuild.com :
error: f...Hi
we are using Arch Linux docker image to build our distribution with GitHub actions
but recently we have this problem:
```
error: failed retrieving file 'libtirpc-1.3.3-2-x86_64.pkg.tar.zst.sig' from geo.mirror.pkgbuild.com :
error: failed retrieving file 'gobject-introspection-runtime-1.76.1-3-x86_64.pkg.tar.zst' from geo.mirror.pkgbuild.com :
error: failed retrieving file 'qt5-sensors-5.15.9-1-x86_64.pkg.tar.zst.sig' from geo.mirror.pkgbuild.com :
warning: too many errors from geo.mirror.pkgbuild.com, skipping for the remainder of this transaction
```https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/72Is it possible to get japanese locale working inside of the docker image?2023-05-07T06:23:37Zno thanksIs it possible to get japanese locale working inside of the docker image?I need japanese locale support inside of my docker image. I found this issue from before saying that it isn't supported by the image: https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/59 which says that in order to keep th...I need japanese locale support inside of my docker image. I found this issue from before saying that it isn't supported by the image: https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/59 which says that in order to keep things small its been removed. would it be possible for you guys to ship a full arch docker image where all locales are supported? in the mean time is there anything that i can do or install to add japanese locale support?https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/67pacman: error: failed to initialize alpm library2022-05-31T11:40:42Zsolo turnpacman: error: failed to initialize alpm libraryto install git and paru into an arch linux docker image, i followed https://gist.github.com/lbrame/84d445fae17ad98cd6969b30b0f118e8 to set up rootless containers, installed podman and then:
```
> podman run -it --entrypoint=bash archlin...to install git and paru into an arch linux docker image, i followed https://gist.github.com/lbrame/84d445fae17ad98cd6969b30b0f118e8 to set up rootless containers, installed podman and then:
```
> podman run -it --entrypoint=bash archlinux:base-devel
WARN[0000] Failed to decode the keys ["storage.options.override_kernel_check" "storage.options.thinpool.ostree_repo" "storage.options.thinpool.skip_mount_home"] from "/etc/containers/storage.conf".
Resolved "archlinux" as an alias (/etc/containers/registries.conf.d/00-shortnames.conf)
Trying to pull docker.io/archlinux/archlinux:base-devel...
Getting image source signatures
Copying blob e9492d1d75a7 done
Copying blob ab62f34b645b done
Copying config 7078031912 done
Writing manifest to image destination
Storing signatures
[root@868657af4ff2 /]#
[root@868657af4ff2 /]#
[root@868657af4ff2 /]# pacman
error: failed to initialize alpm library:
(root: /, dbpath: /var/lib/pacman/)
could not find or read directory
```https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/66Tags should be removed from along with the rootfs2022-04-13T16:12:15Zhashworkshashworks@archlinux.orgTags should be removed from along with the rootfsIn !57 @klausenbusk added a cleanup job for the package registry: rootfs older than 60 days are removed. We should do that for the tags as well, currently we store over 500 tags without a reason to do so.In !57 @klausenbusk added a cleanup job for the package registry: rootfs older than 60 days are removed. We should do that for the tags as well, currently we store over 500 tags without a reason to do so.https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/60/etc/hosts and /etc/resolv.conf should be added to NoExtract list2023-06-16T11:18:55ZClar Fon/etc/hosts and /etc/resolv.conf should be added to NoExtract listIf the `filesystem` package ever needs to be updated, these files will prevent the update from working since Docker mounts these files read-only.
EDIT: I've been testing this a bit, and it actually looks like there's a pacman bug, since...If the `filesystem` package ever needs to be updated, these files will prevent the update from working since Docker mounts these files read-only.
EDIT: I've been testing this a bit, and it actually looks like there's a pacman bug, since it's still failing to update even if I add the `NoExtract` options myself. The `CheckSpace` option doesn't actually honour the `NoExtract` options, meaning that if there is a read-only filesystem underneath those files, it will still fail. (This isn't default in this docker image, but it is on my config.)
Link to the pacman issue here: https://bugs.archlinux.org/task/72980https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/56Unsupported host syscalls cause "failed to initialize alpm library"2023-08-03T11:19:36ZCaleb Maclennancaleb@alerque.comUnsupported host syscalls cause "failed to initialize alpm library"I regularly build Docker images with specialty tooling to power remote CI jobs using Arch Linux as a base. As of the last couple days all builds on Docker Hub have started to fail. I *was* using a two week old base image tag but I just t...I regularly build Docker images with specialty tooling to power remote CI jobs using Arch Linux as a base. As of the last couple days all builds on Docker Hub have started to fail. I *was* using a two week old base image tag but I just tried with the latest one and have the same problem. Local builds of the same Docker containers work fine.
I'm guessing (but not certain at this point) that systemd updates not liking Docker Hub's host environment have something to do with it again.
Here is the tail end of a build log showing the errors:
```
Step 7/26 : RUN pacman --needed --noconfirm -Syuq && yes | pacman -Sccq
---> Running in 20f78c0afb39
:: Synchronizing package databases...
downloading core.db...
downloading extra.db...
downloading community.db...
downloading alerque.db...
downloading alerque.db.sig...
:: Starting full system upgrade...
resolving dependencies...
looking for conflicting packages...
Packages (12) curl-7.75.0-1 e2fsprogs-1.46.0-1 findutils-4.8.0-1 gcc-libs-10.2.0-6 glib2-2.66.6-1 glibc-2.33-3 libldap-2.4.57-1 linux-api-headers-5.10.13-1 pacman-mirrorlist-20210206-1 systemd-247.3-1 systemd-libs-247.3-1 systemd-sysvcompat-247.3-1
Total Download Size: 54.81 MiB
Total Installed Size: 249.56 MiB
Net Upgrade Size: 0.04 MiB
:: Proceed with installation? [Y/n]
:: Retrieving packages...
downloading linux-api-headers-5.10.13-1-any.pkg.tar.zst...
downloading glibc-2.33-3-x86_64.pkg.tar.zst...
downloading gcc-libs-10.2.0-6-x86_64.pkg.tar.zst...
downloading findutils-4.8.0-1-x86_64.pkg.tar.zst...
downloading e2fsprogs-1.46.0-1-x86_64.pkg.tar.zst...
downloading libldap-2.4.57-1-x86_64.pkg.tar.zst...
downloading systemd-libs-247.3-1-x86_64.pkg.tar.zst...
downloading curl-7.75.0-1-x86_64.pkg.tar.zst...
downloading glib2-2.66.6-1-x86_64.pkg.tar.zst...
downloading pacman-mirrorlist-20210206-1-any.pkg.tar.zst...
downloading systemd-247.3-1-x86_64.pkg.tar.zst...
downloading systemd-sysvcompat-247.3-1-x86_64.pkg.tar.zst...
checking keyring...
checking package integrity...
loading package files...
checking for file conflicts...
:: Processing package changes...
upgrading linux-api-headers...
upgrading glibc...
Generating locales...
en_US.UTF-8... done
Generation complete.
upgrading gcc-libs...
upgrading findutils...
upgrading e2fsprogs...
upgrading libldap...
upgrading systemd-libs...
upgrading curl...
upgrading glib2...
upgrading pacman-mirrorlist...
�[91mwarning: /etc/pacman.d/mirrorlist installed as /etc/pacman.d/mirrorlist.pacnew
�[0mupgrading systemd...
upgrading systemd-sysvcompat...
:: Running post-transaction hooks...
(1/9) Creating system user accounts...
(2/9) Updating journal message catalog...
(3/9) Reloading system manager configuration...
Skipped: Current root is not booted.
(4/9) Updating udev hardware database...
(5/9) Applying kernel sysctl settings...
Skipped: Current root is not booted.
(6/9) Creating temporary files...
/usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to resolve specifier: uninitialized /etc detected, skipping
All rules containing unresolvable specifiers will be skipped.
(7/9) Reloading device manager configuration...
Skipped: Device manager is not running.
(8/9) Arming ConditionNeedsUpdate...
(9/9) Reloading system bus configuration...
Skipped: Current root is not booted.
�[91merror: failed to initialize alpm library
(could not find or read directory: /var/lib/pacman/)
�[0mThe command '/bin/sh -c pacman --needed --noconfirm -Syuq && yes | pacman -Sccq' returned a non-zero code: 255
build hook failed! (255)
```https://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/55Suggestion: restore excluded files in base image and provide a slim variant2023-06-23T00:25:01ZCédric ConnesSuggestion: restore excluded files in base image and provide a slim variantSince MR !13, pacman is configured to exclude non-essential files (such as docs and translations) in order to reduce the image size. At that time, a comment already mentioned that this makes the image less usable as a development environ...Since MR !13, pacman is configured to exclude non-essential files (such as docs and translations) in order to reduce the image size. At that time, a comment already mentioned that this makes the image less usable as a development environment. In addition, it seems to me to contradict one of the principles of the image:
> All installed packages have to be kept unmodified
Now that the image is listed as official, I would suggest to make it as close as possible to a regular Arch Linux installation. The current stripped version could become a slim variant, like the slim variant of the Debian image.
Would this make sense to you?Christian RebischkeSantiago Torres-Ariashashworkshashworks@archlinux.orgChristian Rebischkehttps://gitlab.archlinux.org/archlinux/archlinux-docker/-/issues/44Evaluate creating reproducible rootfs2020-11-09T21:04:25ZKristian KlausenEvaluate creating reproducible rootfsInspired by [debuerreotype](https://github.com/debuerreotype/debuerreotype) which use Debian ["wayback machine"](http://snapshot.debian.org/) to create reproducible rootfs.
We can do the same by using the [Arch Linux Archive](https://wi...Inspired by [debuerreotype](https://github.com/debuerreotype/debuerreotype) which use Debian ["wayback machine"](http://snapshot.debian.org/) to create reproducible rootfs.
We can do the same by using the [Arch Linux Archive](https://wiki.archlinux.org/index.php/Arch_Linux_Archive). In theory we can even avoid storing the rootfs and just build it on-demand in the Dockerfile.