<feed xmlns='http://www.w3.org/2005/Atom'>
<title>staging/xback/tools/mtd-utils, branch master</title>
<subtitle>Staging tree of Koen Vandeputte</subtitle>
<id>https://git.openwrt.org/openwrt/staging/xback/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/openwrt/staging/xback/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/'/>
<updated>2026-10-03T20:45:10Z</updated>
<entry>
<title>tools/mtd-utils: make mkfs.ubifs images reproducible</title>
<updated>2026-10-03T20:45:10Z</updated>
<author>
<name>Paul Spooren</name>
</author>
<published>2026-09-23T12:52:24Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=1eaea67aef65b8d7306df8986ac0ba0cd75c2803'/>
<id>urn:sha1:1eaea67aef65b8d7306df8986ac0ba0cd75c2803</id>
<content type='text'>
UBIFS root file systems differ between builds, e.g. the one of the
Microchip SAMA7G5-EK: the superblock gets a random UUID, the inodes get
the ctime of the build host, which can't be reset with touch, and the
entries of each directory are added in readdir() order, which depends on
the host file system and decides inode numbers and layout.

Add a patch that, when SOURCE_DATE_EPOCH is set, uses a time-based
(version 1) UUID with that time and clamps all inode times to it. The
node ID of the UUID is taken from the new --uuid-node option, which the
image build sets from IMG_PART_DISKGUID, itself derived from
SOURCE_DATE_EPOCH and the kernel vermagic.
Directory entries are added sorted by name. Two trees with the same
contents but different ctimes and readdir() order now give identical
images; without SOURCE_DATE_EPOCH the UUID stays random.

Link: https://github.com/openwrt/openwrt/pull/25430
Signed-off-by: Paul Spooren &lt;mail@aparcar.org&gt;
</content>
</entry>
<entry>
<title>tools: cache the configure results of eleven more autotools tools</title>
<updated>2026-09-22T18:29:59Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2026-09-22T18:23:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=6eae1d6b772eeb012046f64be83ecf9ea5ef7514'/>
<id>urn:sha1:6eae1d6b772eeb012046f64be83ecf9ea5ef7514</id>
<content type='text'>
Configure stage without a cache against a warm cache:

  mtools      3.34 s -&gt; 0.28 s
  gengetopt   4.39 s -&gt; 2.13 s
  fakeroot   10.97 s -&gt; 8.73 s
  xz          4.32 s -&gt; 2.17 s
  libressl    3.07 s -&gt; 1.46 s
  flex       12.32 s -&gt; 10.98 s
  expat       2.74 s -&gt; 1.52 s
  bc          1.34 s -&gt; 0.38 s
  dosfstools  3.13 s -&gt; 2.54 s
  libtool     2.86 s -&gt; 2.29 s
  mtd-utils   4.06 s -&gt; 3.56 s

flex, fakeroot, dosfstools and mtd-utils run autoreconf in the same
stage, and the cache does not reach that part.

Each of the eleven configures the same way with a warm cache as it does
without one: the check configures three times, without a cache, with a
cold cache and with a warm cache, and every generated file of the first
and the last run is identical. A static scan of each configure script
found no cache check that changes CFLAGS, CPPFLAGS, LDFLAGS or LIBS
without restoring it.

patchelf, mklibs and automake pass the same check but gain less than
half a second, so they stay out.

make world after make tools/clean now takes 121 s against 177 s with
cold caches.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
</content>
</entry>
<entry>
<title>tools: build erofs-utils, mtd-utils and cpio in parallel</title>
<updated>2026-09-22T16:18:58Z</updated>
<author>
<name>John Crispin</name>
</author>
<published>2026-09-20T17:16:54Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=3d597977b6616cc4206d5a95b134f13e581032b5'/>
<id>urn:sha1:3d597977b6616cc4206d5a95b134f13e581032b5</id>
<content type='text'>
A tool builds with -j1 unless it sets HOST_BUILD_PARALLEL, and 45 of the
73 tools do not set it. These three gain the most from the job server on
a cold build of this tree:

  erofs-utils  23.11 s -&gt; 15.73 s
  mtd-utils    11.70 s -&gt;  6.42 s
  cpio          8.46 s -&gt;  3.56 s

