FS#58568 - [devtools] host_mirror parsing fails on flat mirror
Attached to Project:
Arch Linux
Opened by deusstultus (deusstultus) - Saturday, 12 May 2018, 21:21 GMT
Last edited by Eli Schwartz (eschwartz) - Tuesday, 29 May 2018, 00:59 GMT
Opened by deusstultus (deusstultus) - Saturday, 12 May 2018, 21:21 GMT
Last edited by Eli Schwartz (eschwartz) - Tuesday, 29 May 2018, 00:59 GMT
|
Details
Description:
When establishing the mirror to use within the chroot, the expression used assumes that all mirrors will be of the form "/$repo/os/$arch". If using custom local serving of a package cache from /var/cache/pacman/pkg, the current sed operation won't do anything and propagates the mirror including devtools.*.tar.xz Attached patch is a quick approach to eliminate the tarball while preserving the desired replacement. adds support for a flat mirror approach, but maintains the other assumptions on the mirror topology which could break in alternate configurations. Additional info: * Version: 20171108-2 Steps to reproduce: * pacman -Syw base-devel #Ensure package cache is up to date * Add Server=http:/127.0.0.1:8080/archlinux to head of /etc/pacman.d/mirrorlists on host * setup new chroot * cat "${chroot_path}"/etc/pacman.d/mirrorlist |
This task depends upon
Closed by Eli Schwartz (eschwartz)
Tuesday, 29 May 2018, 00:59 GMT
Reason for closing: Fixed
Additional comments about closing: testing/devtools 20180528-1
Tuesday, 29 May 2018, 00:59 GMT
Reason for closing: Fixed
Additional comments about closing: testing/devtools 20180528-1
https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Network_shared_pacman_cache
https://aur.archlinux.org/packages/pacserve/
Also the patch is horribly broken with the very very closely approaching pacman 5.1 release, for the same reason devtools itself is broken. See https://patchwork.archlinux.org/patch/348/
Note: using pacman-conf, which is the *right* technical solution, means deriving the url directly from pacman.conf, and the sed will either undo the $repo/$arch variable resolution, or be a no-op.