From owner-freebsd-ports@freebsd.org Wed Oct 4 21:11:08 2017 Return-Path: Delivered-To: freebsd-ports@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 983BDE42E05 for ; Wed, 4 Oct 2017 21:11:08 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: from mail-oi0-x233.google.com (mail-oi0-x233.google.com [IPv6:2607:f8b0:4003:c06::233]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 55443725EA for ; Wed, 4 Oct 2017 21:11:08 +0000 (UTC) (envelope-from fjwcash@gmail.com) Received: by mail-oi0-x233.google.com with SMTP id f3so21708450oia.2 for ; Wed, 04 Oct 2017 14:11:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=SdzH8l41dsvMAUmeuWMOqFIFZ3NqG6rG6Y/sXEU+uLM=; b=fNJ3nKwEo70LhZRyw/6xwahsYiPCbN4b+2IRA/UYKNWKg/MtXl/UrHs7UPu+CS1fDO D62G46RPajGKsqTeSPudfxe8rbqYjJDzp/goj4Wg+n0HE4khkxntI52UwfW8bCPDDr1M ez4MoSP2criYHEGcbmFiqPzxSDyjkmPJZhvmZ5jSBJTnviikFEWv1xjB9qVeLwOBIMFW fammNDZ9wK1U+ICzQPvIlfnNG8Pb1HWPndFCUehnv0V2/B1JKyK3dqyQC/PqTYKJn2zX hPiCHG0fgJbvJjZaU408sPQHhYRdgkcI5MZcsaJ/TDQm3KsFKdPpC3j10KENgHm2oO7Y GJgA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=SdzH8l41dsvMAUmeuWMOqFIFZ3NqG6rG6Y/sXEU+uLM=; b=WtWb5v0PNk1YpkoIhasQfiPL5DvXL4G64ZyCs48H4lZ3lRmb8o6DxkqtA+kKfkMAeG uVF4DFo02t2JzKYPsEsCHyyE5aonuqKiz6zRBmQhJd6MATzyGHAo3bJYo9iT4bjeePO1 0qqAzoNSdo2Pf387AJP4gx6I+lkgGDV8L5S0DleploIKg8tmZGPxKXxpTWi0h+E/oUil KN+CULcu5CXIQNQjBsG0WjMfO5xpfM5DTL0APfg5wYnn/rGKtVOIpq6liaZe8FqVpiWl t1JhYubCIy73mqxY/mEAQ63WCQqNAk1qsTuKUGRokSVdHlKazfeYRMT26ZlPnB2mgFmk w6fw== X-Gm-Message-State: AMCzsaWd6/F+Ee5vIsBNg62yI86mlHFwc28cdWv1OKC5mdbF+vDjP/uS qim8Y3UOiLhMicYyCfmE4rAZfsdNyNTlmNuHU/4= X-Google-Smtp-Source: AOwi7QA8ZMKNpoq9deuUonAWiE6Thf3rZrlDXAmI6AsfLq/hPAcf0f8tI/FdMTpSHnq22WiHqQC7Ur0OupOFAzLSTIQ= X-Received: by 10.157.85.80 with SMTP id h16mr3974931oti.12.1507151467577; Wed, 04 Oct 2017 14:11:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.157.62.245 with HTTP; Wed, 4 Oct 2017 14:11:06 -0700 (PDT) In-Reply-To: References: <20171004161649.GA51883@mail.michaelwlucas.com> <20171004204313.GA7679@lonesome.com> From: Freddie Cash Date: Wed, 4 Oct 2017 14:11:06 -0700 Message-ID: Subject: Re: portmaster, portupgrade, etc To: Grzegorz Junka Cc: freebsd-ports Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.23 X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Oct 2017 21:11:08 -0000 On Wed, Oct 4, 2017 at 1:56 PM, Grzegorz Junka wrote: > > On 04/10/2017 20:43, Mark Linimon wrote: > >> On Wed, Oct 04, 2017 at 08:13:16PM +0000, Grzegorz Junka wrote: >> >>> I was trying >>> to compile with the system that was being updated at the >>> same time - this can't possibly work (or can it?). >>> >> It works somewhere between "quite often" to "nearly all >> the time". It can vary depending on the complexity of >> > > Well, that's not my experience. For me it worked occasionally at best. A > few times the system became so broken that many applications couldn't be > opened any more and I had to spend hours to restore it to some kind of > usability. Even with poudriere I still manage to break the ports quite > often by setting various options not to their recommended values - see > defects I have been raising on https://www.freebsd.org/suppor > t/bugreports.html But at least I am not able to install them until they > are fixed. > > Maybe I am just too ambitious or maybe poudriere is more idiot-proof? I > guess portmaster or portupgrade may work fine if one uses the default > options, but in that case, hey, why bother? Just use the compiled package= s! > If you try to change some ports to non-default options, and something > doesn't compile, portmaster/portupgrade will leave the system in half-bak= ed > state. And then only heavens can help... =E2=80=8BThe nice thing about poudriere is that it doesn't affect the runni= ng system. The act of creating the package repo is completely separate from the act of installing packages. The two steps can be done on a single system, or on separate systems. During the creation of the package repo via poudriere, nothing on the client system is affected; nothing is installed, nothing is uninstalled. One can continue to use the system, which is great for desktops and critical servers alike. If there's an issue compiling a port in the middle of a long dependency chain in poudriere, the process stops and you work to fix it. Nothing you do at this point affects any of the client(s). If you can't get it fixed, you don't have to worry about rolling back versions on the client(s) to get things back to a working state. Only once you have everything compiled and packaged up do you worry about the client system(s). And there, the pkg system takes over and handles everything. It's pretty much a "everything works or nothing gets installed" process at that time (with very few corner cases that break things). It's not bulletproof, but it's a lot safer than compiling things on the live system where some compiler bits are picked up from the ports build tree, while other bits are picked up from the live filesystem, while some things are auto-detected based on other installed ports, while some things are skipped for the same reason, etc. Will there be situations where you want to compile directly on the client? Maybe. Will there be many people that need that against all other options? Not really. the ports you have installed, what state the tree is in, >> how much the ports you use are often used by others, and >> subtle differences in changes to port dependencies. >> >> This is complex enough to be indistinguishable from "phase >> of the moon." >> >> In this case I really wish I were joking. >> > =E2=80=8BI used to love compiling everything on my home systems and work sy= stems. Then KDE upgrades kept leaving me with a broken system due to enabling some esoteric OPTIONS that I thought I needed and portmaster would fail in the middle of the umpteen-level-deep dependency chain. I could usually get things back to a working, upgraded state, but that usually left me without a working GUI for 2-4 days. The introduction of pkg has alleviated me of= =E2=80=8B that need. :) I don't even have /usr/ports installed on my home or work systems anymore. After ending up with a broken server at work for the same reason I switched those to using pkg only. I played with poudriere back in the early days and it was easy to work with. But I found myself setting fewer and fewer custom OPTIONS so the need for it diminished with time. Debated playing with it at work to get a custom OpenSSH package (for NONE encryption), but I found other ways to do the same. --=20 Freddie Cash fjwcash@gmail.com