View previous topic :: View next topic |
Author |
Message |
nagmat84 Apprentice
Joined: 27 Mar 2007 Posts: 292
|
Posted: Wed Dec 25, 2024 10:58 am Post subject: How to exclude packages from binary built based on suffix? |
|
|
I would like to avoid building binary packages for packages which end with "-meta" and "-bin" on my build server. To this end, I followed the guide Gentoo Wiki: Vinary Package Guide - Excluding creation of Some Packages. My current "EMERGE_DEFAULT_OPTS=" contains Code: | --buildpkg-exclude \"acct-*/* sys-firmware/* sys-kernel/*firmware* sys-kernel/*-sources net-wireless/wireless-regdb* virtual/* */*-bin */*-meta\" | . Today I noticed that "*/*-bin" and "*/*-meta" are not specific enough, because they also match packages which contain the letters somewhere in the middle of the package name.
What pattern matching syntax does "--buildpkg-exclude" support? A tried to put a "$" into the string to indicate the end of the package name, but that turned out to be invalid (as expected).
The packages which are accidentally matched and excluded from binary package creation are (among others): Code: | dev-texlive/texlive-metapost # unintentionally matches */*-meta
dev-libs/xapian-bindings # unintentionally matches */*-bin |
|
|
Back to top |
|
|
ajgringo619 n00b
Joined: 01 Nov 2022 Posts: 36
|
Posted: Thu Dec 26, 2024 3:01 am Post subject: |
|
|
I went through this when first deciding to use binary packages. Since I've got around 10 VMs now, I've found that excluding pre-built binaries just doesn't give me much of a benefit. In fact, it may actually help with some larger packages (like browsers, kernels, or Rust). With the binaries stored on an NFS server, as opposed to the internet, I find that these packages install much faster. And since disk space is so cheap, that's not much of a factor anymore, either.
Can you describe your current environment in more detail? |
|
Back to top |
|
|
nagmat84 Apprentice
Joined: 27 Mar 2007 Posts: 292
|
Posted: Thu Dec 26, 2024 11:09 am Post subject: |
|
|
Quote: | Can you describe your current environment in more detail? | My apologies, but I am not going down that path, because I have seen too many discussions being derailed; suddenly the discussion is not about the original question anymore, but about something entirely off-topic. The original question is clear and precise and can be answered without those information. If you are interested in my setup, write me a personal message, but we should keep this discussion focused. |
|
Back to top |
|
|
Hu Administrator
Joined: 06 Mar 2007 Posts: 22874
|
Posted: Thu Dec 26, 2024 12:41 pm Post subject: |
|
|
From a few minutes looking at the Portage source, I think the string you give is handled by portage.dep.Atom with allow_wildcard=True. This uses _get_atom_wildcard_re to decompose your input into pieces. Perhaps reviewing this regular expression will help with your question. |
|
Back to top |
|
|
Zucca Moderator
Joined: 14 Jun 2007 Posts: 3777 Location: Rasi, Finland
|
Posted: Thu Dec 26, 2024 12:47 pm Post subject: |
|
|
After quickly glancing trough some manpages about ATOMs, I think you may have encountered a bug.
Because I don't see why would */*-bin match anything other than package names ending with -bin.
But after running quick tests on one of my boxes, I did not encounter this problem.
qlist -Iv sys-apps/portage && emerge --version: | sys-apps/portage-3.0.66.1-r1
Portage 3.0.66.1 (python 3.12.8-final-0, default/linux/amd64/23.0, gcc-14, glibc-2.40-r5, 6.1.110-M710q-0.1 x86_64) |
Can you reproduce the behavior with, for example: Code: | emerge -v1 --buildpkg --buildpkg-exclude '*/*-function' sys-apps/gentoo-functions | ... this should produce a pkg because of excluding */*-function, without the last 's', doesn't match. And changing the pattern to */*-functions does not produce a pkg.
That on my system at least with the version of Portage listed above. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|