mostly pkg, some ports

Matthew Seaman m.seaman at infracaninophile.co.uk
Thu Jan 8 07:40:37 UTC 2015


On 2015/01/07 21:15, Benjamin Connelly wrote:
> Is it OK to compile some things (from a current ports tree) and update
> the rest with pkg?

Yes, you can do this, but you need to be careful when doing it.
Packages can lag behind what's available in ports by around a week.

> For example, on a new server with mysql56 installed via pkg, I wanted to
> install mytop, but that binary package wanted to swap mysql56 for
> mysql55.  So I installed mytop from ports. It built using my installed
> mysql56, and everything was happy.  But that made it tricky/impossible
> to use 'pkg upgrade' going forward:
> 
> New packages to be INSTALLED:
>         mysql55-client: 5.5.41
> 
> Installed packages to be REINSTALLED:
>         p5-DBD-mysql-4.029 (direct dependency changed)
>         dialog4ports-0.1.5_2 (options changed)
> 
> Knowing I caused this situation with the mytop port, I tried locking it,
> but that doesn't help.  It's actually mytop's requirement for
> p5-DBD-mysql, which was built using mysql56 locally, but using mysql55
> in the repo.  (Even deleting mytop left me confused, until I figured out
> it was p5-DBD-mysql still around causing the trouble -- and the appeal
> of pkg is to not have to play that old tired game of manually tracking
> dependencies up and down.)

Yes, in this case, locking p5-DBD-MySQL would be more useful for you.
mytop is agnostic about MySQL versions (it's pure perl) but p5-DBD-MySQL
links against libmysql.so.X.Y.Z from the mysql client port.
Once it's compiled into a package, the dependnecy on a specific version
of MySQL is baked it -- so if you want to use a different version of
MySQL then you need to compile your own.

> Do I need to run poudriere as soon as I want to use anything other than
> the default versions of things (overriding
> /usr/ports/Mk/bsd.default-versions.mk with /etc/make.conf)? Or am I just
> missing something about how to drive pkg correctly in these situations? 
> (Perhaps something with 'pkg set -o'? -- I'm under the impression that's
> no longer something I should run. . .)

You don't *have* to use poudriere.  We suggest doing so since poudriere
is (IMHO) the easiest and least hassle way to maintain a set of
customized packages.  Many people prefer using portmaster or similar to
compile their own customized packages, but that does involve a bit more
work to keep everything maintained.

> I was also hoping to use PHP 5.6 on this system, but with the default
> still at 5.4 I'm worried there will be similar troubles if I start
> mixing ports into my packages.  Any and all pointers welcome!  And I'm
> available to help develop documentation for best practices for
> administrators. . .

This is a clear case for building your own packages.  Just set
DEFAULT_VERSIONS appropriately in your build environment.

	Cheers,

	Matthew


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 882 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-pkg/attachments/20150108/95a4b4f4/attachment.sig>


More information about the freebsd-pkg mailing list