Each one builds three times out of three with the job server, and each
build writes a tree that is identical to the one a serial build writes.

Signed-off-by: John Crispin &lt;john@phrozen.org&gt;
</content>
</entry>
<entry>
<title>tools/mtd-utils: update to v2.3.1</title>
<updated>2026-04-16T18:45:40Z</updated>
<author>
<name>Shiji Yang</name>
</author>
<published>2026-04-15T17:03:59Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=d870511c827dea44ec6fcf660bdf390b3ec7cf99'/>
<id>urn:sha1:d870511c827dea44ec6fcf660bdf390b3ec7cf99</id>
<content type='text'>
Fixes:
  - ubifs-utils: link libmissing.a in case execinfo.h isn't present
  - ubifs-utils: common: fix memory leak in devtable.c
  - Broken check for GCC compiler versions
  - ubifs-utils: missing header file includes
  - ubifs-utils: tests: missing files in release tarball
  - mtd-tests: flash_speed: really skip destructive tests
  - mtd-tests: flash_speed: wrong error message in read_eraseblock()
  - serve_image: fix _POSIX_C_SOURCE define
  - ubiattach: fix wording in usage example
  - fsck.ubifs: don't use pointers that reference out-of-scope variables
  - fsck.ubifs: fix platform dependant `ino_t` and `loff_t` formatting
  - docfdisk.c: fix potential arithmetic overflows in partition size
  - jittertest: reject overlong file names

Changes:
  - ubirsvol: resize using all available free space if size is specified
    as 0

Upstreamed patches:
  - 001-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch[1]
  - 002-ubifs-utils-common-fix-memory-leak-in-devtable.c.patch[2]
  - 004-Improve-check-for-GCC-compiler-version.patch[3]
  - 005-ubifs-utils-ubifs.h-Include-fcntl.h.patch[4]
  - 006-ubifs-utils-journal-Include-sys-stat.h.patch[5]
  - 007-ubifs-utils-extract_files-Include-linux-limits.h.patch[6]

[1] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=8a83b306db64d6f60186d4396b0b770163b85b6e
[2] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=2669111e3c60b8e146c174db5d2e7e9991f3dd87
[3] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=ac0ab65ebcd7b11739986b81343457469fbb43b0
[4] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=12bc9ad824bd8f18a5ec9c7154ad2374cf8c7ae3
[5] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=173f9714c8da1d685bfa951d43b9310d16bbab3c
[6] https://git.infraroot.at/mtd-utils.git/commit/?h=v2.3.1&amp;id=77981a2888c711268b0e7f32af6af159c2288e23
Signed-off-by: Shiji Yang &lt;yangshiji66@outlook.com&gt;
Link: https://github.com/openwrt/openwrt/pull/22946
Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: fix patch 110 for musl</title>
<updated>2025-11-26T09:16:48Z</updated>
<author>
<name>Mario Andrés Pérez</name>
</author>
<published>2025-11-26T00:40:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=2e944e083e7bddc0a8f54c5a83a01c9333b3777b'/>
<id>urn:sha1:2e944e083e7bddc0a8f54c5a83a01c9333b3777b</id>
<content type='text'>
This patch is introducing the same header that the other patch
001-ubifs-utils-link-libmissing.a-in-case-execinfo.h-isn.patch
is guarding against missing in musl libc. We need to
mimic that.

