Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 23 Mar 2014 17:11:52 +0000
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: Using pkg with build options
Message-ID:  <532F15D8.10403@FreeBSD.org>
In-Reply-To: <20140323150144.029c571e.freebsd@edvax.de>
References:  <372190939.49499.1395582789284.JavaMail.mail@webmail12> <20140323150144.029c571e.freebsd@edvax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--cdXQGxiKIiwAhL7HrVD4Da7gMeMel1wd1
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

On 23/03/2014 14:01, Polytropon wrote:
> On Sun, 23 Mar 2014 13:53:09 +0000 (UTC), Darrell Betts wrote:
>>    Currently have FreeBSD 9.2 installed. I would like to start using p=
kg
>>    install but I can't find how to use it with build options like the =
old
>>    make install clean method. Can anyone share a light on this?
>=20
> Basically, you cannot do this. The new pkg obsoletes the
> traditional pkg_* tools which operate on binary packages
> which get built (by FreeBSD build systems) using the
> corresponding port's default settings.
>=20
> If you need to use custom-configured packages (build via
> "make install clean" or using a port management tool
> such as portmaster), this does currently not integrate
> that well with pkg. However, "poudriere" is a solution:
> You build packages with your own options and can _then_
> use that package source with pkg.
>=20
> Here's a summary: https://wiki.freebsd.org/PkgPrimer

Err... what?

pkg(8) can be used on 9.x pretty transparently when compiling from
ports.  All you need to do is install pkg(8) -- either by building the
ports-mgmt/pkg port, or by using the /usr/sbin/pkg bootstrap.  Then run
pkg2ng to convert your database of installed packages to pkgng style and
add 'WITH_PKGNG=3DYES' to /etc/make.conf.  You can (optionally) set up
/usr/local/etc/pkg.conf -- but you don't need this at all.  Most people
find the compiled in defaults are fine so they can use an empty or (in
fact) no pkg.conf at all.  If you want the option of using a package
repository, create a /usr/local/etc/pkg/repos/foo.conf file (for your
choice of 'foo').  See pkg.conf(5) for details of what should go into
foo.conf.

Once pkgng-ized, the experience with installing from ports is basically
exactly the same as with pkg_tools.  ie. it does some stuff behind the
scenes to register packages in the package database on installation, but
you never have to worry about it or invoke it directly.

You can twiddle port options to your heart's content and pkg will be
perfectly happy.

The difference comes when you want to look at the contents of your
package database.  'pkg info -fa' shows you somewhat more than the
pkg_info equivalent, including what OPTIONS settings were used to
compile each package.

Tools like portmaster(8) and portupgrade(8) understand how to work with
pkg(8) and should just work automatically as soon as pkg(8) is
installed.  Most tools in the ports tree that need pkg(8) support have
it available now, although some of them need to be rebuilt with changed
OPTION settings.

Yes, poudriere is a solution in general for package management, and it
is very good.  However poudriere really comes into its own when you have
several machines to maintain.  For just a single machine, simply
compiling ports locally is still a perfectly viable option.

	Cheers,

	Matthew

--=20
Dr Matthew J Seaman MA, D.Phil.
PGP: http://www.infracaninophile.co.uk/pgpkey



--cdXQGxiKIiwAhL7HrVD4Da7gMeMel1wd1
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2.0.20 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iQJ8BAEBCgBmBQJTLxXfXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC
QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkAT+XYQAKr4GazA/nHZfbhg8SjhoJiG
1U9jxEaL+ZUx2I0eKc0KzWau2gYU6IVbYbCeSYN72cRQo/r+vhwyLAYsnUzMH/fA
HB4CTfvvtf2jBsXjRUo4l/6VqwHx3S7OeZLJfNjiSqACSr/ypMUY3VEM6XwwDT2H
nDJZFS7QgtPxwXr4ur16ZC4J3RqcZQeQ9NZZ4CszQk3l+KjV4iDUmfTxmkaKVk8B
NfKpcCGag5fnw8xD/eK2IFCTXMFURK0+2qxfP8mQXzPu9zeuPdsaI05yFfquYQjO
5Z+oRV2pYFZkj9tOowuXLNJhL7GWFHNYVyjwDtHuy/b/2JlgZ718Kyro+WHGnpjC
24lOLlVNvCNvasJu14+2g7+W9F8+pD5hj18WlHn8KaB/2BEFfyhzoQvL0utbAVp4
N7GlAZWQFHiVN3+OT84W4LMbhi6FDKeCC5jMEyq3OL8WTG/qpiGi+Oone82yfe9h
Je7Sp9oRRtjwFkBN4JIu4zeA2rVbS2jtmL5Lro7l8He04mqc+ZHY56b28mZFA/HI
Tvc7VwIsq3czze/qARz59HvuszyW78Ys179WueLFNNdvoZZOzvWtDP0bHCB6j7lA
56diqT8qu1TifkI/8nXEIp77X2AxOJOmxnFXiBgpBW4LHWol5fvcK9AHblhRylrP
iG5W85ssC9GuXHe828kY
=CPj3
-----END PGP SIGNATURE-----

--cdXQGxiKIiwAhL7HrVD4Da7gMeMel1wd1--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?532F15D8.10403>