poudriere icon indicating copy to clipboard operation
poudriere copied to clipboard

Exclusive ports

Open bapt opened this issue 11 years ago • 2 comments

It would be nice to have an option to set some ports as "exclusive" or "CPU/memory intensive". Two ports with this flag shouldn't build in parallel.

For example using a new command line argument:

# poudriere bulk -x exclusive_ports_list.txt [..]

With content of exclusive_ports_list.txt being:

editors/libreoffice
www/chromium
www/firefox

..


bdrewery added on 2013-03-11 11:55:27 UTC:
This might be better as a consistent port option. Perhaps PACKAGE_BUILDING_MEMORY_INTENSIVE. Then we could mark all ports like this in the versioned ports tree. For instance, sometimes lang/pypy is memory intensive, sometimes it is not. The port could have specific logic to determine if it should advertise as intensive for that build.

Then poudriere would just serialize any of these ports.


anonymous added on 2013-03-18 15:23:49 UTC:
Although I agree for most it would be better to have a port option for this, what is memory/CPU intensive or not can be subjective sometimes and it may depend on the hardware used or in the user's point view more than in the port itself in some cases.

In any case, I leave the decision up to you, any of these methods would be great, thanks!

bapt avatar Sep 18 '14 15:09 bapt

If it will be in poudriere.conf, then maybe like this:

EXCLUSIVE_PORTS="llvm* www/chromium"

If additionally (or alternatively) there will be separate file (or combination of files) to list the exclusivity, then could the file be universal configuration library (UCL) format? Usable with devel/uclcmd and so on.

Generally: will support for globbing be reasonable?

Thank you

grahamperrin avatar Aug 14 '21 13:08 grahamperrin

FWIW I have this done in a local branch for #822. It is named MUTUALLY_EXCLUSIVE_BUILD_PACKAGES. It depends on #822 as that incidentally reworked the queue to support the needs here.

bdrewery avatar Nov 20 '21 02:11 bdrewery