From owner-freebsd-ports@freebsd.org Mon Sep 10 12:10:28 2018 Return-Path: Delivered-To: freebsd-ports@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 D9999108E1C1 for ; Mon, 10 Sep 2018 12:10:27 +0000 (UTC) (envelope-from se@freebsd.org) Received: from mailout02.t-online.de (mailout02.t-online.de [194.25.134.17]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "mailout00.t-online.de", Issuer "TeleSec ServerPass DE-2" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 63AFA7DA15 for ; Mon, 10 Sep 2018 12:10:27 +0000 (UTC) (envelope-from se@freebsd.org) Received: from fwd33.aul.t-online.de (fwd33.aul.t-online.de [172.20.27.144]) by mailout02.t-online.de (Postfix) with SMTP id C7AB441B9F52; Mon, 10 Sep 2018 14:10:19 +0200 (CEST) Received: from Stefans-MBP-LAN.fritz.box (E11GkEZOgh02C3QL3oLOWFAgd2Kv-DmN12OLhUtixV3NKeMwWtNLrRF3amuWvfZZ8B@[93.200.59.58]) by fwd33.t-online.de with (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384 encrypted) esmtp id 1fzL1G-1tJ0YC0; Mon, 10 Sep 2018 14:10:18 +0200 Subject: Re: RUN_DEPENDS and portmaster To: Matthias Fechner , freebsd-ports@freebsd.org References: <03c14234-538d-fd9f-0c33-22825f3ea91d@fechner.net> From: Stefan Esser Openpgp: preference=signencrypt Autocrypt: addr=se@freebsd.org; prefer-encrypt=mutual; keydata= xsBNBFVxiRIBCADOLNOZBsqlplHUQ3tG782FNtVT33rQli9EjNt2fhFERHIo4NxHlWBpHLnU b0s4L/eItx7au0i7Gegv01A9LUMwOnAc9EFAm4EW3Wmoa6MYrcP7xDClohg/Y69f7SNpEs3x YATBy+L6NzWZbJjZXD4vqPgZSDuMcLU7BEdJf0f+6h1BJPnGuwHpsSdnnMrZeIM8xQ8PPUVQ L0GZkVojHgNUngJH6e21qDrud0BkdiBcij0M3TCP4GQrJ/YMdurfc8mhueLpwGR2U1W8TYB7 4UY+NLw0McThOCLCxXflIeF/Y7jSB0zxzvb/H3LWkodUTkV57yX9IbUAGA5RKRg9zsUtABEB AAHNKVN0ZWZhbiBFw59lciAoWWFob28hKSA8c3QuZXNzZXJAeWFob28uZGU+wsCWBBMBCgBA AhsDBwsJCAcDAgEGFQgCCQoLBBYCAwECHgECF4AWIQSjceplnAvsyCtxUxNH67XvWv31RAUC WvLvqwUJCyUBEwAKCRBH67XvWv31REySCACc6vqcSFQCRyBRc2CV5ZBjbbnTy7VBoXbUS3/c 4Hn8I0YQ39q7//2z8vYsgLeM1mMXL4PUIU/0f0dBAFBLpxV7bntGzyCJls6SeGS/qcQKhqaI 6I7NcWg8OkIJIhUL6q238cS1ql9pU65fyHe0PP8JS08m81PDpX2/4wTE6h2jgYUy55eXRzoF MEjr1S8SSnidsBem27o7iWu9ltJsUtE86071iZlLzbuHv2nvucrjAV9cK9tHrxYT/YiY8QhT L48iWj2xIjLjg1ebmgIFZ2k881we/KTIoUugqOOR1gDSc4qwM8CA388cN3frjtl98CwhAT5T UV8tIDqri+/Z1AKwzsBNBFVxiRIBCACxI/aglzGVbnI6XHd0MTP05VK/fJub4hHdc+LQpz1M kVnCAhFbY9oecTB/togdKtfiloavjbFrb0nJhJnx57K+3SdSuu+znaQ4SlWiZOtXnkbpRWNU eMm+gtTDMSvloGAfr76RtFHskdDOLgXsHD70bKuMhlBxUCrSwGzHaD00q8iQPhJZ5itb3WPq z3B4IjiDAWTO2obD1wtAvSuHuUj/XJRsiKDKW3x13cfavkad81bZW4cpNwUv8XHLv/vaZPSA ly+hkY7NrDZydMMXVNQ7AJQufWuTJ0q7sImRcEZ5EIa98esJPey4O7C0vY405wjeyxpVZkpq ThDMurqtQFn1ABEBAAHCwHwEGAEKACYCGwwWIQSjceplnAvsyCtxUxNH67XvWv31RAUCWvLv qwUJCyUBGQAKCRBH67XvWv31RLnrB/9gzcRlpx71sDMosoZULWn7wysBJ/8AIEfIByRaHQe3 pn/KwE57pB+zFbbQqB7YzeZb7/UUgR4zU2ZbOcEfwDZcHUbj0B3fGRsS3t0uiLlAd8w0sBZb SxrqzjdpDjIbOZkxssqUmvrsN67UG1AFWH9aD24keBS7YjPBS8hLxPeYV+Xz6vUL8fRZje/Z JgiBMIwyj6g2lH/zkdnxBdC0iG1xxJOLTaghMMeQyCdH6ef8+VMyAlAJsMckbOTvx63tY8z7 DFcrnTJfbe1EziRilVsEaK8tTzJzhcTfos+f3eBYWEilxe5HzIhYKJeC7lmsSUcGwa6+9VRg a0ctmi9Z8OgX Message-ID: <7ccc8168-fa3b-9872-dc5a-13a9b394d5c2@freebsd.org> Date: Mon, 10 Sep 2018 14:10:15 +0200 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.0 MIME-Version: 1.0 In-Reply-To: <03c14234-538d-fd9f-0c33-22825f3ea91d@fechner.net> Content-Type: text/plain; charset=windows-1252 Content-Language: en-US Content-Transfer-Encoding: 7bit X-ID: E11GkEZOgh02C3QL3oLOWFAgd2Kv-DmN12OLhUtixV3NKeMwWtNLrRF3amuWvfZZ8B X-TOI-MSGID: 23018459-47e2-47a3-aea6-f94b026f46ee X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 10 Sep 2018 12:10:28 -0000 Am 10.09.18 um 06:54 schrieb Matthias Fechner: > Dear all, > > I have a questions reagarding the RUN_DEPENDS and at which step > dependencies should be installed. > I'm the maintainer of gitlab-ce port and I added a feature that checks > in the install target: > do-install: > (cd ${WRKSRC} && ${RM} Gemfile.lock && bundle install --local) > ${FIND} ${WRKSRC} -name '*.orig' -delete > ... > > that all gems available in the system do match the version required by > the Gemfile. > Poudriere works fine with this, but portmaster fails. > Regarding the documentation RUN_DEPENDS packages should be installed > before the install is happening. Hi Matthias, this is the description of the sequence of actions performed by the ports framework alone. INSTALLS_DEPENDS covers the case of dependencies that are required to be available when a port is being installed. Portmaster installs RUN_DEPENDS only after the port that depends on them, since it is assumed, that they are actually only required to execute it after it has been completely installed. The reason is, that portmaster is typically used to upgrade multiple ports in such a way, that all BUILD_DEPENDS are up to date (not only available) when some some dependent port is compiled. In case that some upgraded port actually is a build dependency of some other port, it will need to have its run dependencies installed and upgraded, and portmaster will assure this is the case. The sequence of upgrade actions was chosen to follow this scheme to prevent dependency loops (which typically will consist of a mix of build and run dependencies). > Is this install related to the do-install target or the installation > of the package itself? I have re-implemented portmaster and have been using my version to maintain my ports since May. Due to several bad design decisions (or rather the lack of thorough design) of the FLAVOR feature, it took me quite some effort and time to get performance of that version to an acceptable level. Currently I'm building and installing ports in the same order as the current official portmaster version, but that could easily be changed. I have considered following the same concept as synth does (i.e. build ports in a clean environment), at least as an option. But I have not started to implement such a feature, yet. > Is this maybe a problem with portmaster as poudiere handles this correctly? This is a design decision in portmaster that has existed for at least a decade. Use INSTALL_DEPENDS if you depend on a port being available and upgraded before your port's do-install is invoked. Changing the current portmaster version in ports is no option, since it does not offer to recursively upgrade or install any other port while working on some port and it cannot easily be made to support such a sequence of actions. Regards, STefan