FS#45829 - Pacman: Add ability to override package arch checks

Attached to Project: Pacman
Opened by Tomas Mudrunka (harvie) - Wednesday, 29 July 2015, 15:43 GMT
Last edited by Allan McRae (Allan) - Thursday, 15 December 2022, 00:55 GMT
Task Type Feature Request
Category Arch Projects
Status Closed
Assigned To No-one
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 2
Private No

Details

I'd like to have some way to override architecture set in pacman.conf for some packages and/or repositories.

For example on i686 system, i'd like to have something like this:

[core]
Server = http://mirror.vpsfree.cz/archlinux/$repo/os/$arch

[core:x86_64]
OverridePkg = linux linux-lts linux-firmware
Server = http://mirror.vpsfree.cz/archlinux/$repo/os/$arch


Which will result in all core packages normally taken from
http://mirror.vpsfree.cz/archlinux/core/os/i686
except for linux and linux-lts, which will be taken from
http://mirror.vpsfree.cz/archlinux/core/os/x86_64


Please do not start again with all that reasons why one should not use 32b userland on 64b system. That's just not true. Nobody forces you to do it, so please do not force me to not do it. I've read quite a lot about this topic, i have years of experiences with this setup and i am quite sure that this is exactly what i want. (even Allan thinks there are good reasons to do so http://allanmcrae.com/2009/06/using-an-x86_64-kernel-on-an-i686-userland/ )

Now i am installing 64b kernel by hand and nothing will prevent me from doing so. However upgrading is PITA. I just want to make it upgrade seamlessly and pacman is only tool that can enable me to do so.

Please help me to sort this out. Thanks.
This task depends upon

Closed by  Allan McRae (Allan)
Thursday, 15 December 2022, 00:55 GMT
Reason for closing:  Implemented
Additional comments about closing:  Architecture in pacman.conf can take multiple values.
Comment by Tomas Mudrunka (harvie) - Wednesday, 29 July 2015, 15:46 GMT
(sorry i've put this in wrong project, please move it to pacman if you can...)
Comment by Allan McRae (Allan) - Thursday, 30 July 2015, 03:26 GMT
I can remember a discussion about allowing multiple architectures to be installed. e.g. on an ARMv7 system, allowing the installation of ARMv6 or v5 packages.

(I also remember doing this to be really annoying!)
Comment by Tomas Mudrunka (harvie) - Thursday, 30 July 2015, 18:07 GMT
Another way is providing 64b kernel in 32b repos under different name. I don't understand why this is such big problem... kernel is the same, just packaging is bit different... You can probably write simple bash script to generate package of 64b kernel for 32b repo. (rename linux to linux-x86_64 and change arch to i686 or something).

I am using zen kernel from hefting repo, so this have to be fixed separately...
Comment by Jens Adam (byte) - Sunday, 02 August 2015, 05:18 GMT
I know I'm not helping here, but I'm just curious (as another i686-on-x86_64 user): what do you consider as "PITA"?
My pacman.conf has "IgnorePkg = ... linux (and external modules, if any)" and once I see that yellow warning about a new kernel pkg it's only a matter of 'pacman -Syy --arch x86_64 linux && pacman -Syy'.
If I were to run such a setup on multiple machines I'd probably consider writing a small -Syu wrapper, but thinking about an upstream solution has never crossed my mind.

Loading...