* [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as host package
2021-05-03 2:33 [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package Christian Stewart
@ 2021-05-03 2:33 ` Christian Stewart
2021-05-04 20:20 ` Yann E. MORIN
2021-05-03 2:33 ` [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package Christian Stewart
2021-05-04 20:18 ` [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package Yann E. MORIN
2 siblings, 1 reply; 11+ messages in thread
From: Christian Stewart @ 2021-05-03 2:33 UTC (permalink / raw)
To: buildroot
Signed-off-by: Christian Stewart <christian@paral.in>
---
package/Config.in.host | 1 +
package/fuse-overlayfs/Config.in.host | 7 +++++++
package/fuse-overlayfs/fuse-overlayfs.mk | 4 ++++
3 files changed, 12 insertions(+)
create mode 100644 package/fuse-overlayfs/Config.in.host
diff --git a/package/Config.in.host b/package/Config.in.host
index ba6a68c728..0dbf63f2c8 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -27,6 +27,7 @@ menu "Host utilities"
source "package/f2fs-tools/Config.in.host"
source "package/faketime/Config.in.host"
source "package/fatcat/Config.in.host"
+ source "package/fuse-overlayfs/Config.in.host"
source "package/fwup/Config.in.host"
source "package/genext2fs/Config.in.host"
source "package/genimage/Config.in.host"
diff --git a/package/fuse-overlayfs/Config.in.host b/package/fuse-overlayfs/Config.in.host
new file mode 100644
index 0000000000..cf459a4a2a
--- /dev/null
+++ b/package/fuse-overlayfs/Config.in.host
@@ -0,0 +1,7 @@
+config BR2_PACKAGE_HOST_FUSE_OVERLAYFS
+ bool "host fuse-overlayfs"
+ help
+ FUSE-overlayfs is an implementation of overlay+shiftfs in
+ FUSE, intended to be used for rootless containers.
+
+ http://github.com/containers/fuse-overlayfs
\ No newline at end of file
diff --git a/package/fuse-overlayfs/fuse-overlayfs.mk b/package/fuse-overlayfs/fuse-overlayfs.mk
index 707cacce03..36cbfc91fd 100644
--- a/package/fuse-overlayfs/fuse-overlayfs.mk
+++ b/package/fuse-overlayfs/fuse-overlayfs.mk
@@ -12,4 +12,8 @@ FUSE_OVERLAYFS_LICENSE_FILES = COPYING
FUSE_OVERLAYFS_AUTORECONF = YES
FUSE_OVERLAYFS_DEPENDENCIES = libfuse3 host-pkgconf
+HOST_FUSE_OVERLAYFS_AUTORECONF = YES
+HOST_FUSE_OVERLAYFS_DEPENDENCIES = host-libfuse3 host-pkgconf
+
$(eval $(autotools-package))
+$(eval $(host-autotools-package))
--
2.31.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as host package
2021-05-03 2:33 ` [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as " Christian Stewart
@ 2021-05-04 20:20 ` Yann E. MORIN
2021-05-04 20:25 ` Christian Stewart
0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2021-05-04 20:20 UTC (permalink / raw)
To: buildroot
Christian, All,
On 2021-05-02 19:33 -0700, Christian Stewart spake thusly:
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
> package/Config.in.host | 1 +
> package/fuse-overlayfs/Config.in.host | 7 +++++++
> package/fuse-overlayfs/fuse-overlayfs.mk | 4 ++++
> 3 files changed, 12 insertions(+)
> create mode 100644 package/fuse-overlayfs/Config.in.host
>
> diff --git a/package/Config.in.host b/package/Config.in.host
> index ba6a68c728..0dbf63f2c8 100644
> --- a/package/Config.in.host
> +++ b/package/Config.in.host
> @@ -27,6 +27,7 @@ menu "Host utilities"
> source "package/f2fs-tools/Config.in.host"
> source "package/faketime/Config.in.host"
> source "package/fatcat/Config.in.host"
> + source "package/fuse-overlayfs/Config.in.host"
> source "package/fwup/Config.in.host"
> source "package/genext2fs/Config.in.host"
> source "package/genimage/Config.in.host"
> diff --git a/package/fuse-overlayfs/Config.in.host b/package/fuse-overlayfs/Config.in.host
> new file mode 100644
> index 0000000000..cf459a4a2a
> --- /dev/null
> +++ b/package/fuse-overlayfs/Config.in.host
> @@ -0,0 +1,7 @@
> +config BR2_PACKAGE_HOST_FUSE_OVERLAYFS
> + bool "host fuse-overlayfs"
> + help
> + FUSE-overlayfs is an implementation of overlay+shiftfs in
> + FUSE, intended to be used for rootless containers.
> +
> + http://github.com/containers/fuse-overlayfs
> \ No newline at end of file
Be carefull that your editor properly terminates files with a \n
Vim is a good editor that generates properly formatted text files! ;-]
Regards,
Yann E. MORIN.
> diff --git a/package/fuse-overlayfs/fuse-overlayfs.mk b/package/fuse-overlayfs/fuse-overlayfs.mk
> index 707cacce03..36cbfc91fd 100644
> --- a/package/fuse-overlayfs/fuse-overlayfs.mk
> +++ b/package/fuse-overlayfs/fuse-overlayfs.mk
> @@ -12,4 +12,8 @@ FUSE_OVERLAYFS_LICENSE_FILES = COPYING
> FUSE_OVERLAYFS_AUTORECONF = YES
> FUSE_OVERLAYFS_DEPENDENCIES = libfuse3 host-pkgconf
>
> +HOST_FUSE_OVERLAYFS_AUTORECONF = YES
> +HOST_FUSE_OVERLAYFS_DEPENDENCIES = host-libfuse3 host-pkgconf
> +
> $(eval $(autotools-package))
> +$(eval $(host-autotools-package))
> --
> 2.31.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as host package
2021-05-04 20:20 ` Yann E. MORIN
@ 2021-05-04 20:25 ` Christian Stewart
0 siblings, 0 replies; 11+ messages in thread
From: Christian Stewart @ 2021-05-04 20:25 UTC (permalink / raw)
To: buildroot
Hi Yann,
On Tue, May 4, 2021 at 1:21 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote:
> Be carefull that your editor properly terminates files with a \n
>
> Vim is a good editor that generates properly formatted text files! ;-]
>
> Regards,
> Yann E. MORIN.
I regret to inform you that I switched over to emacs somewhere around 2016.
... but using vim bindings with "evil" mode and spacemacs and
Buildroot/Gentoo + exwm :)
Best regards,
Christian
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-03 2:33 [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package Christian Stewart
2021-05-03 2:33 ` [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as " Christian Stewart
@ 2021-05-03 2:33 ` Christian Stewart
2021-05-03 2:45 ` Christian Stewart
2021-05-04 20:18 ` [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package Yann E. MORIN
2 siblings, 1 reply; 11+ messages in thread
From: Christian Stewart @ 2021-05-03 2:33 UTC (permalink / raw)
To: buildroot
Img is a standalone, daemon-less, unprivileged Dockerfile and OCI compatible
container image builder. It uses the moby-buildkit solver internally. The
commands/UX mirror the Docker CLI for workflow compatibility.
Using the genuinetools- prefix due to the generic nature of the "img" name.
Adds both host and target variants. fuse-overlayfs can be used as an
unprivileged and rootless overlay filesystem backend.
https://github.com/genuinetools/img
Signed-off-by: Christian Stewart <christian@paral.in>
---
package/Config.in | 1 +
package/Config.in.host | 1 +
package/genuinetools-img/Config.in | 23 ++++++++++++++++
package/genuinetools-img/Config.in.host | 9 +++++++
.../genuinetools-img/genuinetools-img.hash | 3 +++
package/genuinetools-img/genuinetools-img.mk | 27 +++++++++++++++++++
6 files changed, 64 insertions(+)
create mode 100644 package/genuinetools-img/Config.in
create mode 100644 package/genuinetools-img/Config.in.host
create mode 100644 package/genuinetools-img/genuinetools-img.hash
create mode 100644 package/genuinetools-img/genuinetools-img.mk
diff --git a/package/Config.in b/package/Config.in
index 7ac10b9d42..f352f6b168 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -2444,6 +2444,7 @@ menu "System tools"
source "package/emlog/Config.in"
source "package/ftop/Config.in"
source "package/getent/Config.in"
+ source "package/genuinetools-img/Config.in"
source "package/gkrellm/Config.in"
source "package/htop/Config.in"
source "package/ibm-sw-tpm2/Config.in"
diff --git a/package/Config.in.host b/package/Config.in.host
index 0dbf63f2c8..391742856d 100644
--- a/package/Config.in.host
+++ b/package/Config.in.host
@@ -32,6 +32,7 @@ menu "Host utilities"
source "package/genext2fs/Config.in.host"
source "package/genimage/Config.in.host"
source "package/genpart/Config.in.host"
+ source "package/genuinetools-img/Config.in.host"
source "package/gnupg/Config.in.host"
source "package/go/Config.in.host"
source "package/go-bootstrap/Config.in.host"
diff --git a/package/genuinetools-img/Config.in b/package/genuinetools-img/Config.in
new file mode 100644
index 0000000000..eb4992db07
--- /dev/null
+++ b/package/genuinetools-img/Config.in
@@ -0,0 +1,23 @@
+config BR2_PACKAGE_GENUINETOOLS_IMG
+ bool "genuinetools-img"
+ depends on BR2_USE_MMU # fuse-overlayfs libfuse3
+ depends on !BR2_STATIC_LIBS # fuse-overlayfs libfuse3
+ depends on BR2_TOOLCHAIN_HAS_THREADS # fuse-overlayfs libfuse3
+ depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15 # fuse-overlayfs
+ depends on BR2_PACKAGE_HOST_GO_TARGET_ARCH_SUPPORTS
+ depends on BR2_PACKAGE_HOST_GO_TARGET_CGO_LINKING_SUPPORTS
+ depends on BR2_TOOLCHAIN_HAS_THREADS
+ depends on !BR2_TOOLCHAIN_USES_UCLIBC
+ select BR2_PACKAGE_CGROUPFS_MOUNT if !BR2_PACKAGE_SYSTEMD # runtime dependency
+ select BR2_PACKAGE_FUSE_OVERLAYFS # runtime dependency
+ select BR2_PACKAGE_LIBFUSE3 # fuse-overlayfs
+ help
+ Img is a standalone, daemon-less, unprivileged Dockerfile
+ and OCI compatible container image builder.
+
+ https://github.com/genuinetools/img
+
+comment "genuinetools-img needs a toolchain w/ threads, dynamic library, headers >= 3.15"
+ depends on BR2_USE_MMU
+ depends on !BR2_TOOLCHAIN_HAS_THREADS || BR2_STATIC_LIBS || \
+ !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15
diff --git a/package/genuinetools-img/Config.in.host b/package/genuinetools-img/Config.in.host
new file mode 100644
index 0000000000..bbef88acf6
--- /dev/null
+++ b/package/genuinetools-img/Config.in.host
@@ -0,0 +1,9 @@
+config BR2_PACKAGE_HOST_GENUINETOOLS_IMG
+ bool "host genuinetools-img"
+ depends on BR2_PACKAGE_HOST_GO_HOST_ARCH_SUPPORTS
+ select BR2_PACKAGE_HOST_FUSE_OVERLAYFS # runtime dependency
+ help
+ Img is a standalone, daemon-less, unprivileged Dockerfile
+ and OCI compatible container image builder.
+
+ https://github.com/genuinetools/img
diff --git a/package/genuinetools-img/genuinetools-img.hash b/package/genuinetools-img/genuinetools-img.hash
new file mode 100644
index 0000000000..097ad17d91
--- /dev/null
+++ b/package/genuinetools-img/genuinetools-img.hash
@@ -0,0 +1,3 @@
+# Locally calculated
+sha256 c6d805ab899db639fa08f0e33fe6673593be8336d288bb1cb4cb81a3229a916f genuinetools-img-0.5.11.tar.gz
+sha256 c696614021eafe355c7fb0af3e724fc7fa8729a0c10c27cbed2505bf30a853ce LICENSE
diff --git a/package/genuinetools-img/genuinetools-img.mk b/package/genuinetools-img/genuinetools-img.mk
new file mode 100644
index 0000000000..08330d1113
--- /dev/null
+++ b/package/genuinetools-img/genuinetools-img.mk
@@ -0,0 +1,27 @@
+################################################################################
+#
+# genuinetools-img
+#
+################################################################################
+
+GENUINETOOLS_IMG_VERSION = 0.5.11
+GENUINETOOLS_IMG_SITE = $(call github,genuinetools,img,v$(GENUINETOOLS_IMG_VERSION))
+
+GENUINETOOLS_IMG_LICENSE = MIT
+GENUINETOOLS_IMG_LICENSE_FILES = LICENSE
+
+GENUINETOOLS_IMG_DEPENDENCIES = host-pkgconf
+GENUINETOOLS_IMG_GOMOD = github.com/genuinetools/img
+
+GENUINETOOLS_IMG_TAGS = cgo noembed
+GENUINETOOLS_IMG_LDFLAGS = \
+ -X $(GENUINETOOLS_IMG_GOMOD)/version.VERSION="$(GENUINETOOLS_IMG_VERSION)"
+
+HOST_GENUINETOOLS_IMG_TAGS = $(GENUINETOOLS_IMG_TAGS)
+HOST_GENUINETOOLS_IMG_LDFLAGS = $(GENUINETOOLS_IMG_LDFLAGS)
+
+HOST_GENUINETOOLS_IMG_BIN_NAME = genuinetools-img
+HOST_GENUINETOOLS_IMG_INSTALL_BINS = $(HOST_GENUINETOOLS_IMG_BIN_NAME)
+
+$(eval $(golang-package))
+$(eval $(host-golang-package))
--
2.31.1
^ permalink raw reply related [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-03 2:33 ` [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package Christian Stewart
@ 2021-05-03 2:45 ` Christian Stewart
2021-05-04 20:31 ` Yann E. MORIN
0 siblings, 1 reply; 11+ messages in thread
From: Christian Stewart @ 2021-05-03 2:45 UTC (permalink / raw)
To: buildroot
All,
On Sun, May 2, 2021 at 7:33 PM Christian Stewart <christian@paral.in> wrote:
>
> Img is a standalone, daemon-less, unprivileged Dockerfile and OCI compatible
> container image builder. It uses the moby-buildkit solver internally. The
> commands/UX mirror the Docker CLI for workflow compatibility.
>
> Using the genuinetools- prefix due to the generic nature of the "img" name.
>
> Adds both host and target variants. fuse-overlayfs can be used as an
> unprivileged and rootless overlay filesystem backend.
>
> https://github.com/genuinetools/img
The intent here is to eventually add some kind of "download" target to
Buildroot for downloading & verifying container images as .tar.gz
files from container registries using the genuinetools-img tool - it
can "pull" and "save" using an unprivileged cache directory.
I'm not sure the best way to do this / if there is any appetite for
adding a pkg helper for this, thoughts?
Best regards,
Christian Stewart
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-03 2:45 ` Christian Stewart
@ 2021-05-04 20:31 ` Yann E. MORIN
2021-05-04 22:03 ` Christian Stewart
0 siblings, 1 reply; 11+ messages in thread
From: Yann E. MORIN @ 2021-05-04 20:31 UTC (permalink / raw)
To: buildroot
Christian, All,
On 2021-05-02 19:45 -0700, Christian Stewart spake thusly:
> On Sun, May 2, 2021 at 7:33 PM Christian Stewart <christian@paral.in> wrote:
> >
> > Img is a standalone, daemon-less, unprivileged Dockerfile and OCI compatible
> > container image builder. It uses the moby-buildkit solver internally. The
> > commands/UX mirror the Docker CLI for workflow compatibility.
> >
> > Using the genuinetools- prefix due to the generic nature of the "img" name.
> >
> > Adds both host and target variants. fuse-overlayfs can be used as an
> > unprivileged and rootless overlay filesystem backend.
> >
> > https://github.com/genuinetools/img
>
> The intent here is to eventually add some kind of "download" target to
> Buildroot for downloading & verifying container images as .tar.gz
> files from container registries using the genuinetools-img tool - it
> can "pull" and "save" using an unprivileged cache directory.
>
> I'm not sure the best way to do this / if there is any appetite for
> adding a pkg helper for this, thoughts?
Im not usre I understood that, but basically one would write:
HELLO_WORLD_VERSION = 1.2.3
HELLO_WORLD_SOURCE = hello-world:1.2.3
HELLO_WORLD_SITE = dockerhub.com/u/hello
$(eval $(oci-image-package))
And that would download the hello-world:1.2.3 image from dockerhub and
install that as a OCI image in the target filesystem, so that at runtime
one could do (on the CLI, in an init script, in a systemd unit, etc...):
docker run hello-world:1.2.3 /bin/hello-world
Something like that?
Regards,
Yann E. MORIN.
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-04 20:31 ` Yann E. MORIN
@ 2021-05-04 22:03 ` Christian Stewart
2021-05-11 11:19 ` Peter Korsgaard
0 siblings, 1 reply; 11+ messages in thread
From: Christian Stewart @ 2021-05-04 22:03 UTC (permalink / raw)
To: buildroot
Hi Yann,
On Tue, May 4, 2021 at 1:31 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote
> Im not usre I understood that, but basically one would write:
>
> HELLO_WORLD_VERSION = 1.2.3
> HELLO_WORLD_SOURCE = hello-world:1.2.3
> HELLO_WORLD_SITE = dockerhub.com/u/hello
>
> $(eval $(oci-image-package))
>
> And that would download the hello-world:1.2.3 image from dockerhub and
> install that as a OCI image in the target filesystem, so that at runtime
> one could do (on the CLI, in an init script, in a systemd unit, etc...):
> docker run hello-world:1.2.3 /bin/hello-world
>
> Something like that?
Yes, the "download" step would use host "img pull" to download the OCI
image, and then "img save" to store it as a .tar.gz, (which we can
then hash as a downloaded tar.gz file).
The .tar.gz can be loaded into Docker with "docker load < the-image.tar.gz"
The image-package helper could just download the image + save it (to
images dir, optionally).
Best,
Christian
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-04 22:03 ` Christian Stewart
@ 2021-05-11 11:19 ` Peter Korsgaard
2021-05-11 19:33 ` Christian Stewart
0 siblings, 1 reply; 11+ messages in thread
From: Peter Korsgaard @ 2021-05-11 11:19 UTC (permalink / raw)
To: buildroot
>>>>> "Christian" == Christian Stewart <christian@paral.in> writes:
> Hi Yann,
> On Tue, May 4, 2021 at 1:31 PM Yann E. MORIN <yann.morin.1998@free.fr> wrote
>> Im not usre I understood that, but basically one would write:
>>
>> HELLO_WORLD_VERSION = 1.2.3
>> HELLO_WORLD_SOURCE = hello-world:1.2.3
>> HELLO_WORLD_SITE = dockerhub.com/u/hello
>>
>> $(eval $(oci-image-package))
>>
>> And that would download the hello-world:1.2.3 image from dockerhub and
>> install that as a OCI image in the target filesystem, so that at runtime
>> one could do (on the CLI, in an init script, in a systemd unit, etc...):
>> docker run hello-world:1.2.3 /bin/hello-world
>>
>> Something like that?
> Yes, the "download" step would use host "img pull" to download the OCI
> image, and then "img save" to store it as a .tar.gz, (which we can
> then hash as a downloaded tar.gz file).
> The .tar.gz can be loaded into Docker with "docker load < the-image.tar.gz"
> The image-package helper could just download the image + save it (to
> images dir, optionally).
So you would end up with a tar file for each container image in the
rootfs? Is that a desirable setup? Containers often share image layers,
so a single tar.gz of N containers is normally quite a bit smaller and
more efficient than N individual .tar.gz files.
What I do is basically just:
docker save -o docker.tar <container1> <container2> .. <containerN>
And then a single docker load at runtime.
--
Bye, Peter Korsgaard
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package
2021-05-11 11:19 ` Peter Korsgaard
@ 2021-05-11 19:33 ` Christian Stewart
0 siblings, 0 replies; 11+ messages in thread
From: Christian Stewart @ 2021-05-11 19:33 UTC (permalink / raw)
To: buildroot
Peter, all,
On Tue, May 11, 2021 at 4:19 AM Peter Korsgaard <peter@korsgaard.com> wrote:
>
> >>>>> "Christian" == Christian Stewart <christian@paral.in> writes:
> >> $(eval $(oci-image-package))
> > Yes, the "download" step would use host "img pull" to download the OCI
> > image, and then "img save" to store it as a .tar.gz, (which we can
> > then hash as a downloaded tar.gz file).
>
> > The .tar.gz can be loaded into Docker with "docker load < the-image.tar.gz"
>
> > The image-package helper could just download the image + save it (to
> > images dir, optionally).
>
> So you would end up with a tar file for each container image in the
> rootfs? Is that a desirable setup? Containers often share image layers,
> so a single tar.gz of N containers is normally quite a bit smaller and
> more efficient than N individual .tar.gz files.
This could be one approach, but it really comes down to adding an easy
way to request a "img pull" into buildroot cache (dl/ dir) w/ hashes
checking. This then followed by "img save" from the same host package
to store the .tar somewhere, as you've described.
> What I do is basically just:
> docker save -o docker.tar <container1> <container2> .. <containerN>
>
> And then a single docker load at runtime.
This works. For my SkiffOS project I'm planning to store these in a
separate partition and/or run a small Go program to generate the
docker/ state tree ahead of time on persistent media with the images
pre-loaded.
Best regards,
Christian Stewart
^ permalink raw reply [flat|nested] 11+ messages in thread
* [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package
2021-05-03 2:33 [Buildroot] [PATCH v1 1/3] package/libfuse3: allow building as a host package Christian Stewart
2021-05-03 2:33 ` [Buildroot] [PATCH v1 2/3] package/fuse-overlayfs: enable building as " Christian Stewart
2021-05-03 2:33 ` [Buildroot] [PATCH v1 3/3] package/genuinetools-img: new host and target package Christian Stewart
@ 2021-05-04 20:18 ` Yann E. MORIN
2 siblings, 0 replies; 11+ messages in thread
From: Yann E. MORIN @ 2021-05-04 20:18 UTC (permalink / raw)
To: buildroot
Christian, All,
On 2021-05-02 19:33 -0700, Christian Stewart spake thusly:
> Adds 1 patch to fix an install error when building as a host package.
>
> Patch was submitted upstream:
> https://github.com/libfuse/libfuse/pull/598
Upstream is basically rejecting this patch.
I have no idea what woiuld be the best course of action, but for our
short-sighted goal might be to just patch-out the installation of the
init script altogether. And maybe send a patch upstream with an option
to disable it altogether.
In the meantime, I've marked this series as chamnges requested (I'll
comment on the other patches, though).
Regards,
Yann E. MORIN.
> Signed-off-by: Christian Stewart <christian@paral.in>
> ---
> ...er-fix-sysconf-dir-for-init.d-script.patch | 51 +++++++++++++++++++
> package/libfuse3/libfuse3.mk | 7 +++
> 2 files changed, 58 insertions(+)
> create mode 100644 package/libfuse3/0001-install_helper-fix-sysconf-dir-for-init.d-script.patch
>
> diff --git a/package/libfuse3/0001-install_helper-fix-sysconf-dir-for-init.d-script.patch b/package/libfuse3/0001-install_helper-fix-sysconf-dir-for-init.d-script.patch
> new file mode 100644
> index 0000000000..4599c55e78
> --- /dev/null
> +++ b/package/libfuse3/0001-install_helper-fix-sysconf-dir-for-init.d-script.patch
> @@ -0,0 +1,51 @@
> +From cac00c154be5c8941d40b972bdcc0eb8bf209b93 Mon Sep 17 00:00:00 2001
> +From: Christian Stewart <christian@paral.in>
> +Date: Sun, 2 May 2021 19:04:50 -0700
> +Subject: [PATCH] install_helper: fix sysconf dir for init.d script
> +
> +Fixes the following build error in Buildroot as a host package:
> +
> +Running custom install script 'install_helper.sh /host/etc /host/bin /host/lib/udev/rules.d false
> ++ sysconfdir=/host/etc
> ++ bindir=/host/bin
> ++ udevrulesdir=/host/lib/udev/rules.d
> ++ useroot=false
> ++ '[' -z '' ']'
> ++ DESTDIR=
> ++ install -D -m 644 /build/host-libfuse3-3.10.3/util/fuse.conf /host/etc/fuse.conf
> ++ false
> ++ install -D -m 644 /build/host-libfuse3-3.10.3/util/udev.rules /host/lib/udev/rules.d/99-fuse3.rules
> ++ install -D -m 755 /build/host-libfuse3-3.10.3/util/init_script /etc/init.d/fuse3
> +install: cannot create regular file '/etc/init.d/fuse3': Permission denied
> +FAILED: install script 'install_helper.sh /host/etc /host/bin /host/lib/udev/rules.d false' exit code 1, stopped
> +FAILED: meson-install
> +
> +Signed-off-by: Christian Stewart <christian@paral.in>
> +---
> + util/install_helper.sh | 4 ++--
> + 1 file changed, 2 insertions(+), 2 deletions(-)
> +
> +diff --git a/util/install_helper.sh b/util/install_helper.sh
> +index cb649a7..f4a6163 100755
> +--- a/util/install_helper.sh
> ++++ b/util/install_helper.sh
> +@@ -40,14 +40,14 @@ install -D -m 644 "${MESON_SOURCE_ROOT}/util/udev.rules" \
> + "${DESTDIR}${udevrulesdir}/99-fuse3.rules"
> +
> + install -D -m 755 "${MESON_SOURCE_ROOT}/util/init_script" \
> +- "${DESTDIR}/etc/init.d/fuse3"
> ++ "${DESTDIR}${sysconfdir}/init.d/fuse3"
> +
> +
> + if test -x /usr/sbin/update-rc.d && test -z "${DESTDIR}"; then
> + /usr/sbin/update-rc.d fuse3 start 34 S . start 41 0 6 . || /bin/true
> + else
> + echo "== FURTHER ACTION REQUIRED =="
> +- echo "Make sure that your init system will start the ${DESTDIR}/etc/init.d/fuse3 init script"
> ++ echo "Make sure that your init system will start the ${DESTDIR}${sysconfdir}/init.d/fuse3 init script"
> + fi
> +
> +
> +--
> +2.31.1
> +
> diff --git a/package/libfuse3/libfuse3.mk b/package/libfuse3/libfuse3.mk
> index f805eda506..d4522fd063 100644
> --- a/package/libfuse3/libfuse3.mk
> +++ b/package/libfuse3/libfuse3.mk
> @@ -10,11 +10,17 @@ LIBFUSE3_LICENSE = LGPL-2.1
> LIBFUSE3_LICENSE_FILES = LICENSE
> LIBFUSE3_INSTALL_STAGING = YES
> LIBFUSE3_DEPENDENCIES = $(if $(BR2_PACKAGE_LIBICONV),libiconv)
> +
> LIBFUSE3_CONF_OPTS = \
> -Dexamples=false \
> -Dudevrulesdir=/lib/udev/rules.d \
> -Duseroot=false
>
> +HOST_LIBFUSE3_CONF_OPTS = \
> + -Dexamples=false \
> + -Dudevrulesdir=$(HOST_DIR)/lib/udev/rules.d \
> + -Duseroot=false
> +
> define LIBFUSE3_DEVICES
> /dev/fuse c 666 0 0 10 229 0 0 -
> endef
> @@ -28,3 +34,4 @@ define LIBFUSE3_LINUX_CONFIG_FIXUPS
> endef
>
> $(eval $(meson-package))
> +$(eval $(host-meson-package))
> --
> 2.31.1
>
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
^ permalink raw reply [flat|nested] 11+ messages in thread