Date: Sun, 15 Feb 2015 20:03:40 +0000 From: Matthew Seaman <matthew@FreeBSD.org> To: freebsd-questions@freebsd.org Subject: Re: Ports/Packages and release engineering Message-ID: <54E0FB9C.1090706@FreeBSD.org> In-Reply-To: <loom.20150215T001703-97@post.gmane.org> References: <54DF89BE.6010005@complete.org> <54DFA962.2010509@infracaninophile.co.uk> <loom.20150215T001703-97@post.gmane.org>
next in thread | previous in thread | raw e-mail | index | archive | help
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --qL9Sr04p1jH4uFEOEaKOf005OvtHtr2KV Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 14/02/2015 23:20, John Goerzen wrote: > Matthew Seaman <m.seaman <at> infracaninophile.co.uk> writes: >=20 >> >> On 14/02/2015 17:45, John Goerzen wrote: > I actually expect to use pkg(8) rather than ports almost all of the tim= e.=20 > So it sounds nice that pkg(8) can do this, but I am confused about the > relation between ports and pkg. I see some rather contradictory inform= ation > out there, and wonder if this changed in FreeBSD 9 or 10? I see some p= eople > saying that a person always needs to tell the ports system to register = with > pkg, but then I don't see anything in the Handbook saying to do that th= ese days. pkg(8) is the only game in town now, and has been since last april (IIRC). All supported versions of FreeBSD use pkg(8). There's a lot of historical information floating around from the transition period when lots of people were still running pkg_tools based systems and many of them were needing to convert. You'ld have to be running something pretty seriously out of date to still be in that position today though. As for ports and pkg: it's easy really. ports are a set of instructions for building 3rd party software pkg(8) is a tool for managing collections of files, commonly used for handling the results of ports compilations. All the binary packages currently available are the results of ports compilations, be that ones done on the central package building systems, or ones done locally on an individual system via tools like portmaster(1) or portmanager(1). > So if a port only supplies a .sample, on what basis would pkg do a 3-wa= y > merge, since nobody is likely to modify .sample directly? At the moment, pkg(8) doesn't do any 3-way merging. That's something that is currently under development. > Ah. OK. So is there really that much churn in base system libraries? = It's > not necessarily an issue for me, but just a surprise; I'm used to syste= ms > where most binaries that are a decade old still work fine on modern sys= tems. The promise is that a binary compiled on the earliest release from any major branch will be forward compatible with any subsequent releases from that same major branch. (So something compiled under 9.0 will work on 9.3, but something compiled on 9.3 will not necessarily work on 9.0). Yes, there are quite likely to be incompatible changes in the standard library ABIs between major versions. Something as simple as changing the size of a struct can break the ABI, even though it still maintains the same API and exactly the same soure code, once recompiled, will work just fine. Symbol versioning allows a single shlib to provide older variants of an ABI as well as the latest one, which means you can get both forwards and backwards compatibility. I don't think that the symbol versionning support is comprehensive enough yet, or well tested enough yet that the advice to re-install everything on a major upgrade will be changed any time soon. Cheers, Matthew --=20 Dr Matthew J Seaman MA, D.Phil. PGP: http://www.infracaninophile.co.uk/pgpkey --qL9Sr04p1jH4uFEOEaKOf005OvtHtr2KV 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) iQJ8BAEBCgBmBQJU4PunXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NTNBNjhCOTEzQTRFNkNGM0UxRTEzMjZC QjIzQUY1MThFMUE0MDEzAAoJELsjr1GOGkATZ70P/25Vz+8FP5CiXFGG58UWZrwH AKVL81SeDgwJc1MqSk6qSv+xAJO+vZfPPrjJ6wnIrI8zgvnzMmJMoxLzAxlv7SbF d9y2Nox+sVqI8YI2UXm4LQjHQdJd5sFiANnPxgcVnxY0nsjW+k22/rwjFpE926n9 DDdYxtkS6Gix19ITpZUEw+3BngS/LKvn+OkI6qiHnEHB+IMZHxnnmD4VvEtnug/D T9z3Oh15a3YwyI/qSzYqHKCq8affIigmFnHdS9bPCzMIwzJy61ne7p07E8TEWVOH eFB5Dxb0vA1iIqEPYSTGnn0HqCKu1aiGy0OiwT0gC0y3wb12BIwN9o+zMg3OpCpa DbSSZIMVpjPvsWQLdaMAowk9PkJnwqJ2QS6+rL/PKh6D6L7YLibx481RujkrvMEk Tq7tc7PL3bQ3bkE5ZzQhMds1c+3aRXSpHOirWeTzkSqDbLqQDy1wpJ/f/8p2caNi ukOB277Fb1buBr3sZGVp86p9BDxskvCGGhd8ihRKFb10w9FtZT05dXe5nyWggO+M BenckMdqm2u3UyL0xoy7Ras2IYUfXi6x9K/beNqcTNdOK8w+birWG6dgF+3cOOXm mivfRdghzqfpfQpLjD0fy/dG7H0pCTcHh8d2cCqiDl1BF/q7IEo+H9m9YEcpBH0z TcqoA5OkLfCO1PNoUM7S =58Ui -----END PGP SIGNATURE----- --qL9Sr04p1jH4uFEOEaKOf005OvtHtr2KV--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?54E0FB9C.1090706>