From owner-freebsd-questions@FreeBSD.ORG Fri Dec 26 23:21:21 2014 Return-Path: Delivered-To: freebsd-questions@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id C6CD713D for ; Fri, 26 Dec 2014 23:21:21 +0000 (UTC) Received: from mx01.qsc.de (mx01.qsc.de [213.148.129.14]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 58A56662E6 for ; Fri, 26 Dec 2014 23:21:21 +0000 (UTC) Received: from r56.edvax.de (port-92-195-30-13.dynamic.qsc.de [92.195.30.13]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mx01.qsc.de (Postfix) with ESMTPS id 12E913E3F1; Sat, 27 Dec 2014 00:21:18 +0100 (CET) Received: from r56.edvax.de (localhost [127.0.0.1]) by r56.edvax.de (8.14.5/8.14.5) with SMTP id sBQNLIgi003714; Sat, 27 Dec 2014 00:21:18 +0100 (CET) (envelope-from freebsd@edvax.de) Date: Sat, 27 Dec 2014 00:21:17 +0100 From: Polytropon To: Chris Stankevitz Subject: Re: Do I want to switch to the new pkg(8) format? Message-Id: <20141227002117.b2d10b46.freebsd@edvax.de> In-Reply-To: References: <7813720d20f4ad81c083db7695df728b.squirrel@ma.sdf.org> Reply-To: Polytropon Organization: EDVAX X-Mailer: Sylpheed 3.1.1 (GTK+ 2.24.5; i386-portbld-freebsd8.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: cpet@sdf.org, freebsd-questions X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 26 Dec 2014 23:21:22 -0000 On Fri, 26 Dec 2014 14:57:44 -0800, Chris Stankevitz wrote: > Keeping in mind that my FreeBSD vocabulary is not > up-to-snuff, can you explain how these two statements can both be > simultaneously true: > > "pkg is the only supported package management tool (and installing > ports *is* installing packages)" -Warren Block By "management", also keeping the system's records about packages (what is installed, which dependencies exist, where did files get written to, etc.) is meant. Tools like portmaster or a simple "make install" also cause those steps to happen. > "portmaster is the recommended tool for upgrading installed ports" > -Handbook section 5.5.3.1 You can upgrade from source - and use portmaster, or you can upgrade binarily - by using pkg. This works whenever you do not have custom options set when building from source. When you build from source, you basically build a binary package (compare "make package"), and then, this package is being installed. This is nothing much different from the path of obtaining precompiled packages from an external source and then installing those. > If both statement are indeed true, then I must conclude: Your statements aren't wrong per se, but not formed in a way that doesn't allow misunderstandings. :-) > 1. Upgrading ports is not a "package management" operation. It is, as explained. > 2. There are many different "operations" you can do with ports and packages. Correct. > 3. Each "operation" might use a different tool. Sometimes pkg, > portmaster, portsnap, make, cvs, pkg_, portsclean, portupgrade, etc. Allow me to summarize and clarify: pkg -> install, upgrade and remove installed software, keep system database about installed stuff and the depdendencies that may appear portmaster -> interface to the ports tree when building from source, also allows upgrading, but can also be used to deal with binary packages (see -P and -PP options) portsnap -> obtain the latest ports tree (snapshot, often not 100% current, but close) in a compressed format make -> generic interface to Makefiles that control how certain ports actions are performed (install, update, deinstall, reinstall, package, fetch, patch and so on) cvs -> DEPRECATED - tool to check out ports tree from the version control system; today svn (subversion) is being used for interaction with the version control system pkg_ -> DEPRECATED - collection of tools to deal with binary packages portsclean -> see "man portconfig" portupgrade -> comparable to portmaster -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...