From owner-freebsd-questions@freebsd.org Wed Dec 19 07:44:45 2018 Return-Path: Delivered-To: freebsd-questions@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 6F4AA134EE54 for ; Wed, 19 Dec 2018 07:44:45 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from mout.kundenserver.de (mout.kundenserver.de [217.72.192.75]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client CN "mout.kundenserver.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 519A76E2A5 for ; Wed, 19 Dec 2018 07:44:44 +0000 (UTC) (envelope-from freebsd@edvax.de) Received: from r56.edvax.de ([92.193.252.129]) by mrelayeu.kundenserver.de (mreue108 [212.227.15.183]) with ESMTPA (Nemesis) id 1MFshF-1gd3Dm1VBX-00HMjf; Wed, 19 Dec 2018 08:39:01 +0100 Date: Wed, 19 Dec 2018 08:38:59 +0100 From: Polytropon To: Ian Zimmerman Cc: FreeBSD-Questions Mailinglist Subject: Re: packages vs ports, do they conflict? Message-Id: <20181219083859.1de0e899.freebsd@edvax.de> In-Reply-To: <20181219045456.enlgh43ndhglad7b@matica.foolinux.mooo.com> References: <20181219045456.enlgh43ndhglad7b@matica.foolinux.mooo.com> 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 X-Provags-ID: V03:K1:oxbRwlK8cLWsZb50B9gQxs1kS+5dZ5MkM53EszlsheiYIt8xZEw 0M9E0Z0n8QOZuQXcbNyD4pEu2LSBXNrINpXM114pSs4lZYCjRvtyatYgoyBV6zWxeSoQYTK ZCGw4j2JQdN3xoRceNe5cKjyj3ltfqizHTK9CoYwMLq3PWXmz2MC2A/mZ8iYa6fsDTwvluV A4RhFniwvxwqgmyLvSbnw== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1;V03:K0:TXkkhIWrzkI=:u7Tpob1e5YHgXLh+SAKVSk SqGevdpx80DsuczdJM8mbdq+YBmTVzCruU01RYnj376o662qSi+x97sHYytvasT5XozGTHWcS ZVyoisrGjphaaUgvjI5hIUXhtWYwnRfE3G3s+rM5cApbpLABbwYgJv2qWisF0SRUSMA2y+mOX zX8AsZNucm7c4Citxg/0eiuY9iOzDpciA9gd3Z2jM+5IZ4NUpicJOnPA7pTfEjgeOcMn/63Os vOdTZq7Npul9+jPx9l+bbRbp7c7Dtq/Yf6K13MAqhUVaTU2IKiN/HVZ/xPrd+AMzrqS5HG5iJ 6NBCsaVRJOjr1bC4wFWgnm5ETfSym8KF4UZWvx6TdO31EpGUIBB+ZNnjeJUbBhcviIR9rVgLT EWmXRmolK4P2Cfw4g+f5md6rScaRVF54xcDO73ZdmdNlwfkSlVP477qjHHwQi4jfM7ousCYts K4VwW1ENJaywmy+97Hs9vhtj5gEMQYMLQ+Po6BEgJ9iGz6wn51UrF19eOAGC9iiunprWvck7a Ek4/7OdkNGVX7NubCcfoRewwFB7bDAn9S9NQV1zrK7Khu+uqqd5K7VIkG2SEkbKwiMnui5/Vl M0d79zj63fztiKsIdogmT9qPTKmxJTqoTsBMJIkvrzqpxb/eO6/ks4A1qesA/Yc3fVtUaDVv6 pjg5p5M6eh5OAtrE+1HHKgqGU4KwDxlQ33EP67rmwr3yE4xJjnqua4TGfglq25QDXoyTj3rKE iLgkWK+L/UC8MT8QvWLTRRmXFt6B3k/kyahzkuy5FUkRY3b8LNJGB30gnjM= X-Rspamd-Queue-Id: 519A76E2A5 X-Spamd-Bar: +++++ Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [5.93 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; HAS_REPLYTO(0.00)[freebsd@edvax.de]; MV_CASE(0.50)[]; HAS_ORG_HEADER(0.00)[]; TO_DN_ALL(0.00)[]; MX_GOOD(-0.01)[cached: mx01.schlund.de]; RCPT_COUNT_TWO(0.00)[2]; RECEIVED_SPAMHAUS_PBL(0.00)[129.252.193.92.zen.spamhaus.org : 127.0.0.10]; RCVD_TLS_LAST(0.00)[]; R_DKIM_NA(0.00)[]; ASN(0.00)[asn:8560, ipnet:217.72.192.0/20, country:DE]; SUBJECT_ENDS_QUESTION(1.00)[]; FROM_EQ_ENVFROM(0.00)[]; ARC_NA(0.00)[]; REPLYTO_EQ_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.55)[0.549,0]; MIME_GOOD(-0.10)[text/plain]; MIME_TRACE(0.00)[0:+]; DMARC_NA(0.00)[edvax.de]; AUTH_NA(1.00)[]; NEURAL_SPAM_MEDIUM(0.90)[0.903,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_LONG(0.92)[0.922,0]; RCVD_IN_DNSWL_NONE(0.00)[75.192.72.217.list.dnswl.org : 127.0.5.0]; MID_CONTAINS_FROM(1.00)[]; R_SPF_NA(0.00)[]; RWL_MAILSPIKE_POSSIBLE(0.00)[75.192.72.217.rep.mailspike.net : 127.0.0.17]; RCVD_COUNT_TWO(0.00)[2]; IP_SCORE(0.17)[ipnet: 217.72.192.0/20(0.30), asn: 8560(0.54), country: DE(-0.01)] X-BeenThere: freebsd-questions@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: User questions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Dec 2018 07:44:45 -0000 On Tue, 18 Dec 2018 20:54:56 -0800, Ian Zimmerman wrote: > I just tried to compile a port for the first time, and I tried to follow > the Handbook as closely as possible, as is fitting for a newbie. So, > after becoming root in the port directory, the first thing I tried was > "make config-recursive". And the first dialog of options was for bash. > So I guess this port has the bash port as a dependency. Correct. > But I have > already installed bash as a package! That doesn't matter at this stage. As far as I know, the dependency tree resolver just considers data from the ports collection itself, there is no verification if something is already installed - that would happen during port build and dependency installation. It _might_ have a different impact if a dependency is a build dependency or a runtime dependency; build dependencies can be removed later on as the program in question does not need it to run. > If I go ahead with the build, will > a bash port be built and installed too, overwriting the package > installation - maybe with different and undesirable options? That depends on the actual options. If you have installed bash via pkg, the ports tree's default options have been applied, and if you chose different options for bash _now_, a re-installation with that new options will be performed. Additionally, updating your installed software via pkg will then surely remove your "custom bash" and replace it with a newer "stock bash". > How does > this work in general? Oh, that's very complicated... ;-) > Can I mix packages and ports at all, or do I have > to commit to one framework or the other for all software installs? No, you can mix them within a certain "mindset": If you're building ports with the default options, then they will be equivalent to what you install via pkg. When you're building a port, simply speaking, a package is created, and pkg is then used to install that package. For a normal "make install" call, an "implicite repository" is assumed, which isn't a repository at all, just an explicit package location and name. As soon as you're _changing_ port options, conflicts will arise. You'd have to use "pkg lock", then update with pkg, then portsnap, then "pkg unlock", and finally manually rebuild your custom ports. This is okay for one or two custom ports, but if you have a lot of those, things become inconvenient. Using poudriere makes this a lot easier: You can create your own repository (a real one!) containing all your ports with non-default options, and pkg will source them from your own machine, instead of using the ports with the default options from the official locations. And your build environment is nicely separated from your actual OS installation, i. e., if something needs a build dependency, it won't be installed into your main environment. It also does matter if you follow "Quarterly" or "Latest" when using pkg and ports (ports tree updated with portsnap) in parallel. With pkg's configuration file, you can setup your source repositories according to your requirements. https://wiki.freebsd.org/Ports/QuarterlyBranch -- Polytropon Magdeburg, Germany Happy FreeBSD user since 4.0 Andra moi ennepe, Mousa, ...