Signed-off-by: Mario Andrés Pérez &lt;mapb_@outlook.com&gt;
Link: https://github.com/openwrt/openwrt/pull/20938
Signed-off-by: Christian Marangi &lt;ansuelsmth@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: Update to version 2.3.0</title>
<updated>2025-11-08T20:01:44Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2025-10-25T12:40:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=52c0e90bdc8a6b487a322b8180b65d3b69fbb47b'/>
<id>urn:sha1:52c0e90bdc8a6b487a322b8180b65d3b69fbb47b</id>
<content type='text'>
See announcement mail for list of new features:
https://lists.infradead.org/pipermail/linux-mtd/2025-February/108248.html

The removed patch 100-sscanf_fix.patch was applied upstream, see:
https://git.infradead.org/?p=mtd-utils.git;a=commitdiff;h=cba2d7875328b05a4a76f619de0ce7050f2df971

The patch 110-portability.patch was manually adapted.

Cherry pick some upstream commits which fix build problems in some
situations.

Link: https://github.com/openwrt/openwrt/pull/20540
Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: update to 2.2.1</title>
<updated>2024-10-05T10:41:16Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2024-10-03T15:57:37Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=32024dbcaa52cdd9ea9c4fc1bfd8789197979b30'/>
<id>urn:sha1:32024dbcaa52cdd9ea9c4fc1bfd8789197979b30</id>
<content type='text'>
Release notes:
https://lists.infradead.org/pipermail/linux-mtd/2024-September/106193.html

The rbtree implementation was moved, adapted the patches manually.

Link: https://github.com/openwrt/openwrt/pull/16594
Signed-off-by: Hauke Mehrtens &lt;hauke@hauke-m.de&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: use libuuid provided by util-linux</title>
<updated>2024-06-26T09:21:04Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2024-06-25T15:53:11Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=843b51b26d903c044610bf9a31afe24fa306efc3'/>
<id>urn:sha1:843b51b26d903c044610bf9a31afe24fa306efc3</id>
<content type='text'>
Now that util-linux is building libuuid we can simply use that instead
of manually pointing to e2fsprogs libuuid so we can disable building
libuuid in e2fsprogs.

Link: https://github.com/openwrt/openwrt/pull/15806
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: fix disabling tests</title>
<updated>2024-06-25T15:57:07Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2024-06-23T21:52:45Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=10293403534b452133a4e1027622a5444da0a4be'/>
<id>urn:sha1:10293403534b452133a4e1027622a5444da0a4be</id>
<content type='text'>
Passing --disable-tests does not do anything since upstream commit [0]
("Fix test binary installation") as that commit removed it since there is
already and existing --without-tests compile option to not compile
the tests at all as --disable-tests was just disabling their installation.

So, lets just pass --without-tests instead to disable test compilation.

[0] https://git.infraroot.at/mtd-utils.git/commit/?id=7170a28d46d5db1e7a9da24a5555a194a233ef0b

Fixes: 67efb6a66146 ("tools: mtd-utils: Update to version 2.1.4")
Link: https://github.com/openwrt/openwrt/pull/15791
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
<entry>
<title>tools: mtd-utils: update to 2.2.0</title>
<updated>2024-06-25T15:57:07Z</updated>
<author>
<name>Robert Marko</name>
</author>
<published>2024-06-23T21:47:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/openwrt/staging/xback/commit/?id=e07cc3237e8069aa48a19b11415d00b2c2ddd014'/>
<id>urn:sha1:e07cc3237e8069aa48a19b11415d00b2c2ddd014</id>
<content type='text'>
Release notes:
https://lists.infradead.org/pipermail/linux-mtd/2024-March/104058.html

Manually refresh the portability and JFFS2 LZMA patches.

Since mtd-utils have converted most of the JFFS2 compressors to be compile
time configurable and manual refreshing of JFFS2 LZMA was needed I also
converted it to a compile time option and enabled the new --with-lzma
option.

Link: https://github.com/openwrt/openwrt/pull/15791
Signed-off-by: Robert Marko &lt;robimarko@gmail.com&gt;
</content>
</entry>
</feed>
