Message ID | 1407514262-18602-1-git-send-email-jcd@tribudubois.net |
---|---|
State | Superseded |
Headers | show |
I did not add the Makefile patch for the man8 directory as I agree with Thomas that the bcache-tools package should be modified upstream to allow install without this dir. Meanwhile, we can add the man8 dir which is removed by BR afterward. JC Le 08/08/2014 06:11 PM, Jean-Christophe DUBOIS a écrit : > This is the bcache tools, required to setup the linux bcache > feature of the Linux kernel. > > Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net> > --- > Changes v1 to v2 > * Remove 'support' word from comment statement in Config.in. > * Use github helper to get the project site instead of hardcoded URL. > Changes v2 to v3 > * Added bcache-tools description in Config help. > * Added bcache-tools URL in Config help. > * Added BR2_LARGEFILE BR2_USE_WCHAR and BR2_USE_MMU dependencies in Config. > * Added BR2_PACKAGE_UTIL_LINUX selection in Config. > * Added new requirements in Config comment. > * Use POST_EXTRACT_HOOKS to modify Makefile. > * Pass $(TARGET_CONFIGURE_OPTS) in env variables to $(MAKE). > * Create man8 dir as part of PRE_INSTALL_TARGET_HOOKS. > Changes v3 to v4 > * Move from .zip file to .tar.gz as download file in .mk file. > * Use complete git tag as version in .mk file. > * Remove explicit extract rule from .mk file (use implicite rule). > Changes v4 to v5 > * Remove explicit package name in .mk (rely on default behavior). > Changes v5 to v6 > * Switch spaces to tabs in Config.in > * Don't patch Makefile for pkg-config in .mk file. > --- > package/Config.in | 1 + > package/bcache-tools/Config.in | 22 ++++++++++++++++++++++ > package/bcache-tools/bcache-tools.mk | 31 +++++++++++++++++++++++++++++++ > 3 files changed, 54 insertions(+) > create mode 100644 package/bcache-tools/Config.in > create mode 100644 package/bcache-tools/bcache-tools.mk > > diff --git a/package/Config.in b/package/Config.in > index 4520ba6..dc2f418 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -280,6 +280,7 @@ endmenu > source "package/a10disp/Config.in" > source "package/acpid/Config.in" > source "package/avrdude/Config.in" > + source "package/bcache-tools/Config.in" > source "package/cdrkit/Config.in" > source "package/cryptsetup/Config.in" > source "package/cwiid/Config.in" > diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in > new file mode 100644 > index 0000000..a3f7897 > --- /dev/null > +++ b/package/bcache-tools/Config.in > @@ -0,0 +1,22 @@ > +config BR2_PACKAGE_BCACHE_TOOLS > + bool "bcache tools" > + depends on BR2_PACKAGE_HAS_UDEV > + depends on BR2_LARGEFILE # util-linux > + depends on BR2_USE_WCHAR # util-linux > + depends on BR2_USE_MMU # util-linux (libblkid) > + select BR2_PACKAGE_UTIL_LINUX > + select BR2_PACKAGE_UTIL_LINUX_LIBUUID > + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID > + help > + Bcache is a Linux kernel block layer cache. It allows one or > + more fast disk drives such as flash-based solid state drives (SSDs) > + to act as a cache for one or more slower hard disk drives. > + > + http://bcache.evilpiepirate.org/ > + > + This is the user space bcache tools, required to setup the linux > + bcache feature of the Linux kernel. > + > +comment "bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar" > + depends on BR2_USE_MMU > + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR > diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk > new file mode 100644 > index 0000000..880bf5e > --- /dev/null > +++ b/package/bcache-tools/bcache-tools.mk > @@ -0,0 +1,31 @@ > +################################################################################ > +# > +# bcache-tools > +# > +################################################################################ > + > +BCACHE_TOOLS_VERSION = v1.0.7 > +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) > +BCACHE_TOOLS_LICENSE = GPLv2 > +BCACHE_TOOLS_LICENSE_FILES = COPYING > +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev > + > +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow > +# the bcache-tools Makefile to alter CFLAGS > +define BCACHE_TOOLS_BUILD_CMDS > + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) > +endef > + > +# The bcache-tools Makefile expects the man8 directory to exist. > +define BCACHE_TOOLS_INSTALL_MAN8 > + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 > +endef > + > +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 > + > +define BCACHE_TOOLS_INSTALL_TARGET_CMDS > + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ > + DESTDIR=$(TARGET_DIR) install > +endef > + > +$(eval $(generic-package))
Hi, It has been few weeks now and I did not receive any more comments. Is there some more work you are expecting from me or is there any other reason this could not be accepted/committed? Thanks. JC Le 08/08/2014 07:03 PM, Jean-Christophe DUBOIS a écrit : > I did not add the Makefile patch for the man8 directory as I agree > with Thomas that the bcache-tools package should be modified upstream > to allow install without this dir. > > Meanwhile, we can add the man8 dir which is removed by BR afterward. > > JC > > Le 08/08/2014 06:11 PM, Jean-Christophe DUBOIS a écrit : >> This is the bcache tools, required to setup the linux bcache >> feature of the Linux kernel. >> >> Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net> >> --- >> Changes v1 to v2 >> * Remove 'support' word from comment statement in Config.in. >> * Use github helper to get the project site instead of hardcoded URL. >> Changes v2 to v3 >> * Added bcache-tools description in Config help. >> * Added bcache-tools URL in Config help. >> * Added BR2_LARGEFILE BR2_USE_WCHAR and BR2_USE_MMU dependencies in >> Config. >> * Added BR2_PACKAGE_UTIL_LINUX selection in Config. >> * Added new requirements in Config comment. >> * Use POST_EXTRACT_HOOKS to modify Makefile. >> * Pass $(TARGET_CONFIGURE_OPTS) in env variables to $(MAKE). >> * Create man8 dir as part of PRE_INSTALL_TARGET_HOOKS. >> Changes v3 to v4 >> * Move from .zip file to .tar.gz as download file in .mk file. >> * Use complete git tag as version in .mk file. >> * Remove explicit extract rule from .mk file (use implicite rule). >> Changes v4 to v5 >> * Remove explicit package name in .mk (rely on default behavior). >> Changes v5 to v6 >> * Switch spaces to tabs in Config.in >> * Don't patch Makefile for pkg-config in .mk file. >> --- >> package/Config.in | 1 + >> package/bcache-tools/Config.in | 22 ++++++++++++++++++++++ >> package/bcache-tools/bcache-tools.mk | 31 >> +++++++++++++++++++++++++++++++ >> 3 files changed, 54 insertions(+) >> create mode 100644 package/bcache-tools/Config.in >> create mode 100644 package/bcache-tools/bcache-tools.mk >> >> diff --git a/package/Config.in b/package/Config.in >> index 4520ba6..dc2f418 100644 >> --- a/package/Config.in >> +++ b/package/Config.in >> @@ -280,6 +280,7 @@ endmenu >> source "package/a10disp/Config.in" >> source "package/acpid/Config.in" >> source "package/avrdude/Config.in" >> + source "package/bcache-tools/Config.in" >> source "package/cdrkit/Config.in" >> source "package/cryptsetup/Config.in" >> source "package/cwiid/Config.in" >> diff --git a/package/bcache-tools/Config.in >> b/package/bcache-tools/Config.in >> new file mode 100644 >> index 0000000..a3f7897 >> --- /dev/null >> +++ b/package/bcache-tools/Config.in >> @@ -0,0 +1,22 @@ >> +config BR2_PACKAGE_BCACHE_TOOLS >> + bool "bcache tools" >> + depends on BR2_PACKAGE_HAS_UDEV >> + depends on BR2_LARGEFILE # util-linux >> + depends on BR2_USE_WCHAR # util-linux >> + depends on BR2_USE_MMU # util-linux (libblkid) >> + select BR2_PACKAGE_UTIL_LINUX >> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID >> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID >> + help >> + Bcache is a Linux kernel block layer cache. It allows one or >> + more fast disk drives such as flash-based solid state drives >> (SSDs) >> + to act as a cache for one or more slower hard disk drives. >> + >> + http://bcache.evilpiepirate.org/ >> + >> + This is the user space bcache tools, required to setup the linux >> + bcache feature of the Linux kernel. >> + >> +comment "bcache-tools needs udev /dev management and a toolchain w/ >> largefile, wchar" >> + depends on BR2_USE_MMU >> + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || >> !BR2_USE_WCHAR >> diff --git a/package/bcache-tools/bcache-tools.mk >> b/package/bcache-tools/bcache-tools.mk >> new file mode 100644 >> index 0000000..880bf5e >> --- /dev/null >> +++ b/package/bcache-tools/bcache-tools.mk >> @@ -0,0 +1,31 @@ >> +################################################################################ >> >> +# >> +# bcache-tools >> +# >> +################################################################################ >> >> + >> +BCACHE_TOOLS_VERSION = v1.0.7 >> +BCACHE_TOOLS_SITE = $(call >> github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) >> +BCACHE_TOOLS_LICENSE = GPLv2 >> +BCACHE_TOOLS_LICENSE_FILES = COPYING >> +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev >> + >> +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow >> +# the bcache-tools Makefile to alter CFLAGS >> +define BCACHE_TOOLS_BUILD_CMDS >> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) >> +endef >> + >> +# The bcache-tools Makefile expects the man8 directory to exist. >> +define BCACHE_TOOLS_INSTALL_MAN8 >> + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 >> +endef >> + >> +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 >> + >> +define BCACHE_TOOLS_INSTALL_TARGET_CMDS >> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ >> + DESTDIR=$(TARGET_DIR) install >> +endef >> + >> +$(eval $(generic-package)) > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot >
JC, Currently most of the activity has been working through bug fixes in the Buildroot 2014.08 release candidate (targeted release date is the end of the month). I'm guessing you'll get more feedback early next month when the "next" branch and any pending patches are worked through. On Wed, Aug 27, 2014 at 12:45 AM, Jean-Christophe DUBOIS <jcd@tribudubois.net> wrote: > Hi, > > It has been few weeks now and I did not receive any more comments. > > Is there some more work you are expecting from me or is there any other > reason this could not be accepted/committed? > > Thanks. > > JC > > Le 08/08/2014 07:03 PM, Jean-Christophe DUBOIS a écrit : >> >> I did not add the Makefile patch for the man8 directory as I agree with >> Thomas that the bcache-tools package should be modified upstream to allow >> install without this dir. >> >> Meanwhile, we can add the man8 dir which is removed by BR afterward. >> >> JC >> >> Le 08/08/2014 06:11 PM, Jean-Christophe DUBOIS a écrit : >>> >>> This is the bcache tools, required to setup the linux bcache >>> feature of the Linux kernel. >>> >>> Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net> >>> --- >>> Changes v1 to v2 >>> * Remove 'support' word from comment statement in Config.in. >>> * Use github helper to get the project site instead of hardcoded URL. >>> Changes v2 to v3 >>> * Added bcache-tools description in Config help. >>> * Added bcache-tools URL in Config help. >>> * Added BR2_LARGEFILE BR2_USE_WCHAR and BR2_USE_MMU dependencies in >>> Config. >>> * Added BR2_PACKAGE_UTIL_LINUX selection in Config. >>> * Added new requirements in Config comment. >>> * Use POST_EXTRACT_HOOKS to modify Makefile. >>> * Pass $(TARGET_CONFIGURE_OPTS) in env variables to $(MAKE). >>> * Create man8 dir as part of PRE_INSTALL_TARGET_HOOKS. >>> Changes v3 to v4 >>> * Move from .zip file to .tar.gz as download file in .mk file. >>> * Use complete git tag as version in .mk file. >>> * Remove explicit extract rule from .mk file (use implicite rule). >>> Changes v4 to v5 >>> * Remove explicit package name in .mk (rely on default behavior). >>> Changes v5 to v6 >>> * Switch spaces to tabs in Config.in >>> * Don't patch Makefile for pkg-config in .mk file. >>> --- >>> package/Config.in | 1 + >>> package/bcache-tools/Config.in | 22 ++++++++++++++++++++++ >>> package/bcache-tools/bcache-tools.mk | 31 >>> +++++++++++++++++++++++++++++++ >>> 3 files changed, 54 insertions(+) >>> create mode 100644 package/bcache-tools/Config.in >>> create mode 100644 package/bcache-tools/bcache-tools.mk >>> >>> diff --git a/package/Config.in b/package/Config.in >>> index 4520ba6..dc2f418 100644 >>> --- a/package/Config.in >>> +++ b/package/Config.in >>> @@ -280,6 +280,7 @@ endmenu >>> source "package/a10disp/Config.in" >>> source "package/acpid/Config.in" >>> source "package/avrdude/Config.in" >>> + source "package/bcache-tools/Config.in" >>> source "package/cdrkit/Config.in" >>> source "package/cryptsetup/Config.in" >>> source "package/cwiid/Config.in" >>> diff --git a/package/bcache-tools/Config.in >>> b/package/bcache-tools/Config.in >>> new file mode 100644 >>> index 0000000..a3f7897 >>> --- /dev/null >>> +++ b/package/bcache-tools/Config.in >>> @@ -0,0 +1,22 @@ >>> +config BR2_PACKAGE_BCACHE_TOOLS >>> + bool "bcache tools" >>> + depends on BR2_PACKAGE_HAS_UDEV >>> + depends on BR2_LARGEFILE # util-linux >>> + depends on BR2_USE_WCHAR # util-linux >>> + depends on BR2_USE_MMU # util-linux (libblkid) >>> + select BR2_PACKAGE_UTIL_LINUX >>> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID >>> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID >>> + help >>> + Bcache is a Linux kernel block layer cache. It allows one or >>> + more fast disk drives such as flash-based solid state drives >>> (SSDs) >>> + to act as a cache for one or more slower hard disk drives. >>> + >>> + http://bcache.evilpiepirate.org/ >>> + >>> + This is the user space bcache tools, required to setup the linux >>> + bcache feature of the Linux kernel. >>> + >>> +comment "bcache-tools needs udev /dev management and a toolchain w/ >>> largefile, wchar" >>> + depends on BR2_USE_MMU >>> + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR >>> diff --git a/package/bcache-tools/bcache-tools.mk >>> b/package/bcache-tools/bcache-tools.mk >>> new file mode 100644 >>> index 0000000..880bf5e >>> --- /dev/null >>> +++ b/package/bcache-tools/bcache-tools.mk >>> @@ -0,0 +1,31 @@ >>> >>> +################################################################################ >>> +# >>> +# bcache-tools >>> +# >>> >>> +################################################################################ >>> + >>> +BCACHE_TOOLS_VERSION = v1.0.7 >>> +BCACHE_TOOLS_SITE = $(call >>> github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) >>> +BCACHE_TOOLS_LICENSE = GPLv2 >>> +BCACHE_TOOLS_LICENSE_FILES = COPYING >>> +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev >>> + >>> +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow >>> +# the bcache-tools Makefile to alter CFLAGS >>> +define BCACHE_TOOLS_BUILD_CMDS >>> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) >>> +endef >>> + >>> +# The bcache-tools Makefile expects the man8 directory to exist. >>> +define BCACHE_TOOLS_INSTALL_MAN8 >>> + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 >>> +endef >>> + >>> +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 >>> + >>> +define BCACHE_TOOLS_INSTALL_TARGET_CMDS >>> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ >>> + DESTDIR=$(TARGET_DIR) install >>> +endef >>> + >>> +$(eval $(generic-package)) >> >> >> _______________________________________________ >> buildroot mailing list >> buildroot@busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot >> > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Jean-Christophe, All, Sorry for the delay in reviewing this patch... On 2014-08-08 18:11 +0200, Jean-Christophe DUBOIS spake thusly: [--SNIP--] > diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in > new file mode 100644 > index 0000000..a3f7897 > --- /dev/null > +++ b/package/bcache-tools/Config.in > @@ -0,0 +1,22 @@ > +config BR2_PACKAGE_BCACHE_TOOLS > + bool "bcache tools" > + depends on BR2_PACKAGE_HAS_UDEV udev is a runtime dependency only... > + depends on BR2_LARGEFILE # util-linux > + depends on BR2_USE_WCHAR # util-linux > + depends on BR2_USE_MMU # util-linux (libblkid) > + select BR2_PACKAGE_UTIL_LINUX > + select BR2_PACKAGE_UTIL_LINUX_LIBUUID > + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID > + help > + Bcache is a Linux kernel block layer cache. It allows one or > + more fast disk drives such as flash-based solid state drives (SSDs) > + to act as a cache for one or more slower hard disk drives. > + > + http://bcache.evilpiepirate.org/ > + > + This is the user space bcache tools, required to setup the linux > + bcache feature of the Linux kernel. > + > +comment "bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar" > + depends on BR2_USE_MMU > + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR > diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk > new file mode 100644 > index 0000000..880bf5e > --- /dev/null > +++ b/package/bcache-tools/bcache-tools.mk > @@ -0,0 +1,31 @@ > +################################################################################ > +# > +# bcache-tools > +# > +################################################################################ > + > +BCACHE_TOOLS_VERSION = v1.0.7 > +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) > +BCACHE_TOOLS_LICENSE = GPLv2 > +BCACHE_TOOLS_LICENSE_FILES = COPYING > +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev ... so you do not need to depend on it here, just in the Config.in file. And even if you needed to depend on udev at runtime, that's not eudev you'd have to depend on, but just 'udev' (which is a virtual package provided by either eudev or systemd.) > +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow > +# the bcache-tools Makefile to alter CFLAGS > +define BCACHE_TOOLS_BUILD_CMDS > + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) > +endef > + > +# The bcache-tools Makefile expects the man8 directory to exist. > +define BCACHE_TOOLS_INSTALL_MAN8 > + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 > +endef Better to patch it out, since we do not keep the documentation on the target anyway. Regards, Yann E. MORIN. > +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 > + > +define BCACHE_TOOLS_INSTALL_TARGET_CMDS > + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ > + DESTDIR=$(TARGET_DIR) install > +endef > + > +$(eval $(generic-package)) > -- > 1.9.1 > > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Le 09/06/2014 12:42 PM, Yann E. MORIN a écrit : > Jean-Christophe, All, > > Sorry for the delay in reviewing this patch... > > On 2014-08-08 18:11 +0200, Jean-Christophe DUBOIS spake thusly: > [--SNIP--] >> diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in >> new file mode 100644 >> index 0000000..a3f7897 >> --- /dev/null >> +++ b/package/bcache-tools/Config.in >> @@ -0,0 +1,22 @@ >> +config BR2_PACKAGE_BCACHE_TOOLS >> + bool "bcache tools" >> + depends on BR2_PACKAGE_HAS_UDEV > udev is a runtime dependency only... > >> + depends on BR2_LARGEFILE # util-linux >> + depends on BR2_USE_WCHAR # util-linux >> + depends on BR2_USE_MMU # util-linux (libblkid) >> + select BR2_PACKAGE_UTIL_LINUX >> + select BR2_PACKAGE_UTIL_LINUX_LIBUUID >> + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID >> + help >> + Bcache is a Linux kernel block layer cache. It allows one or >> + more fast disk drives such as flash-based solid state drives (SSDs) >> + to act as a cache for one or more slower hard disk drives. >> + >> + http://bcache.evilpiepirate.org/ >> + >> + This is the user space bcache tools, required to setup the linux >> + bcache feature of the Linux kernel. >> + >> +comment "bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar" >> + depends on BR2_USE_MMU >> + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR >> diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk >> new file mode 100644 >> index 0000000..880bf5e >> --- /dev/null >> +++ b/package/bcache-tools/bcache-tools.mk >> @@ -0,0 +1,31 @@ >> +################################################################################ >> +# >> +# bcache-tools >> +# >> +################################################################################ >> + >> +BCACHE_TOOLS_VERSION = v1.0.7 >> +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) >> +BCACHE_TOOLS_LICENSE = GPLv2 >> +BCACHE_TOOLS_LICENSE_FILES = COPYING >> +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev > ... so you do not need to depend on it here, just in the Config.in file. Well, I need to make sure that "udev" is build before bcache-tools because it tries to put files in the /lib/udev/ directory of the target file system ans this directory doesn't exist before the udev package is built. > > And even if you needed to depend on udev at runtime, that's not eudev > you'd have to depend on, but just 'udev' (which is a virtual package > provided by either eudev or systemd.) OK, I put the dependency on udev instead of eudev. > >> +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow >> +# the bcache-tools Makefile to alter CFLAGS >> +define BCACHE_TOOLS_BUILD_CMDS >> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) >> +endef >> + >> +# The bcache-tools Makefile expects the man8 directory to exist. >> +define BCACHE_TOOLS_INSTALL_MAN8 >> + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 >> +endef > Better to patch it out, since we do not keep the documentation on the > target anyway. I thought it was discussed before (with Thomas Petazzoni) and it was decided it was easier to go this way (adding man8 which was removed from buildroot anyway). JC > > Regards, > Yann E. MORIN. > >> +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 >> + >> +define BCACHE_TOOLS_INSTALL_TARGET_CMDS >> + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ >> + DESTDIR=$(TARGET_DIR) install >> +endef >> + >> +$(eval $(generic-package)) >> -- >> 1.9.1 >> >> _______________________________________________ >> buildroot mailing list >> buildroot@busybox.net >> http://lists.busybox.net/mailman/listinfo/buildroot
Jean-Christophe, All, On 2014-09-07 09:21 +0200, Jean-Christophe DUBOIS spake thusly: > Le 09/06/2014 12:42 PM, Yann E. MORIN a écrit : [--SNIP--] > >>diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk > >>new file mode 100644 > >>index 0000000..880bf5e > >>--- /dev/null > >>+++ b/package/bcache-tools/bcache-tools.mk > >>@@ -0,0 +1,31 @@ > >>+################################################################################ > >>+# > >>+# bcache-tools > >>+# > >>+################################################################################ > >>+ > >>+BCACHE_TOOLS_VERSION = v1.0.7 > >>+BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) > >>+BCACHE_TOOLS_LICENSE = GPLv2 > >>+BCACHE_TOOLS_LICENSE_FILES = COPYING > >>+BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev > >... so you do not need to depend on it here, just in the Config.in file. > > Well, I need to make sure that "udev" is build before bcache-tools because > it tries to put files in the /lib/udev/ directory of the target file system > ans this directory doesn't exist before the udev package is built. In this case, just add: # bcache-tools forgets to create the required directory... :-/ define BCACHE_TOOLS_UDEV_DIR mkdir -p $(TARGET_DIR)/lib/udev/ endef BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_UDEV_DIR And you're done. ;-) [--SNIP--] > >>+# The bcache-tools Makefile expects the man8 directory to exist. > >>+define BCACHE_TOOLS_INSTALL_MAN8 > >>+ $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 > >>+endef > >Better to patch it out, since we do not keep the documentation on the > >target anyway. > > I thought it was discussed before (with Thomas Petazzoni) and it was decided > it was easier to go this way (adding man8 which was removed from buildroot > anyway). Oh, OK, then. :-) Regards, Yann E. MORIN.
Jean-Christophe, All, On 2014-09-07 11:14 +0200, Yann E. MORIN spake thusly: > On 2014-09-07 09:21 +0200, Jean-Christophe DUBOIS spake thusly: > > Le 09/06/2014 12:42 PM, Yann E. MORIN a écrit : > [--SNIP--] > > >>diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk > > >>new file mode 100644 > > >>index 0000000..880bf5e > > >>--- /dev/null > > >>+++ b/package/bcache-tools/bcache-tools.mk > > >>@@ -0,0 +1,31 @@ > > >>+################################################################################ > > >>+# > > >>+# bcache-tools > > >>+# > > >>+################################################################################ > > >>+ > > >>+BCACHE_TOOLS_VERSION = v1.0.7 > > >>+BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) > > >>+BCACHE_TOOLS_LICENSE = GPLv2 > > >>+BCACHE_TOOLS_LICENSE_FILES = COPYING > > >>+BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev > > >... so you do not need to depend on it here, just in the Config.in file. > > > > Well, I need to make sure that "udev" is build before bcache-tools because > > it tries to put files in the /lib/udev/ directory of the target file system > > ans this directory doesn't exist before the udev package is built. > > In this case, just add: > > # bcache-tools forgets to create the required directory... :-/ > define BCACHE_TOOLS_UDEV_DIR > mkdir -p $(TARGET_DIR)/lib/udev/ > endef > BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_UDEV_DIR > > And you're done. ;-) Of course, since cafeine hasn't yet fully kicked-in in my body, this can/should be squashed in the existing PRE_INSTALL hook which creates the man8 directory. Regards, Yann E. MORIN.
Le 09/07/2014 11:18 AM, Yann E. MORIN a écrit : > Jean-Christophe, All, > > On 2014-09-07 11:14 +0200, Yann E. MORIN spake thusly: >> On 2014-09-07 09:21 +0200, Jean-Christophe DUBOIS spake thusly: >>> Le 09/06/2014 12:42 PM, Yann E. MORIN a écrit : >> [--SNIP--] >>>>> diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk >>>>> new file mode 100644 >>>>> index 0000000..880bf5e >>>>> --- /dev/null >>>>> +++ b/package/bcache-tools/bcache-tools.mk >>>>> @@ -0,0 +1,31 @@ >>>>> +################################################################################ >>>>> +# >>>>> +# bcache-tools >>>>> +# >>>>> +################################################################################ >>>>> + >>>>> +BCACHE_TOOLS_VERSION = v1.0.7 >>>>> +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) >>>>> +BCACHE_TOOLS_LICENSE = GPLv2 >>>>> +BCACHE_TOOLS_LICENSE_FILES = COPYING >>>>> +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev >>>> ... so you do not need to depend on it here, just in the Config.in file. >>> Well, I need to make sure that "udev" is build before bcache-tools because >>> it tries to put files in the /lib/udev/ directory of the target file system >>> ans this directory doesn't exist before the udev package is built. >> In this case, just add: >> >> # bcache-tools forgets to create the required directory... :-/ >> define BCACHE_TOOLS_UDEV_DIR >> mkdir -p $(TARGET_DIR)/lib/udev/ >> endef >> BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_UDEV_DIR >> >> And you're done. ;-) > Of course, since cafeine hasn't yet fully kicked-in in my body, this > can/should be squashed in the existing PRE_INSTALL hook which creates > the man8 directory. OK, I'll do it this way. Now just for my information, why is it better to force the creation of a missing directory rather than force as a dependency the build of the package bringing this directory? JC > > Regards, > Yann E. MORIN. >
Jean-Christophe, All, On 2014-09-07 22:27 +0200, Jean-Christophe DUBOIS spake thusly: > Le 09/07/2014 11:18 AM, Yann E. MORIN a écrit : > >On 2014-09-07 11:14 +0200, Yann E. MORIN spake thusly: [--SNIP--] > >>In this case, just add: > >> > >> # bcache-tools forgets to create the required directory... :-/ > >> define BCACHE_TOOLS_UDEV_DIR > >> mkdir -p $(TARGET_DIR)/lib/udev/ > >> endef > >> BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_UDEV_DIR > >> > >>And you're done. ;-) > >Of course, since cafeine hasn't yet fully kicked-in in my body, this > >can/should be squashed in the existing PRE_INSTALL hook which creates > >the man8 directory. > > OK, I'll do it this way. OK, thanks! > Now just for my information, why is it better to force the creation of a > missing directory rather > than force as a dependency the build of the package bringing this directory? Well, the udev package is not required to build bcache-tools. It;s just bcache-tools' Makefile that is deficient, and forgets to create the directory to start with. Also, it is often the case that a decvelopper needs to build just one package to test a build failure or a version bump. The more dependencies there are to a package, the longer the build will be, the more frustrating it becomes to the developper, since udev is not really a build dependency. And, since you anyway already have a hook to create one directory, why not use it to create the other one? Thanks for your efforts with this patch! :-) Regards, Yann E. MORIN.
diff --git a/package/Config.in b/package/Config.in index 4520ba6..dc2f418 100644 --- a/package/Config.in +++ b/package/Config.in @@ -280,6 +280,7 @@ endmenu source "package/a10disp/Config.in" source "package/acpid/Config.in" source "package/avrdude/Config.in" + source "package/bcache-tools/Config.in" source "package/cdrkit/Config.in" source "package/cryptsetup/Config.in" source "package/cwiid/Config.in" diff --git a/package/bcache-tools/Config.in b/package/bcache-tools/Config.in new file mode 100644 index 0000000..a3f7897 --- /dev/null +++ b/package/bcache-tools/Config.in @@ -0,0 +1,22 @@ +config BR2_PACKAGE_BCACHE_TOOLS + bool "bcache tools" + depends on BR2_PACKAGE_HAS_UDEV + depends on BR2_LARGEFILE # util-linux + depends on BR2_USE_WCHAR # util-linux + depends on BR2_USE_MMU # util-linux (libblkid) + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + select BR2_PACKAGE_UTIL_LINUX_LIBBLKID + help + Bcache is a Linux kernel block layer cache. It allows one or + more fast disk drives such as flash-based solid state drives (SSDs) + to act as a cache for one or more slower hard disk drives. + + http://bcache.evilpiepirate.org/ + + This is the user space bcache tools, required to setup the linux + bcache feature of the Linux kernel. + +comment "bcache-tools needs udev /dev management and a toolchain w/ largefile, wchar" + depends on BR2_USE_MMU + depends on !BR2_PACKAGE_HAS_UDEV || !BR2_LARGEFILE || !BR2_USE_WCHAR diff --git a/package/bcache-tools/bcache-tools.mk b/package/bcache-tools/bcache-tools.mk new file mode 100644 index 0000000..880bf5e --- /dev/null +++ b/package/bcache-tools/bcache-tools.mk @@ -0,0 +1,31 @@ +################################################################################ +# +# bcache-tools +# +################################################################################ + +BCACHE_TOOLS_VERSION = v1.0.7 +BCACHE_TOOLS_SITE = $(call github,g2p,bcache-tools,$(BCACHE_TOOLS_VERSION)) +BCACHE_TOOLS_LICENSE = GPLv2 +BCACHE_TOOLS_LICENSE_FILES = COPYING +BCACHE_TOOLS_DEPENDENCIES = host-pkgconf util-linux eudev + +# We pass $(TARGET_CONFIGURE_OPTS) as environment variable to allow +# the bcache-tools Makefile to alter CFLAGS +define BCACHE_TOOLS_BUILD_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) +endef + +# The bcache-tools Makefile expects the man8 directory to exist. +define BCACHE_TOOLS_INSTALL_MAN8 + $(INSTALL) -m 0755 -d $(TARGET_DIR)/usr/share/man/man8 +endef + +BCACHE_TOOLS_PRE_INSTALL_TARGET_HOOKS += BCACHE_TOOLS_INSTALL_MAN8 + +define BCACHE_TOOLS_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(TARGET_CONFIGURE_OPTS) $(MAKE) -C $(@D) \ + DESTDIR=$(TARGET_DIR) install +endef + +$(eval $(generic-package))
This is the bcache tools, required to setup the linux bcache feature of the Linux kernel. Signed-off-by: Jean-Christophe DUBOIS <jcd@tribudubois.net> --- Changes v1 to v2 * Remove 'support' word from comment statement in Config.in. * Use github helper to get the project site instead of hardcoded URL. Changes v2 to v3 * Added bcache-tools description in Config help. * Added bcache-tools URL in Config help. * Added BR2_LARGEFILE BR2_USE_WCHAR and BR2_USE_MMU dependencies in Config. * Added BR2_PACKAGE_UTIL_LINUX selection in Config. * Added new requirements in Config comment. * Use POST_EXTRACT_HOOKS to modify Makefile. * Pass $(TARGET_CONFIGURE_OPTS) in env variables to $(MAKE). * Create man8 dir as part of PRE_INSTALL_TARGET_HOOKS. Changes v3 to v4 * Move from .zip file to .tar.gz as download file in .mk file. * Use complete git tag as version in .mk file. * Remove explicit extract rule from .mk file (use implicite rule). Changes v4 to v5 * Remove explicit package name in .mk (rely on default behavior). Changes v5 to v6 * Switch spaces to tabs in Config.in * Don't patch Makefile for pkg-config in .mk file. --- package/Config.in | 1 + package/bcache-tools/Config.in | 22 ++++++++++++++++++++++ package/bcache-tools/bcache-tools.mk | 31 +++++++++++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 package/bcache-tools/Config.in create mode 100644 package/bcache-tools/bcache-tools.mk