From owner-freebsd-ports@freebsd.org Sun Feb 16 04:43:52 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 2143A2543AA for ; Sun, 16 Feb 2020 04:43:52 +0000 (UTC) (envelope-from troubledaemon@gmail.com) Received: from mail-qk1-x734.google.com (mail-qk1-x734.google.com [IPv6:2607:f8b0:4864:20::734]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "smtp.gmail.com", Issuer "GTS CA 1O1" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 48Kvdg2Krlz4Zwb for ; Sun, 16 Feb 2020 04:43:50 +0000 (UTC) (envelope-from troubledaemon@gmail.com) Received: by mail-qk1-x734.google.com with SMTP id b7so13196080qkl.7 for ; Sat, 15 Feb 2020 20:43:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=IucJVeYdTfrHIyzI/YsBnHLmcJunl0InwNnUH7+rzOM=; b=quRnzNmM8AGGhJBn/Sy2OMaxXRCQQPJg799s43Y72eN6Q/0zILF7AvB5A0xvso6h3k /EpOM/sDUzDuRYJceZagB2pSBXd17bm5M6cYrT4UZRMN9B3j2xs65n3GMXHwuisv36vv 3m346cbB/HT1IBEPaM55tskoxf7WkMTrtm1CYF7M8zXKsBGoQpLZ6uScMRU6erifWS2k U3GwpjzosUpkdKpJwEt5Xu5DFe4Db249AoRHj9EYaEjnTMgSpWgx5gz1CJVNWE49Bqar GC1ZXKmaL1OjAKsktBLFrTyNYqYEvNAd2ojm7OVXcuvOpW2qA08UQnv/9qmD1tyuwD1Y kvDg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IucJVeYdTfrHIyzI/YsBnHLmcJunl0InwNnUH7+rzOM=; b=U2stEZXA5cDF8ZQQo6pn8jPKS+P5ebTvRM/aRSaQ4HDW32UQwbSxBK1Eb3Xj0YsZUz 0GQchy+5FwXKBbiPdi+NX/6whw7SE8K5U6T247hLF7OyDkc+O+vcumF64v1JD1fbKeiN 5oUf57XPziJN6d9ZSllhRct6m0ShkGpmVZkZNTvxH7QoRsgZNA8GAkAN1Z8vCr+3zPAo BH4GKWqZ0V1OVg9X5Ef2075pEJ8CGYZZ+FsrPbyQGlbGnJaTJnNrpbFdd+39c8+/x5ay 6RhQrDjiRDIlTMM8VCXpSTKHOvWGeRJdPQWlbxTlEM7jm6GisvnpypsNkKo/Uz5TlKme +eqg== X-Gm-Message-State: APjAAAWscQ79J59JzL9dfYxH+Fv2jOlbMXtgv4jH/JlbHZiX3StssSWb udNRMZuPJqUXp4WeqTL+WokKdcPZNqR0sBMBRZw= X-Google-Smtp-Source: APXvYqyl8ebreAEWrxo3OUnWiqed1GuTudfn8lnykvnZE32CuNPFklmDgH3FxKyKw3iFpVoHmHYUjXI9ruR2pKxcfVU= X-Received: by 2002:a37:6717:: with SMTP id b23mr9534837qkc.353.1581828230045; Sat, 15 Feb 2020 20:43:50 -0800 (PST) MIME-Version: 1.0 References: <3743CEAE-BCC9-479E-8367-F3DA0E30496E@kreme.com> <4D118F32-E38F-4860-BBE8-4D9F259BF653@kreme.com> In-Reply-To: <4D118F32-E38F-4860-BBE8-4D9F259BF653@kreme.com> From: Dan McGrath Date: Sat, 15 Feb 2020 23:43:38 -0500 Message-ID: Subject: Re: Starting with poudriere To: "@lbutlr" Cc: FreeBSD X-Rspamd-Queue-Id: 48Kvdg2Krlz4Zwb X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org; dkim=pass header.d=gmail.com header.s=20161025 header.b=quRnzNmM; dmarc=pass (policy=none) header.from=gmail.com; spf=pass (mx1.freebsd.org: domain of troubledaemon@gmail.com designates 2607:f8b0:4864:20::734 as permitted sender) smtp.mailfrom=troubledaemon@gmail.com X-Spamd-Result: default: False [-2.70 / 15.00]; R_SPF_ALLOW(-0.20)[+ip6:2607:f8b0:4000::/36]; FREEMAIL_FROM(0.00)[gmail.com]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[gmail.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[gmail.com,none]; FORGED_SENDER(0.30)[danmcgrathca@gmail.com,troubledaemon@gmail.com]; IP_SCORE(0.00)[ip: (-9.18), ipnet: 2607:f8b0::/32(-1.89), asn: 15169(-1.68), country: US(-0.05)]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEMAIL_ENVFROM(0.00)[gmail.com]; ASN(0.00)[asn:15169, ipnet:2607:f8b0::/32, country:US]; TAGGED_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[gmail.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-1.00)[-1.000,0]; R_DKIM_ALLOW(-0.20)[gmail.com:s=20161025]; FROM_NEQ_ENVFROM(0.00)[danmcgrathca@gmail.com,troubledaemon@gmail.com]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000,0]; MIME_GOOD(-0.10)[multipart/alternative,text/plain]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[4.3.7.0.0.0.0.0.0.0.0.0.0.0.0.0.0.2.0.0.4.6.8.4.0.b.8.f.7.0.6.2.list.dnswl.org : 127.0.5.0]; RCVD_COUNT_TWO(0.00)[2]; RCVD_TLS_ALL(0.00)[] Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.29 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, 16 Feb 2020 04:43:52 -0000 Hi, On Sat, Feb 15, 2020 at 11:03 PM @lbutlr wrote: > Let=E2=80=99s say I want to build and install a single port via poudrier.= For the > same of argument some port that has configuration options I want to chang= e. > Probably not ideal since you generally want to disable the FreeBSD repository, and use only your poudriere repo, instead. You would need to build everything you intend to install in the jail, however. While I believe that you can enable multiple repositories (FreeBSD's, and your own poudriere one), I am not sure about repo priorities, or how you would deal with conflicts with build options that pull in common ports. It is something I have been meaning to look into, sorry! Perhaps someone else here can give some advice? > I have the ports tree setup, have my jail setup, and I want to build it. > You would run "poudriere bulk", then sit back sipping coffee while it churns through all of the packages. > And then I want to deploy it to the target machine once it=E2=80=99s buil= t. > I personally make a web server on the jail to serve up the path to the packages that poudriere built, generally available under: /usr/local/poudriere/data/packages > Or I want to deploy to to the local machine. > I suppose you could "bind mount" (see: man nullfs) the path into the jail, or just specify the file path as a URI to the poudriere.conf pkg config. > Let=E2=80=99s say, for fun, it=E2=80=99s something like ImageMafick that = has a lot that > goes with it. > Poudriere takes care of the dependencies. For example, if the _only_ thing that you want in your jail is ImageMagick, as if you literally boot strapped a blank jail, then ran "pkg install ImageMagick", then you would only need to built that, and pkg, in poudriere. Your build set file would probably look like this: ports-mgmt/pkg graphics/ImageMagick7-nox11 I would have to actually double check if pkg is even needed since I believe it may be implicitly depended on, in which case it would already be built, but I appear to have it specified in all of my sets anyway. > Am I writing a config file for this every port I want to build? You would create a file for all the leaf ports for the repository that you want to create for your machines to use. I generally will do something like install portmaster in a jail, then install all of the stuff I want, then use something like "portmaster -L" (requires /usr/ports to be available) to identify the root and leaf ports. Then I will place all of those files into the file I pass (via -f) to poudriere to build. Poudriere will take care of all the dependencies, and will leave you with a repo that has exactly everything you need to install. Anyway, hope this maybe helps a bit? Since flavours have came out, I have been slowly trying to avoid using custom repos, and try migrate things to stock upstream packages. While it is fun to tinker with, the amount of time I have wasted over the years doing buildworld and building ports by hand has made me start to look at more practical approaches, such as pkg's and freebsd-update. Unless you have trust issues with upstream binaries, or require unusual build options, I think it may not be worth using poudriere, and perhaps better to convince upstream to add flavours? Just a thought! Cheers, Dan McGrath