Summary: | [NEW PORT] sysutils/reproduce: AppJail image builder | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | Ports & Packages | Reporter: | Jesús Daniel Colmenares Oviedo <DtxdF> | ||||||||||||||
Component: | Individual Port(s) | Assignee: | Joel Bodenmann <jbo> | ||||||||||||||
Status: | Closed FIXED | ||||||||||||||||
Severity: | Affects Only Me | CC: | diizzy, jbo | ||||||||||||||
Priority: | --- | ||||||||||||||||
Version: | Latest | ||||||||||||||||
Hardware: | Any | ||||||||||||||||
OS: | Any | ||||||||||||||||
URL: | https://github.com/DtxdF/reproduce | ||||||||||||||||
Attachments: |
|
Description
Jesús Daniel Colmenares Oviedo
2023-12-03 11:22:05 UTC
Created attachment 246844 [details]
reproduce-0.2.1.patch
Description:
* Update Reproduce to 0.2.1.
* Update COMMENT.
QA:
* portlint: OK (looks fine.)
* testport: OK (poudriere: 14.0-RELEASE, amd64, DOCS APPJAIL_STABLE tested)
Created attachment 246943 [details]
reproduce-0.2.1.patch
Description:
* Add reproduce to sysutils/Makefile.
QA:
* portlint: OK (looks fine.)
* testport: OK (poudriere: 14.0-RELEASE, amd64, DOCS APPJAIL_STABLE tested)
Hi, Could you please change the option to choose between stable & development to be a flavor instead? (In reply to Joel Bodenmann from comment #3) Hi Joel, No problem, give me a moment and I will make that change. Created attachment 246960 [details]
reproduce-0.2.1.patch
Description:
* Add FLAVORS.
QA:
* portlint: OK (looks fine.)
* testport: OK (poudriere: 14.0-RELEASE, amd64, DOCS tested)
(In reply to Joel Bodenmann from comment #3) Since -devel versions mean that a port is synchronized with upstream and in this case the -devel flavor does not represent that, should the -devel flavor be renamed or is it ok to use it as is? What I mean is that in this case, at least for this port, -devel represents that it uses appjail-devel, but it does not mean that it is synchronized with upstream. Created attachment 247079 [details]
reproduce-0.3.0.patch
Description:
* Update Reproduce to 0.3.0.
QA:
* portlint: OK (looks fine.)
* testport: OK (poudriere: 14.0-RELEASE, amd64, DOCS tested)
We actually use -devel for both use cases so I think that's fine, ports-mgmt/poudriere-devel for example is for example very rarely bleeding edge despite being a -devel port. (In reply to Daniel Engberg from comment #8) Thanks Daniel, this clarifies my question. I had another look at this and discussed with with a few more developers. The "problem" we face here is that this is not really an option - hence I asked you previously to convert it to a flavor. However, a flavor is also not really suitable here because now we create two binary packages which are essentially the same - the only difference is a runtime dependency. While the ports framework does currently not provide a more suitable mechanism to handle this, my recommendation would be to simply remove the runtime dependency to sysutils/appjail entirely and instead placing a pkg-message instructing the user to install either sysutils/appjail or sysutils/appjail-devel (make sure the message only shows up during install, not update). What is your opinion on this? (In reply to Joel Bodenmann from comment #10) Hi Joel, No problem, I did something similar with the VHS port and Reproduce already checks if AppJail is installed or not, and if not, it shows the commands to install it [1]. Of course, I will add pkg-message. [1] https://github.com/DtxdF/reproduce/blob/main/reproduce.sh#L115 Created attachment 247175 [details]
reproduce-0.3.0.patch
Description:
* Remove FLAVORS.
* Remove *_RUN_DEPENDS.
* Remove *_CONFLICTS_INSTALL.
* Add pkg-message.
QA:
* portlint: OK (looks fine.)
* testport: OK (poudriere: 14.0-RELEASE, amd64, DOCS tested)
(In reply to Jesús Daniel Colmenares Oviedo from comment #12) ``` # pkg info -D reproduce reproduce-0.3.0: On install: sysutils/reproduce needs sysutils/appjail or sysutils/appjail-devel to work properly, please install one of them. # appjail-reproduce -b hello [ error ] Cannot find appjail, please install it using 'pkg-install(8)': [ error ] [ error ] # pkg install -y appjail # or [ error ] # pkg install -y appjail-devel ``` A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=7c8c130d28262a4ccecb146b3fe31c1dfe2e88da commit 7c8c130d28262a4ccecb146b3fe31c1dfe2e88da Author: Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org> AuthorDate: 2023-12-20 19:32:53 +0000 Commit: Joel Bodenmann <jbo@FreeBSD.org> CommitDate: 2023-12-28 11:33:15 +0000 sysutils/reproduce: New port AppJail Reproduce is a small open source BSD-3 licensed tool for automating the creation of images using Makejails, scripts and simple text files, providing a common workflow and simplifying many things. PR: 275500 Approved by: tcberner (mentor) Differential Revision: https://reviews.freebsd.org/D43151 sysutils/Makefile | 1 + sysutils/reproduce/Makefile (new) | 27 +++++++++++++++++++++++++++ sysutils/reproduce/distinfo (new) | 3 +++ sysutils/reproduce/pkg-descr (new) | 4 ++++ sysutils/reproduce/pkg-message (new) | 8 ++++++++ 5 files changed, 43 insertions(+) Committed - Thanks! |