Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 24 Feb 2013 18:09:51 +0000
From:      Matthew Seaman <matthew@FreeBSD.org>
To:        freebsd-questions@freebsd.org
Subject:   Re: "make package" vs "pkg create"
Message-ID:  <512A576F.3050901@FreeBSD.org>
In-Reply-To: <512A40E9.805@gmail.com>
References:  <512A40E9.805@gmail.com>

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

On 24/02/2013 16:33, Joshua Isom wrote:
> I tried making a build jail, not with pourdriere or tinderbox.  I just
> went to the ports and ran `make -DBATCH package-recursive clean` to get=

> packages created.  I ran `pkg add *` in the packages/All directory, but=

> all failed because of MANIFEST missing.  I'm guessing this is a bug in
> the .mk files, since I do have WITH_PKGNG set.  Is this a known problem=

> or is there supposed to be a different way to do it?  Am I just suppose=
d
> to use pourdriere or the source to keep my ports up to date until all
> the packages are rebuilt on freebsd.org?

'MANIFEST' is pretty fundamental to pkgs -- probably the error you are
seeing is because there are some other sort of files that aren't pkgng
packages present.  That's going to upset pkg add.  What's the history of
this jail?  Did it start out using pkgng, or did it get converted from
pkg_tools?  If the latter, did the conversion go smoothly?  Can you use
eg. 'pkg info' in your jail to get an accurate listing of the packages
installed there?

If 'WITH_PKGNG' is set in your make.conf, then 'make package' will
certainly use pkgng to generate packages.  I do that a lot in testing,
and it works just fine.

If you can clear out the non-pkgng stuff, the recommended way to do what
you intend is to generate a repository catalogue, and then use 'pkg
install'.  'pkg add' really should only be considered for installing
single packages when there is absolutely no alternative.

You should be able to run 'pkg repo /usr/ports/packages' to build a
repository catalogue for all the pkgng packages you've built in your
jail.  Then you can either mount the jail's package tree on the machine
where you want to install packages, or make it available through a web
server.  Set PACKAGESITE appropriately in ${LOCALBASE}/etc/pkg.conf --
for instance, this is what you'ld set to use a repo made as above and
mounted in the same location:

   PACKAGESITE : file:/usr/ports/packages

You can then use 'pkg install' or 'pkg upgrade' in the usual way.

Note: you won't need to install every package in your repo -- many of
them will exist solely in order to facilitate building other packages.
 If you choose the packages you specifically want, pkgng will sort out
installing the required dependencies, and moreover will set the
autoremove flags appropriately, so you could later purge things
installed solely as dependencies of packages you no longer want.

	Cheers,

	Matthew

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



------enig2JSSDAHOHUXDDDMKQNACH
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.16 (Darwin)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/

iEYEARECAAYFAlEqV38ACgkQ8Mjk52CukIyirwCfY6/C0mQALg5YFSXhpfgFpRez
MyMAniE80ZHvG+/mZJkDQyEyK3STX7fP
=FUmF
-----END PGP SIGNATURE-----

------enig2JSSDAHOHUXDDDMKQNACH--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?512A576F.3050901>