From owner-freebsd-ports@freebsd.org Sun Jan 24 23:24:09 2021 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 154A44DF515 for ; Sun, 24 Jan 2021 23:24:09 +0000 (UTC) (envelope-from rcarter@pinyon.org) Received: from h2.pinyon.org (h2.pinyon.org [65.101.20.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4DP8Fz6dGBz4lPr for ; Sun, 24 Jan 2021 23:24:07 +0000 (UTC) (envelope-from rcarter@pinyon.org) Received: from [10.0.10.15] (unknown [10.0.10.15]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by h2.pinyon.org (Postfix) with ESMTPSA id 207941A4A8; Sun, 24 Jan 2021 16:24:06 -0700 (MST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pinyon.org; s=dkim; t=1611530646; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ixkQi6iB0JNKSHVIgQ6aI5jRwHRutLPvBdBjK5kZw98=; b=krwZ2JvbZ8nI9rdzQKBI2wRduyG449zh3QjniPOifu6OuziHK3zXTbE38wE/G4uPCOGOFg 0ilGJu17qXE3IAhbpk8U0YpfFD+Agnedrn6R0G99M6ORvqQMvYyVX77uzYqS1t0qnM75ge xzSW4dSVnATs8KPlypjzCVMhhnNa39E= Subject: Re: poudriere merging multiple ports trees To: Guido Falsi , FreeBSD Ports ML References: <3ea16730-84a1-52ce-2251-bdd808fe5c52@pinyon.org> <4990d009-1962-62c2-3f4e-4f62fd03e26d@madpilot.net> From: "Russell L. Carter" Message-ID: Date: Sun, 24 Jan 2021 16:24:05 -0700 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:78.0) Gecko/20100101 Firefox/78.0 Thunderbird/78.6.1 MIME-Version: 1.0 In-Reply-To: <4990d009-1962-62c2-3f4e-4f62fd03e26d@madpilot.net> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-3.02 X-Rspamd-Server: h2 X-Rspamd-Queue-Id: 4DP8Fz6dGBz4lPr X-Spamd-Bar: --- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=pinyon.org header.s=dkim header.b=krwZ2Jvb; dmarc=none; spf=pass (mx1.freebsd.org: domain of rcarter@pinyon.org designates 65.101.20.170 as permitted sender) smtp.mailfrom=rcarter@pinyon.org X-Spamd-Result: default: False [-3.50 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[pinyon.org:s=dkim]; MID_RHS_MATCH_FROM(0.00)[]; FROM_HAS_DN(0.00)[]; R_SPF_ALLOW(-0.20)[+mx]; NEURAL_HAM_LONG(-1.00)[-1.000]; MIME_GOOD(-0.10)[text/plain]; DMARC_NA(0.00)[pinyon.org]; NEURAL_HAM_MEDIUM(-1.00)[-1.000]; SPAMHAUS_ZRD(0.00)[65.101.20.170:from:127.0.2.255]; TO_MATCH_ENVRCPT_SOME(0.00)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[pinyon.org:+]; RCPT_COUNT_TWO(0.00)[2]; NEURAL_HAM_SHORT(-1.00)[-1.000]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_DBL_DONT_QUERY_IPS(0.00)[65.101.20.170:from]; ASN(0.00)[asn:209, ipnet:65.101.0.0/18, country:US]; RCVD_TLS_ALL(0.00)[]; MAILMAN_DEST(0.00)[freebsd-ports]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 24 Jan 2021 23:24:09 -0000 On 1/24/21 2:23 PM, Guido Falsi wrote: > On 24/01/21 20:35, Russell L. Carter wrote: >> Greetings, I am completely ignorant here and am looking for up to >> date advice on how to get poudriere to build and make available >> package sets from multiple ports trees. I see there is a port >> "portshaker" that seems to do much of what I want. >> >> I can think of possible alternatives: >> >> I can reasonably expect to have my local ports not conflict with >> already existing ports (could be a common prefix in the name). >> Since I'm using git, I should be able to maintain my own branch >> which layers my own ports over upstream and git pull, merge from >> upstream. >> >> or >> >> I can duplicate the structure and metadata of the existing ports >> tree and add my own ports and leaves in the tree. Still have to >> maintain unique names. This seems to be what portshaker does? I >> am guessing that gets me a single package repo. >> >> or >> >> Have two ports trees and generate two package repos, but then >> dependencies would be redundantly built, I guess. >> >> What do the professionals do here? > > I've been using portshaker for this (ports-mgmt/portshaker) for this > for a long time. > > But when the ports tree will be migrated to git in the near future I > plan to stop using portshakern and use a git repository forked from > the main one (and syncronized to it) with feature branches for any > change and some "build" branches which I checkout in poudriere and to > which I merge the feature branches as needed. > > Git allows for such a workflow and that should also be quite less > error prone. > > BTW I noticed poudriere performs shallow clones for git repos, so it > should not use up a lot of disk space. > Yes, it seems obvious to me to use git for maintaining the feature branches containing my ports, and as you point out it makes it easy to maintain multiple feature branches containing different contents. Keeping the names disjoint will prevent messy conflicts. I am by no means a git expert and I already do this all the time for other projects. Many thanks, Russell