From owner-freebsd-pkg@FreeBSD.ORG Thu Oct 3 09:26:45 2013 Return-Path: Delivered-To: freebsd-pkg@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTP id E9171EFE for ; Thu, 3 Oct 2013 09:26:45 +0000 (UTC) (envelope-from kpaasial@gmail.com) Received: from mail-qe0-x234.google.com (mail-qe0-x234.google.com [IPv6:2607:f8b0:400d:c02::234]) (using TLSv1 with cipher ECDHE-RSA-RC4-SHA (128/128 bits)) (No client certificate requested) by mx1.freebsd.org (Postfix) with ESMTPS id ADCDF20BB for ; Thu, 3 Oct 2013 09:26:45 +0000 (UTC) Received: by mail-qe0-f52.google.com with SMTP id i11so1493495qej.39 for ; Thu, 03 Oct 2013 02:26:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=5PzI9gGIHjsWUIyAbja4MMqOOE+ocS8AhvDA4c0EHmU=; b=livr0WUOpi/tge5mIRyeihsYS0QzSr0JsZpSke6QImNEQwJPVXsDiFN4gEbdsZ6Ad0 Pr8PMi83vBNbjwAFr/UMvbFNHqKsnmPnJRKCV1ZKptyKnpgsFmq8yMZIFCx/dWBLcuWS 5qRwX02afvOc1m9FB0XdrLNQ1E3fbAZZpFGO5QA1rLZZdqYu0OG/DTKiroeUBK1nAF5V MJnyxSMrNomxpammXpFVJLhxt4T+mt5KbzFlry/o2X1AU6+Uhs4vJtCKgBIjfnBNOqlm EenIt0UUfsDp6OY11FtRkxVB8S0hQIhikzhmvTuHIEXtrEI77le4Jo/ZnTWzBABz+Wno 40CA== MIME-Version: 1.0 X-Received: by 10.229.116.197 with SMTP id n5mr8131303qcq.22.1380792404428; Thu, 03 Oct 2013 02:26:44 -0700 (PDT) Received: by 10.224.88.197 with HTTP; Thu, 3 Oct 2013 02:26:44 -0700 (PDT) In-Reply-To: <524D3525.4000201@gmail.com> References: <524D3525.4000201@gmail.com> Date: Thu, 3 Oct 2013 12:26:44 +0300 Message-ID: Subject: Re: pkgng install/upgrade and puppet or similar From: Kimmo Paasiala To: "bw.mail.lists" Content-Type: text/plain; charset=UTF-8 Cc: freebsd-pkg@freebsd.org X-BeenThere: freebsd-pkg@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Binary package management and package tools discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 03 Oct 2013 09:26:46 -0000 On Thu, Oct 3, 2013 at 12:13 PM, bw.mail.lists wrote: > The fact that pkg first upgrades itself then exits successfully when trying > to install a package is unexpected behavior and can trip quite a few things. > > Case in point. > > I have a manifest that installs postfix, stops sendmail, then installs > mailer.conf and main.cf in /usr/local/etc/postfix. Quite standard stuff. > However, if there is an upgrade to pkg what will happen is puppet will run > 'pkg install -y postfix' which will in fact upgrade pkg and exit > successfully, while postfix is not actually installed. Next the manifest > will stop sendmail and change mailer.conf to point to postfix, because it > thinks it was installed successfully, then try to install main.cf in a > nonexistent directory, which fails. This leaves the system with no MTA > running, since sendmail was stopped but postfix was not installed. Obviously > not good, even if postfix will (probably!) get installed the next time > puppet runs. > > I see two obvious choices, either > - exit with an error if pkg didn't execute what was actually requested, > because I asked for postfix to be installed, not pkg to be upgraded > or > - let pkg upgrade itself then execute what was actually requested and return > the error code of the second operation, assuming it got to it. If pkg > insists on upgrading itself IMHO this would be the better way. > > I hope I didn't miss it, but I didn't see any argument that can be passed to > pkg to make it ignore the upgrade in the man page. > _______________________________________________ How about a new subcommand 'pkg selfupgrade'? This would be the only way to upgrade pkg itself, the 'pkg upgrade' would then notify the user to use 'pkg selfupgrade' in case pkg was out of date but wouldn't actually perform the upgrade. -Kimmo