Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 09 Mar 2015 10:20:58 +0000
From:      Matthew Seaman <matthew@freebsd.org>
To:        freebsd-ports@freebsd.org
Subject:   Re: Overriding binary package with local build
Message-ID:  <54FD740A.1000509@freebsd.org>
In-Reply-To: <20150309094324.GA23245@shrubbery.net>
References:  <20150309094324.GA23245@shrubbery.net>

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

On 03/09/15 09:43, heasley wrote:
> If one builds a package from ports in order to use different options, f=
or
> example building with postgres support instead of mysql, or builds a
> specific version, but otherwise utilizes binary packages, how is this
> indicated to 'pkg upgrade'?
>=20
> For example.  On this system I've built gld with postgres instead of my=
sql
> and postfix with another option.  The mysql dependency is coming from t=
he
> binary gld with the default options.  And, in theory postfix has differ=
ent
> options, but also needs an update.
>=20
> So, is it possible to tell pkg(8) about the different options/local bui=
lt,
> but still complain when a version update is necessary?
>=20
> # pkg upgrade
> Updating FreeBSD repository catalogue...
> FreeBSD repository is up-to-date.
> All repositories are up-to-date.
> 	...
>=20
> New packages to be INSTALLED:
>         mysql56-client: 5.6.23
>=20
> Installed packages to be UPGRADED:
>         postgresql94-server: 9.4.0 -> 9.4.1
>         postgresql94-client: 9.4.0 -> 9.4.1_1
>         postfix: 2.11.3_4,1 -> 2.11.4,1
>=20
> Installed packages to be REINSTALLED:
>         gld-1.8_2 (options changed)

The best way I've found of doing this is to set up a local poudriere
instance to build the packages you want to customize, plus anything
that depends directly on them.  You can then set your local pkgrepo as
higher priority than the main FreeBSD repo in
/usr/local/etc/pkg/repos/foo.conf.  You might also want
'CONSERVATIVE_UPGRADE=3Dyes' in /usr/local/etc/pkg.conf

A poudriere setup for building just a few packages doesn't need a whole
lot of system resources.  You'll need to tune poudriere.conf so it
doesn't try and max out usage of everything -- maybe limit it to a
single builder.  You can serve the packages it builds either by HTTP, or
if everything is all on the same machine, you can just use a
file:///.... URL in your repo conf.

	Cheers,

	Matthew




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

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2

iQJ8BAEBCgBmBQJU/XQLXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxOUYxNTRFQ0JGMTEyRTUwNTQ0RTNGMzAw
MDUxM0YxMEUwQTlFNEU3AAoJEABRPxDgqeTn8ZQQAKL/IvQeo+p5gwIDJQ7FBgK8
DjOPl/Fr0yZhjDSL/UkAegJn2c0er7XJZvEM4NuLhMbEY81MJRDI9RmyD96mENoJ
zMeDFqz92/SDX826ygMTlE8iYSBYkY9fK957d5flcrfav4jVCFovymaP0Rua6BcF
9jeyWeNyUfBIKldzz6hYeeSYpfwVFAq48PLe1gdxkqsndkGvnUtEOW1Sl5eGxzuA
KPGS4LOHB1v28ZJ7609pTYc45pIw/yZ/Bb3+38UWWRgZ854vJ/puYHMfu8weExb9
R0dprILk5wwkqk+KoEhd+WHsvqwI8KGZWqBMZbcWEaEmTmEE2XRdr9Ea6S3OysT2
+aKt5L4IEXhOgyapCMc0h0bbFDucDJMAKvs6MHw1KeH9DkX4vCUS9lPmtv8VbNI9
c3trGgCEZgDUWc2TN5C08K6ljluRwwzsdze+QkjJiewEKD2SNleugZ+ZkjZbMcOj
fD7tU7ayfbh7MYRI1aVD+qDPWzvHe+op/fTgyDUqNsWMIKDjQ8YGgPxb+pFyskF6
XFEQUeABJhB54aAgPw4+n4K+jikpFmt4PcWwqVb0HDwDGH17Lor2bZfvQFc5zr2l
z7PA5LVCeH2OA4FTvscK1i5YgQidSzP0rPlukJdu4jibzLl0UCIbJn/KGoxa9NRb
7qgfZphMCjhdFLziboj0
=0JX6
-----END PGP SIGNATURE-----

--TtQQUslHbrEXQuA252fg3ottubrBqTlec--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54FD740A.1000509>