portmaster installation trampling on my binary packages???

Ethan Grammatikidis eekee57 at fastmail.fm
Sun Mar 19 21:57:55 UTC 2017


On Sun, Mar 19, 2017, at 07:54 PM, Kevin Oberman wrote:

> I think you need to understand the relationship between packages and
> ports. First and foremost, they are the same thing. When you build a
> port you are actually creating a package by processing the source
> files. This usually, but not always means compiling, linking, creating
> libraries, often both shareable (.so) and static (.a), installing
> documents, etc. This is done in a process called staging. The staged
> port is then packed into a package and the package is installed. This
> package is the exact same package that is installed by using pkg
> install, except that it is created locally from the sources instead of
> being downloaded from a repository.


That explains almost everything! Thanks.



> When you run 'portmaster -a', you are telling the system to go
> through every installed port and confirm that it is the same version
> as that installed. If it is not, regardless of whether it was
> installed by building the port or by downloading and installing the
> binary package, portmaster will build and install the new port,
> replacing the old port.
> If you have installed from the packages included in a FreeBSD
> distribution, they are the packages existing at the time of the
> release. In many cases, this is a LOT of packages as they are
> continually updated as needed. (Some not very often and others as
> often as every week or two.) So hte first time you run 'portmaster -
> a', you will build and re-install a LOT of things and, since the pre-
> built packages are all built using the default build option, you may
> get a lot of configuration screens where you can choose non-default
> options. These options will be saved and future updates will not ask
> again until the options are changed, a far less frequent thing. Again,
> the initial run of portmaster is at least "tedious".


That makes complete sense after the first paragraph.



> My question must start with "Do you have a reason to build from
> sources? You do if you need non-default options, but otherwise that is
> likely not needed and extremely time consuming. Instead you can jsut
> use packages and install the pre-built binaries. Y0ou don't even need
> to have ports on you system.


Indeed. I had planned to install most everything with pkg, only
installing from ports things which weren't available as binary packages.
The big thing which pushed me to the ports tree was not plan9port (which
I could easily install from source), but this:


$ pkg query -e '%c ~ *game* || %e ~ *game*' %n
pysolfc

$



Am I misunderstanding pkg query -e, too? :)



> Here is what I do for most systems:

> If any ports require non-default options, and few will, use "pkg lock
> PACKAGE-NAME" so pkg will not attempt to update the port from
> binaries. Then I run 'pkg upgrade' regularly. This will update any
> ports that have been modified since you installed your system. Because
> it installed binary packages, it is quite speedy. Then, I run 'make -C
> /usr/ports fetchindex' to get the latest index of ports and then 'pkg
> version -vL=' to check on whether any locked ports need to be touched.
> (As I have no more than 2 such ports 0n any system, this is pretty
> infrequent.) If you don't have any ports that need to be built from
> scratch, you can skip this and not even worry about the ports.


That all looks useful, I'll keep a copy to refer to.



> the other issue is whether you want to keep all ports right up to the
> latest update. There are two sets of packages built for every release.
> One is "latest" and the other is "quarterly". 'quarterly' is only
> updated four times a year or for security fixes. 'latest' is
> continually updated. Most people probably are fine running with
> quarterly. It results in a lot less churn and fewer cases of being
> bitten by buggy updates. (Yes, they do happen.)


I'm not sure I understand. Are "latest" and "quarterly" ports trees?



> I strongly urge that you read the sections of the FreeBSD Handbook[1]
> , especially the section on ports and packages, Section 4. It should
> clarify a lot and make things simpler.
> --

> Kevin Oberman, Part time kid herder and retired Network Engineer

> E-mail: rkoberman at gmail.com

> PGP Fingerprint: D03FB98AFA78E3B78C1694B318AB39EF1B055683



Oh, reading section 4 of the handbook got me into this mess. :) Perhaps
I'm too tired to read it properly, because I don't see anything to
suggest I avoid mixing packages & ports freely.


--

I'm too old to use vi.




Links:

  1. http://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/


More information about the freebsd-ports mailing list