Message ID | 20191105125039.1443-1-nicolas.carrier@orolia.com |
---|---|
State | Changes Requested |
Headers | show |
Series | [v4,1/2] package/bmap-tools: new package | expand |
Hi Nicolas, Le 05/11/2019 à 13:51, Nicolas Carrier a écrit : > --- > > I need bmap-tools on the target since it's what our flashing / upgrade procudure > uses to speed up the process (flashing ~8GB disk images full of zeroes). > > Changes v3 -v4: > - added the upstream URL to the package's help > > Changes v2 -> v3: > - double-checked that setuptools is required by bmap-tools at runtime too > - moved the "v" from BMAP_TOOLS_VERSION to BMAP_TOOLS_SITE (in the .hash too) > - changed license name from GPLv2 to GPL-2.0 > > Changes v1 -> v2: > - no change > > --- > > Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com> > --- > DEVELOPERS | 3 +++ > package/Config.in | 1 + > package/bmap-tools/Config.in | 15 +++++++++++++++ > package/bmap-tools/bmap-tools.hash | 2 ++ > package/bmap-tools/bmap-tools.mk | 15 +++++++++++++++ > 5 files changed, 36 insertions(+) > create mode 100644 package/bmap-tools/Config.in > create mode 100644 package/bmap-tools/bmap-tools.hash > create mode 100644 package/bmap-tools/bmap-tools.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index 24c57b25f7..947722a8c7 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -1728,6 +1728,9 @@ F: package/libevdev/ > N: Nicola Di Lieto <nicola.dilieto@gmail.com> > F: package/uacme/ > > +N: Nicolas Carrier <nicolas.carrier@orolia.com> > +F: package/bmap-tools/ > + > N: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> > F: package/libgit2/ > > diff --git a/package/Config.in b/package/Config.in > index 1ad1d49a8a..52852ac2fc 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -184,6 +184,7 @@ menu "Filesystem and flash utilities" > source "package/aufs/Config.in" > source "package/aufs-util/Config.in" > source "package/autofs/Config.in" > + source "package/bmap-tools/Config.in" > source "package/btrfs-progs/Config.in" > source "package/cifs-utils/Config.in" > source "package/cpio/Config.in" > diff --git a/package/bmap-tools/Config.in b/package/bmap-tools/Config.in > new file mode 100644 > index 0000000000..e582270c44 > --- /dev/null > +++ b/package/bmap-tools/Config.in > @@ -0,0 +1,15 @@ > +config BR2_PACKAGE_BMAP_TOOLS > + bool "bmap-tools" > + depends on BR2_PACKAGE_PYTHON3 || \ > + BR2_PACKAGE_PYTHON > + select BR2_PACKAGE_PYTHON_SIX # runtime > + select BR2_PACKAGE_PYTHON_SETUPTOOLS > + help > + Tool to flash image files to block devices using the block map > + bmaptool is a generic tool for creating the block map (bmap) > + for a file, and copying files using the block map. The idea is > + that large file containing unused blocks, like raw system > + image files, can be copied or flashed a lot faster with > + bmaptool than with traditional tools like "dd" or "cp". > + > + https://github.com/intel/bmap-tools > diff --git a/package/bmap-tools/bmap-tools.hash b/package/bmap-tools/bmap-tools.hash > new file mode 100644 > index 0000000000..794765b633 > --- /dev/null > +++ b/package/bmap-tools/bmap-tools.hash > @@ -0,0 +1,2 @@ > +sha256 d410e2d97192d0fc2f88ef160a0bb6ed83fce99da97a606d7f6890cc654ec594 bmap-tools-3.5.tar.gz > +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING > diff --git a/package/bmap-tools/bmap-tools.mk b/package/bmap-tools/bmap-tools.mk > new file mode 100644 > index 0000000000..4c2465876e > --- /dev/null > +++ b/package/bmap-tools/bmap-tools.mk > @@ -0,0 +1,15 @@ > +################################################################################ > +# > +# bmap-tools > +# > +################################################################################ > + > +BMAP_TOOLS_VERSION = 3.5 > +BMAP_TOOLS_SITE = $(call github,intel,bmap-tools,v$(BMAP_TOOLS_VERSION)) > +BMAP_TOOLS_LICENSE = GPL-2.0 > +BMAP_TOOLS_LICENSE_FILES = COPYING > +BMAP_TOOLS_SETUP_TYPE = setuptools > +BMAP_TOOLS_DEPENDENCIES = \ > + python-setuptools When you create a new package for a software in Buildroot, it can be useful to check how the software is packaged for other Linux distribution or build tool (Yocto). For example, Fedora, ArchLinux and Debian https://github.com/intel/bmap-tools/blob/master/packaging/bmap-tools.spec#L20 https://github.com/intel/bmap-tools/blob/master/debian/control#L13 python-gpgme, ${misc:Depends}, ${python:Depends}, bzip2, pbzip2, gzip, pigz, lzop, liblz4-tool, xz-utils, tar, unzip Some of theses (maybe optional) dependencies are missing in your patch. Can you check them? Best regards, Romain > + > +$(eval $(python-package)) >
Le 19/11/2019 à 21:36, Romain Naour a écrit : > Hi Nicolas, > > > Le 05/11/2019 à 13:51, Nicolas Carrier a écrit : >> --- >> >> I need bmap-tools on the target since it's what our flashing / upgrade procudure >> uses to speed up the process (flashing ~8GB disk images full of zeroes). >> >> Changes v3 -v4: >> - added the upstream URL to the package's help >> >> Changes v2 -> v3: >> - double-checked that setuptools is required by bmap-tools at runtime too >> - moved the "v" from BMAP_TOOLS_VERSION to BMAP_TOOLS_SITE (in the .hash too) >> - changed license name from GPLv2 to GPL-2.0 >> >> Changes v1 -> v2: >> - no change >> >> --- >> >> Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com> Your SoB line should be on top of "---" in the commit log. Otherwise it is dropped by git am when the patch is applied. >> --- >> DEVELOPERS | 3 +++ >> package/Config.in | 1 + >> package/bmap-tools/Config.in | 15 +++++++++++++++ >> package/bmap-tools/bmap-tools.hash | 2 ++ >> package/bmap-tools/bmap-tools.mk | 15 +++++++++++++++ >> 5 files changed, 36 insertions(+) >> create mode 100644 package/bmap-tools/Config.in >> create mode 100644 package/bmap-tools/bmap-tools.hash >> create mode 100644 package/bmap-tools/bmap-tools.mk >> >> diff --git a/DEVELOPERS b/DEVELOPERS >> index 24c57b25f7..947722a8c7 100644 >> --- a/DEVELOPERS >> +++ b/DEVELOPERS >> @@ -1728,6 +1728,9 @@ F: package/libevdev/ >> N: Nicola Di Lieto <nicola.dilieto@gmail.com> >> F: package/uacme/ >> >> +N: Nicolas Carrier <nicolas.carrier@orolia.com> >> +F: package/bmap-tools/ >> + >> N: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> >> F: package/libgit2/ >> >> diff --git a/package/Config.in b/package/Config.in >> index 1ad1d49a8a..52852ac2fc 100644 >> --- a/package/Config.in >> +++ b/package/Config.in >> @@ -184,6 +184,7 @@ menu "Filesystem and flash utilities" >> source "package/aufs/Config.in" >> source "package/aufs-util/Config.in" >> source "package/autofs/Config.in" >> + source "package/bmap-tools/Config.in" >> source "package/btrfs-progs/Config.in" >> source "package/cifs-utils/Config.in" >> source "package/cpio/Config.in" >> diff --git a/package/bmap-tools/Config.in b/package/bmap-tools/Config.in >> new file mode 100644 >> index 0000000000..e582270c44 >> --- /dev/null >> +++ b/package/bmap-tools/Config.in >> @@ -0,0 +1,15 @@ >> +config BR2_PACKAGE_BMAP_TOOLS >> + bool "bmap-tools" >> + depends on BR2_PACKAGE_PYTHON3 || \ >> + BR2_PACKAGE_PYTHON >> + select BR2_PACKAGE_PYTHON_SIX # runtime >> + select BR2_PACKAGE_PYTHON_SETUPTOOLS >> + help >> + Tool to flash image files to block devices using the block map >> + bmaptool is a generic tool for creating the block map (bmap) >> + for a file, and copying files using the block map. The idea is >> + that large file containing unused blocks, like raw system >> + image files, can be copied or flashed a lot faster with >> + bmaptool than with traditional tools like "dd" or "cp". >> + >> + https://github.com/intel/bmap-tools >> diff --git a/package/bmap-tools/bmap-tools.hash b/package/bmap-tools/bmap-tools.hash >> new file mode 100644 >> index 0000000000..794765b633 >> --- /dev/null >> +++ b/package/bmap-tools/bmap-tools.hash >> @@ -0,0 +1,2 @@ >> +sha256 d410e2d97192d0fc2f88ef160a0bb6ed83fce99da97a606d7f6890cc654ec594 bmap-tools-3.5.tar.gz >> +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING >> diff --git a/package/bmap-tools/bmap-tools.mk b/package/bmap-tools/bmap-tools.mk >> new file mode 100644 >> index 0000000000..4c2465876e >> --- /dev/null >> +++ b/package/bmap-tools/bmap-tools.mk >> @@ -0,0 +1,15 @@ >> +################################################################################ >> +# >> +# bmap-tools >> +# >> +################################################################################ >> + >> +BMAP_TOOLS_VERSION = 3.5 >> +BMAP_TOOLS_SITE = $(call github,intel,bmap-tools,v$(BMAP_TOOLS_VERSION)) >> +BMAP_TOOLS_LICENSE = GPL-2.0 >> +BMAP_TOOLS_LICENSE_FILES = COPYING >> +BMAP_TOOLS_SETUP_TYPE = setuptools >> +BMAP_TOOLS_DEPENDENCIES = \ >> + python-setuptools > When you create a new package for a software in Buildroot, it can be useful to > check how the software is packaged for other Linux distribution or build tool > (Yocto). > > For example, Fedora, ArchLinux and Debian > > https://github.com/intel/bmap-tools/blob/master/packaging/bmap-tools.spec#L20 > https://github.com/intel/bmap-tools/blob/master/debian/control#L13 > > python-gpgme, > ${misc:Depends}, > ${python:Depends}, > bzip2, > pbzip2, > gzip, > pigz, > lzop, > liblz4-tool, > xz-utils, > tar, > unzip > > Some of theses (maybe optional) dependencies are missing in your patch. > Can you check them? When python2 is used, BR2_PACKAGE_PYTHON_HASHLIB should be selected [1] (to be checked but I'm not sure it's worth the effort to test python2 case, maybe you can make this package python3 only) [1] https://github.com/intel/bmap-tools/blob/master/bmaptools/BmapCopy.py#L62 For others dependencies, bmaptool is testing several command at runtime (ssh, pigz, pbzip2) but it can use an alternative tool for some of them. (grep for program_is_available in the code) - ssh command is required for remote access. - pbzip2 command can be replaced by bzip2 but in the system used for testing bzip2 is not installed. - tar is used as archiver but it can be use with options that is not available from the busybox version. Here is the output of tar --help from busybox: Create, extract, or list files from a tar file c Create x Extract t List -f FILE Name of TARFILE ('-' for stdin/out) -C DIR Change to DIR before operation -v Verbose -O Extract to stdout -o Don't restore user:group -k Don't replace existing files -h Follow symlinks -T FILE File with names to include -X FILE File with glob patterns to exclude --exclude PATTERN Glob pattern to exclude By looking at the code [1] bmaptool is expecting the complete version of tar command. The one that provide -z option. Note: you can also add -z option for busybox tar but it require to enable it from the busybox configuration. There are other such unsupported options. I would suggest to select the tar package (don't forget to add tar's reverse dependencies) [1] https://github.com/intel/bmap-tools/blob/master/bmaptools/TransRead.py#L336 Best regards, Romain > > Best regards, > Romain > >> + >> +$(eval $(python-package)) >> >
Hello Nicolas, On Tue, 5 Nov 2019 12:51:09 +0000 Nicolas Carrier <nicolas.carrier@orolia.com> wrote: > I need bmap-tools on the target since it's what our flashing / upgrade procudure > uses to speed up the process (flashing ~8GB disk images full of zeroes). > > Changes v3 -v4: > - added the upstream URL to the package's help > > Changes v2 -> v3: > - double-checked that setuptools is required by bmap-tools at runtime too > - moved the "v" from BMAP_TOOLS_VERSION to BMAP_TOOLS_SITE (in the .hash too) > - changed license name from GPLv2 to GPL-2.0 > > Changes v1 -> v2: > - no change > > --- > > Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com> This patch series received some significant review and comments from Romain Naour, but you haven't posted a v5. I've marked the v4 as Changes Requested, which means that if you don't send a v5, we will unfortunately forget about this contribution. Thanks! Thomas
Hello Thomas, Thank you very much for the notice, I'll take a look, this patch is starting to get quite old :) I missed Romain's comments, because the mails for patches I have been working on, are drowned into the rest of the ML's messages. It's really by luck that I noticed this one :) I'll try to configure some filtering in by email client, but is there some setup option to get only emails for patch series I'm working on? The Ml's volume is way to high for me to follow the pace :/ On Thu, 2020-09-03 at 20:44 +0200, Thomas Petazzoni wrote: > CAUTION: This email originated from outside of the organization. > Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > Hello Nicolas, > > On Tue, 5 Nov 2019 12:51:09 +0000 > Nicolas Carrier <nicolas.carrier@orolia.com> wrote: > > > I need bmap-tools on the target since it's what our flashing / > > upgrade procudure > > uses to speed up the process (flashing ~8GB disk images full of > > zeroes). > > > > Changes v3 -v4: > > - added the upstream URL to the package's help > > > > Changes v2 -> v3: > > - double-checked that setuptools is required by bmap-tools at > > runtime too > > - moved the "v" from BMAP_TOOLS_VERSION to BMAP_TOOLS_SITE (in > > the .hash too) > > - changed license name from GPLv2 to GPL-2.0 > > > > Changes v1 -> v2: > > - no change > > > > --- > > > > Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com> > > This patch series received some significant review and comments from > Romain Naour, but you haven't posted a v5. I've marked the v4 as > Changes Requested, which means that if you don't send a v5, we will > unfortunately forget about this contribution. > > Thanks! > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
Hello, On Fri, 04 Sep 2020 08:39:58 +0200 Nicolas Carrier <nicolas.carrier@orolia.com> wrote: > Thank you very much for the notice, I'll take a look, this patch is > starting to get quite old :) > > I missed Romain's comments, because the mails for patches I have been > working on, are drowned into the rest of the ML's messages. > It's really by luck that I noticed this one :) > > I'll try to configure some filtering in by email client, but is there > some setup option to get only emails for patch series I'm working on? > The Ml's volume is way to high for me to follow the pace :/ You're probably not filtering e-mails the correct way. To filter e-mails from the mailing list, you should filter them based on the "List-Id" header. If you do that, all the mailing list traffic will go to your "buildroot" e-mail folder. But if you're explicitly Cc'ed on an e-mail (which is the case here), you will receive it in your Inbox. This allows to nicely split the "general mailing list traffic" from "the specific things on which your input is needed". Best regards, Thomas
Hello, Thank you Thomas for the nice trick, I'll test that right now :) On Fri, 2020-09-04 at 09:09 +0200, Thomas Petazzoni wrote: > CAUTION: This email originated from outside of the organization. > Do not click links or open attachments unless you recognize the > sender and know the content is safe. > > Hello, > > On Fri, 04 Sep 2020 08:39:58 +0200 > Nicolas Carrier <nicolas.carrier@orolia.com> wrote: > > > Thank you very much for the notice, I'll take a look, this patch is > > starting to get quite old :) > > > > I missed Romain's comments, because the mails for patches I have > > been > > working on, are drowned into the rest of the ML's messages. > > It's really by luck that I noticed this one :) > > > > I'll try to configure some filtering in by email client, but is > > there > > some setup option to get only emails for patch series I'm working > > on? > > The Ml's volume is way to high for me to follow the pace :/ > > You're probably not filtering e-mails the correct way. To filter > e-mails from the mailing list, you should filter them based on the > "List-Id" header. > > If you do that, all the mailing list traffic will go to your > "buildroot" e-mail folder. But if you're explicitly Cc'ed on an e- > mail > (which is the case here), you will receive it in your Inbox. This > allows to nicely split the "general mailing list traffic" from "the > specific things on which your input is needed". > > Best regards, > > Thomas > -- > Thomas Petazzoni, CTO, Bootlin > Embedded Linux and Kernel engineering > https://bootlin.com
diff --git a/DEVELOPERS b/DEVELOPERS index 24c57b25f7..947722a8c7 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1728,6 +1728,9 @@ F: package/libevdev/ N: Nicola Di Lieto <nicola.dilieto@gmail.com> F: package/uacme/ +N: Nicolas Carrier <nicolas.carrier@orolia.com> +F: package/bmap-tools/ + N: Nicolas Cavallari <nicolas.cavallari@green-communications.fr> F: package/libgit2/ diff --git a/package/Config.in b/package/Config.in index 1ad1d49a8a..52852ac2fc 100644 --- a/package/Config.in +++ b/package/Config.in @@ -184,6 +184,7 @@ menu "Filesystem and flash utilities" source "package/aufs/Config.in" source "package/aufs-util/Config.in" source "package/autofs/Config.in" + source "package/bmap-tools/Config.in" source "package/btrfs-progs/Config.in" source "package/cifs-utils/Config.in" source "package/cpio/Config.in" diff --git a/package/bmap-tools/Config.in b/package/bmap-tools/Config.in new file mode 100644 index 0000000000..e582270c44 --- /dev/null +++ b/package/bmap-tools/Config.in @@ -0,0 +1,15 @@ +config BR2_PACKAGE_BMAP_TOOLS + bool "bmap-tools" + depends on BR2_PACKAGE_PYTHON3 || \ + BR2_PACKAGE_PYTHON + select BR2_PACKAGE_PYTHON_SIX # runtime + select BR2_PACKAGE_PYTHON_SETUPTOOLS + help + Tool to flash image files to block devices using the block map + bmaptool is a generic tool for creating the block map (bmap) + for a file, and copying files using the block map. The idea is + that large file containing unused blocks, like raw system + image files, can be copied or flashed a lot faster with + bmaptool than with traditional tools like "dd" or "cp". + + https://github.com/intel/bmap-tools diff --git a/package/bmap-tools/bmap-tools.hash b/package/bmap-tools/bmap-tools.hash new file mode 100644 index 0000000000..794765b633 --- /dev/null +++ b/package/bmap-tools/bmap-tools.hash @@ -0,0 +1,2 @@ +sha256 d410e2d97192d0fc2f88ef160a0bb6ed83fce99da97a606d7f6890cc654ec594 bmap-tools-3.5.tar.gz +sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING diff --git a/package/bmap-tools/bmap-tools.mk b/package/bmap-tools/bmap-tools.mk new file mode 100644 index 0000000000..4c2465876e --- /dev/null +++ b/package/bmap-tools/bmap-tools.mk @@ -0,0 +1,15 @@ +################################################################################ +# +# bmap-tools +# +################################################################################ + +BMAP_TOOLS_VERSION = 3.5 +BMAP_TOOLS_SITE = $(call github,intel,bmap-tools,v$(BMAP_TOOLS_VERSION)) +BMAP_TOOLS_LICENSE = GPL-2.0 +BMAP_TOOLS_LICENSE_FILES = COPYING +BMAP_TOOLS_SETUP_TYPE = setuptools +BMAP_TOOLS_DEPENDENCIES = \ + python-setuptools + +$(eval $(python-package))
--- I need bmap-tools on the target since it's what our flashing / upgrade procudure uses to speed up the process (flashing ~8GB disk images full of zeroes). Changes v3 -v4: - added the upstream URL to the package's help Changes v2 -> v3: - double-checked that setuptools is required by bmap-tools at runtime too - moved the "v" from BMAP_TOOLS_VERSION to BMAP_TOOLS_SITE (in the .hash too) - changed license name from GPLv2 to GPL-2.0 Changes v1 -> v2: - no change --- Signed-off-by: Nicolas Carrier <nicolas.carrier@orolia.com> --- DEVELOPERS | 3 +++ package/Config.in | 1 + package/bmap-tools/Config.in | 15 +++++++++++++++ package/bmap-tools/bmap-tools.hash | 2 ++ package/bmap-tools/bmap-tools.mk | 15 +++++++++++++++ 5 files changed, 36 insertions(+) create mode 100644 package/bmap-tools/Config.in create mode 100644 package/bmap-tools/bmap-tools.hash create mode 100644 package/bmap-tools/bmap-tools.mk