sedutil: upgrade to 1.49.13

The 1.4x releases are cut on the "develop" branch,

Add UPSTREAM_CHECK_GITTAGREGEX to keep the version check sane.

The release needs a few adjustments beyond the version bump:

 * linux/DtaLinux.cpp now includes <systemd/sd-device.h> and
   <nvme/types.h> unconditionally, and Makefile.am hardcodes
   LDADD = -lsystemd, with no non-systemd fallback. Add the systemd and
   libnvme dependencies (matching the package list in the BUILDING file)
   and require the systemd distro feature.

 * Makefile.am declares .INTERMEDIATE, which automake defines itself in
   distdir.am, and configure.ac uses AM_INIT_AUTOMAKE([-Wall -Werror]),
   so autoreconf fails with automake 1.19:

     automake: warnings are treated as errors
     Makefile.am:152: warning: user target '.INTERMEDIATE' defined here ...
     .../am/distdir.am: ... overrides Automake target '.INTERMEDIATE' defined here

   Add a patch dropping the declaration.

 * Clear WERROR so that upstream's -Werror does not turn new compiler
   diagnostics into build failures. clang 23 enables -Wunused-template,
   which fires on the deliberately unused sd_device_new_from_devname()
   SFINAE fallback.

 * Generate linux/Version.h up front instead of letting Makefile.am run
   "git describe --dirty", which needs git at build time and reports
   "1.49.13-dirty" because do_patch leaves the tree modified.

Signed-off-by: Khem Raj <khem.raj@oss.qualcomm.com>
This commit is contained in:
Khem Raj
2026-09-11 22:47:22 -07:00
parent ff240ccd2c
commit 70144b3c9a
2 changed files with 50 additions and 5 deletions
@@ -0,0 +1,35 @@
From 2ef56c134de35938119105dd92ca5ae4842ab338 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 11 Sep 2026 07:46:11 -0700
Subject: [PATCH] build: do not override Automake's own .INTERMEDIATE target
Automake defines .INTERMEDIATE itself in distdir.am, so declaring it in
Makefile.am makes automake complain, and since configure.ac uses
AM_INIT_AUTOMAKE([-Wall -Werror]) the warning is fatal:
automake: warnings are treated as errors
Makefile.am:152: warning: user target '.INTERMEDIATE' defined here ...
.../automake-1.19/am/distdir.am: ... overrides Automake target '.INTERMEDIATE' defined here
autoreconf: error: automake failed with exit status: 1
The declaration only asked make to remove the generated linux/Version.h
again once the build is done, which is not worth breaking the build over.
Drop it.
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 1 -
1 file changed, 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 112e172..8110fae 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -149,7 +149,6 @@ man_MANS = docs/sedutil-cli.8
linux/Version.h:
$(srcdir)/Customizations/linux/CLI/GitVersion.sh > linux/Version.h
-.INTERMEDIATE: linux/Version.h
maintainer-clean-local:
rm config.status configure config.log
@@ -7,12 +7,22 @@ LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://Common/LICENSE.txt;md5=d32239bcb673463ab874e80d47fae504"
PV = "1.20.0+git"
SRCREV = "6270fb0e3c110572d96936a473b5e0d21a39884d"
SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git;branch=master;protocol=https \
SRCREV = "1b0633afbe02bf5aa084f1efbedeeb065b00d209"
SRC_URI = "git://github.com/Drive-Trust-Alliance/sedutil.git;branch=develop;protocol=https;tag=${PV} \
file://0001-Fix-build-on-big-endian-architectures.patch \
file://0001-build-do-not-override-Automake-s-own-.INTERMEDIATE-t.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "^(?P<pver>\d+(\.\d+)+)$"
inherit autotools-brokensep
DEPENDS = "systemd libnvme"
REQUIRED_DISTRO_FEATURES = "systemd"
inherit autotools-brokensep features_check
EXTRA_OEMAKE += "WERROR="
do_compile:prepend() {
mkdir -p ${B}/linux
echo '#define GIT_VERSION "${PV}"' > ${B}/linux/Version.h
}