From owner-freebsd-ports@freebsd.org Sun Nov 11 12:50:07 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 9D8ED1103BEE for ; Sun, 11 Nov 2018 12:50:07 +0000 (UTC) (envelope-from list1@gjunka.com) Received: from msa1.earth.yoonka.com (yoonka.com [88.98.225.149]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "msa1.earth.yoonka.com", Issuer "msa1.earth.yoonka.com" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id C74E97F856 for ; Sun, 11 Nov 2018 12:50:06 +0000 (UTC) (envelope-from list1@gjunka.com) Received: from crayon2.yoonka.com (crayon2.yoonka.com [10.70.7.20]) (authenticated bits=0) by msa1.earth.yoonka.com (8.15.2/8.15.2) with ESMTPSA id wABCYPgQ016854 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO) for ; Sun, 11 Nov 2018 12:34:25 GMT (envelope-from list1@gjunka.com) To: freebsd-ports@freebsd.org From: Grzegorz Junka Subject: Few how-it-works questions Message-ID: <73366a94-238a-ed9a-5dee-d5955525e851@gjunka.com> Date: Sun, 11 Nov 2018 12:34:25 +0000 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:60.0) Gecko/20100101 Thunderbird/60.2.1 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-GB-large X-Rspamd-Queue-Id: C74E97F856 X-Spamd-Result: default: False [-2.60 / 200.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; NEURAL_HAM_MEDIUM(-0.98)[-0.980,0]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+ip4:88.98.225.149]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.10)[text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; TO_DN_NONE(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; NEURAL_HAM_LONG(-0.96)[-0.962,0]; DMARC_NA(0.00)[gjunka.com]; MX_GOOD(-0.01)[gjunka.com]; NEURAL_HAM_SHORT(-0.33)[-0.325,0]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; IP_SCORE(-0.02)[country: GB(-0.10)]; ASN(0.00)[asn:56478, ipnet:88.98.192.0/18, country:GB]; MID_RHS_MATCH_FROM(0.00)[]; RCVD_TLS_ALL(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 11 Nov 2018 12:50:07 -0000 Hi All, I would like to understand a bit better how the ports infrastructure works. 1. Recommended way of upgrading ports is "poudriere ports -p local -u", right? But this always gets me the latest version, in which some ports may not compile, depending on my luck. I know I can use SVN to checkout a specific version of ports instead, but is it possible to find out in which SVN version which ports are compiling and which are not? In other words, can I open the history of builds of FreeBSD ports on the build servers and check which ports are building in a specific SVN version, then checkout that version to build on my server?  - also, is the ports tree mirrored in Git/GitHub? 2. Every time poudriere builds a new set of packages, it deletes those which have changed in ports or for which the options have changed, then it tries to build them again. But because the ports change, some may no longer build. In that case I am left with no packages to install on a system unless I am lucky enough to be able to cleanly build all ports again. What is the preferred strategy to maintain old packages until a new set is build correctly? Copy the whole folder aside? Is it possible to tell poudriere to create a new folder with packages for each new build (eventually with the option to use already built packages when they have not changed)? I suspect poudriere doesn't maintain such state internally, it simply deletes what's no longer relevant and then builds what's missing? 3. When a package doesn't build because of a patch error: ===>  Patching for ImageMagick6-6.9.10.14,1 ===>  Applying FreeBSD patches for ImageMagick6-6.9.10.14,1 1 out of 1 hunks failed--saving rejects to config/policy.xml.rej => FreeBSD patch patch-config_policy.xml failed to apply cleanly. *** Error code 1 Is this a problem with the ports tree, the upstream package, or some other package? In other words, can that problem be fixed without having an updated version of the port (e.g. assuming the upstream package or the other package gets updated and rebuilding the same package without a new version of the ports tree may fix this). Are patches always kept in the ports tree or sometimes they may be kept separately (e.g. in another repo versioned independently)? Many thanks for your time GrzegorzJ