Date: Thu, 03 Oct 2013 11:13:09 +0200 From: "bw.mail.lists" <bw.mail.lists@gmail.com> To: freebsd-pkg@freebsd.org Subject: pkgng install/upgrade and puppet or similar Message-ID: <524D3525.4000201@gmail.com>
next in thread | raw e-mail | index | archive | help
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.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?524D3525.4000201>