From owner-freebsd-ports@freebsd.org Tue Aug 4 18:43:37 2020 Return-Path: Delivered-To: freebsd-ports@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 045FA37C711 for ; Tue, 4 Aug 2020 18:43:37 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from mailman.nyi.freebsd.org (mailman.nyi.freebsd.org [IPv6:2610:1c1:1:606c::50:13]) by mx1.freebsd.org (Postfix) with ESMTP id 4BLkD86Qqfz3TLR for ; Tue, 4 Aug 2020 18:43:36 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: by mailman.nyi.freebsd.org (Postfix) id DC94837C157; Tue, 4 Aug 2020 18:43:36 +0000 (UTC) Delivered-To: ports@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id DC56037C790 for ; Tue, 4 Aug 2020 18:43:36 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from mouf.net (mouf.net [IPv6:2607:fc50:0:4400:216:3eff:fe69:33b3]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client CN "mouf.net", Issuer "mouf.net" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4BLkD83k8Xz3TJ3 for ; Tue, 4 Aug 2020 18:43:36 +0000 (UTC) (envelope-from swills@FreeBSD.org) Received: from lrrr.mouf.net (cpe-76-182-16-135.nc.res.rr.com [76.182.16.135]) (authenticated bits=0) by mouf.net (8.14.9/8.14.9) with ESMTP id 074IhOsv078545 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT) for ; Tue, 4 Aug 2020 18:43:31 GMT (envelope-from swills@FreeBSD.org) To: "ports@FreeBSD.org" From: Steve Wills Subject: [HEADS UP] Planned deprecation of portsnap Message-ID: Date: Tue, 4 Aug 2020 14:43:20 -0400 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:68.0) Gecko/20100101 Thunderbird/68.11.0 MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.4.3 (mouf.net [199.48.129.64]); Tue, 04 Aug 2020 18:43:31 +0000 (UTC) X-Spam-Status: No, score=0.2 required=4.5 tests=KHOP_HELO_FCRDNS autolearn=no autolearn_force=no version=3.4.1 X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on mouf.net X-Virus-Scanned: clamav-milter 0.99.2 at mouf.net X-Virus-Status: Clean X-Rspamd-Queue-Id: 4BLkD83k8Xz3TJ3 X-Spamd-Bar: / Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [0.00 / 15.00]; local_wl_from(0.00)[FreeBSD.org]; ASN(0.00)[asn:36236, ipnet:2607:fc50::/36, country:US] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.33 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 04 Aug 2020 18:43:37 -0000 We are planning to deprecate use of portsnap in ports. The reasons are as follows (in no particular order): * Portsnap doesn't support quarterly branches, even years after quarterly branches were created and changed to the default for non-HEAD packages. * Portsnap doesn't seem to save disk space compared to svn or git, if you count the metadata (stored in /var/db/portsnap by default) and you do an apples-to-apples comparison of svn or git without history and ignoring possible ZFS compression. That is, you use "svn export" or git "clone --depth 1", you see this disk usage: 342M svnexport 426M git 477M portsnap * Portsnap also doesn't work offline which git does. With git, you can also easily add the history by running "git pull --unshallow" * This migration away from portsnap fits well with the planned migration to git. * Also based on the patches we've seen in Bugzilla for some time, usage of portsnap causes folks to too easily accidentally submit patches to Bugzilla which don't apply easily. * Since portsnap doesn't support quarterly branches, it often causes users to build on the wrong branch or end up with mismatched packages. That is, they install packages from quarterly via pkg, then want to customize so run portsnap and build from head, which can cause problems, as we often see. Even when this doesn't happen, it adds to troubleshooting to verify that it didn't. We are aware people have gotten used to portsnap, but believe: * People should be able to easily use svnlite in base or git from pkgs. (Very few people seem to actually use WITHOUT_SVNLITE). * There is also the possibility of falling back to fetching a tar or zip from https://cgit-beta.freebsd.org/ports/ although this does make updating harder. How it will be done, in order: * Update poudriere to use svn by default. This is already done: https://github.com/freebsd/poudriere/pull/764 https://github.com/freebsd/poudriere/commit/bd68f30654e2a8e965fbdc09aad238c8bf5cdc10 * Update docs not to mention portsnap. This is already in progress: https://reviews.freebsd.org/D25800 https://reviews.freebsd.org/D25801 https://reviews.freebsd.org/D25803 https://reviews.freebsd.org/D25805 https://reviews.freebsd.org/D25808 https://svnweb.freebsd.org/changeset/base/363798 Many thanks to the folks who have worked and are working on this! * Make WITHOUT_PORTSNAP default in base. Currently not certain when this will happen. May not happen before 13.0, but hopefully it will. * Eventually, portsnap servers will see low enough usage they can be disabled. We welcome any constructive feedback. All input would be heard, and if the plans need to be amended, we will come back to you with the amended plan in a couple of weeks. This process will take some time and hopefully won't be too disruptive to anyone's usual workflow. Steve (with portmgr@ hat)