From owner-freebsd-ports@freebsd.org Fri Jun 23 08:38:32 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 5D465D9F6F2 for ; Fri, 23 Jun 2017 08:38:32 +0000 (UTC) (envelope-from vlad-fbsd@acheronmedia.com) Received: from mx.irealone.hr (xoth.irealone.hr [136.243.79.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 18D947CE46 for ; Fri, 23 Jun 2017 08:38:31 +0000 (UTC) (envelope-from vlad-fbsd@acheronmedia.com) Received: by mx.irealone.hr (Postfix, from userid 58) id 6F3264586; Fri, 23 Jun 2017 10:38:27 +0200 (CEST) X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on postfix.xoth.irealone.hr X-Spam-Level: X-Spam-Status: No, score=-101.9 required=5.0 tests=ALL_TRUSTED,BAYES_00, LOCAL_WL_002 autolearn=ham autolearn_force=no version=3.4.1 Received: from mail.irealone.com (unknown [10.0.0.10]) by mx.irealone.hr (Postfix) with ESMTP id EE9574582 for ; Fri, 23 Jun 2017 10:38:26 +0200 (CEST) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Date: Fri, 23 Jun 2017 10:38:26 +0200 From: "Vlad K." To: freebsd-ports@freebsd.org Subject: Re: [RFC] Why FreeBSD ports should have branches by OS version Organization: Acheron Media In-Reply-To: <1498206372.2506.1.camel@gmail.com> References: <20170622121856.haikphjpvr6ofxn3@ivaldir.net> <20170622141644.yadxdubynuhzygcy@ivaldir.net> <1498157001.2235.1.camel@gmail.com> <1498206372.2506.1.camel@gmail.com> Message-ID: <00d078be50a83b6e18ef20bfe76e30ca@acheronmedia.hr> X-Sender: vlad-fbsd@acheronmedia.com User-Agent: Roundcube Webmail/1.2.5 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: Fri, 23 Jun 2017 08:38:32 -0000 On 2017-06-23 10:26, demelier.david@gmail.com wrote: > > Release branches won't have many maintenance except individual bug > fixes when security advisories are found. No backport, no updates. Nothing prevents the maintainers from doing exactly that right now. But you see, there are two kinds of ports in the tree: 1) ports where upstream maintains a concept of LTS 2) ports that mix bug, security fixes and new features in even point.point releases For some (all?) major production software like Apache, nginx, PHP, PostgreSQL, MySQL (I think?), Postfix, Dovecot2, etc... #1 applies. So for serious production servers this should be easy to maintain as the upstream is doing that in the first place. The problem is then with ports of type #2. And there's lots of them. Gentoo portage can easily maintain "stable" ports because portage doesn't have a single Makefile, it has multiple .ebuild files so multiple versions are available under ONE port name, and bumping the version while keeping previous ones available is literally just a matter of making a copy of the latest .ebuild and fixing the version in it like we do with PORTVERSION. On FreeBSD that's impossible and often ports are separated and version baked into the port name. Like www/node from the original post of this thread. But again, that's all doable without having to introduce new infrastructure. The ports tree as is can be maintained like this and quarterly repos would NOT be required. All it's needed is for maintainers to keep a stable version and a latest version. There's already plenty of ports done like that, otoh postfix and postfix-current, nginx and nginx-devel, etc... Because the BIGGEST problem in maintaining separate "stable" or LTS branches is BACKPORTING fixes for ports in the #2 category, ie. those that mix new features with fixes, so you have to CHERRY PICK only the fix and BACKPORT it to your "stable" branch. And that's even more work often introducing NEW bugs. BTW, the problem of the original post could've been avoided if the user only read UPDATING which clearly stated that www/node becomes 7 and previous node (6) becomes www/node6. (20161207) entry. -- Vlad K.