Mixing ports and packages again

Greetings all,

despite reading topics on (not)mixing ports and packages, I still have some misconception(s).

As best as I understand it, if one changes an option, the custom-built package may depend on a package B instead of the default package A. So, if one runs pkg upgrade , the upgrade process may reverse the selction, package B may be removed and the custom-built package fails.

So, is the solution to built all packages and upgrade from the local repository of custom-built packages? Or, alternatively, after running pkg upgrade, rebuilt all the custom-built packages?

Is there anything else I am overlooking?

Slightly different issue appears to be "a chicken-and-an egg" problem. If the build environment, e.g.,
ports-mgmt/poudriere, and other supporting infrastructure is installed from packages, as many set-ups recommend, is this not a problem as it violates the non-mixing mantra?

Kindest regards,

M
 
So, is the solution to built all packages and upgrade from the local repository of custom-built packages?
That's the "best" way and will make sure all package dependencies line up correctly with your custom options.

If the build environment, e.g.,
ports-mgmt/poudriere, and other supporting infrastructure is installed from packages, as many set-ups recommend, is this not a problem as it violates the non-mixing mantra?
Really only for the first build. After that you simply point pkg(8) to the local custom repository, for example:
Code:
dicelan: {
  enabled: yes
  url: file:///usr/local/poudriere/data/packages/15-stable-server
}
 
I would say it really depends on what you need customized, and how often you update packages. If it is just a few programs you want to customize, then you could just build those from ports, lock them, and remember to rebuild if you want to upgrade them
For example, games/freeciv you might want to use the GTK client instead of the default QT6 client. There is no sense in setting up an entire build environment for making that switch.

If, on the other hand, you are wanting to make more system wide customizations, such as using a newer version of Samba, eliminating PulseAudio and Wayland (these are things I customize) then the number of programs that will need built starts to go up, and managing that manually becomes a big pain.

If you will be building a large number of programs, you should look into a dedicated machine for building, as it can take a lot of system resources and a lot of time.
 
Hi SirDice,

thank you for the reply.

Building all the packages for a server should not be a problem because there will be only a few (based on review of packages installed on my existing server). I am more concerned about a workstation, wherein I would like to build only a few packages, i.e., having OSS for all audio devices, and the like. I will see how it goes.

Really only for the first build. After that you simply point pkg(8) to the local custom repository, for example:
Maybe I did not express myself clearly. As the build environment is installed from packages and the rest of the system will be compiled from ports, this approach is already mixing ports and packages.

Or, is the build environment, e.g., ports-mgmt/poudriere, devel/ccache, and some git, dependency independent?

Hi jardows,

thank you for the reply.

As to the number of packages, please see the reply to SirDice regarding server and workstation.

Regarding the update frequency, I am not sure. I am rather paranoid about the security inherent in patched or not patched packages, so I am currently using Latest. packages and upgrading (almost) daily.

But maybe I misread the distinction between Quarterly and Latest, as there is some suggestion that quarterly packages are patched even within the three-months period. I will have to look into it more so that I can determine the distinction with more certainty.

Regarding the dedicated machine, I was thinking to do the building on a media server as it is most of the time sitting idle. What would be a reasonable amount of cores/memory so that I can check among my machines?

Kindest regards,

M
 
Back
Top