Bug#1077077: xutils-dev: Fix spurious ar clq command
Package: xutils-dev
Version: 1:7.7+6.2
Severity: important
Tags: patch
Hello,
As applied upstream, on GNU OSes, we now need to use "ar cq" instead of
"ar clq". The attached upstream patch fixes this, could you add it?
Thanks,
Samuel
-- System Information:
Debian Release: trixie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable-debug'), (500, 'unreleased'), (500, 'testing-debug'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'oldstable-proposed-updates-debug'), (500, 'oldstable-proposed-updates'), (500, 'oldoldstable'), (500, 'buildd-unstable'), (500, 'unstable'), (500, 'stable'), (500, 'oldstable'), (1, 'experimental-debug'), (1, 'buildd-experimental'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386, arm64
Kernel: Linux 6.9.8-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages xutils-dev depends on:
ii cpp 4:13.2.0-7
ii libc6 2.38-14
xutils-dev recommends no packages.
xutils-dev suggests no packages.
-- no debconf information
--
Samuel
<c> ya(ka|ma|to)* ca existe une fois sur 2 au japon, c'est facile ;-)
-+- #ens-mim au japon -+-
commit 90b66dc73deb9ef303690370395cf831425547c7
Author: Yasuhiro Kimura <yasu@utahime.org>
Date: Thu Oct 13 15:22:02 2022 +0900
Fix incompatibility issue of GNU binutils 2.36 and later on FreeBSD.
Commit a6d4d6223ef75119d5373fa4cc04161bcdb4e769 fixes incompatibility
issue of GNU binutils 2.36 and later. If I check the diff of the
commit, there seems to be asumption that the issue is specific to
Linux. But it also happens on FreeBSD if user installs GNU binutils
from FreeBSD ports/packages collections and '/usr/local/bin' comes
before '/usr/bin' in the value of PATH enviroment variable. So fix the
issue also on FreeBSD with following way.
1. Introduce new macro 'HasGnuAr'.
2. Change Imake.tmpl so it defines 'ArCmd' as 'ArCmdBase cq' if
'HasGnuAr' is defined.
3. Define 'HasGnuAr' in both FreeBSD.cf and linux.cf.
Since 'ar' command of FreeBSD base system simply ignores 'l' option,
it also works fine even if GNU binutils isn't installed.
commit 26b383ac4a5b65f808d1a159864fac266f136c84
Author: Samuel Thibault <samuel.thibault@ens-lyon.org>
Date: Thu Jul 25 22:48:36 2024 +0200
Also fix incompatibility issue of GNU binutils 2.36 and later on GNU/Hurd
Just like 90b66dc73deb ("Fix incompatibility issue of GNU binutils 2.36
and later on FreeBSD.") did.
Index: xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/FreeBSD.cf
===================================================================
--- xutils-dev-7.7+6.2+hurd.1.orig/xorg-cf-files/FreeBSD.cf
+++ xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/FreeBSD.cf
@@ -153,6 +153,9 @@ XCOMM operating system: OSName (OSMajor
#ifndef HasFlex
#define HasFlex YES
#endif
+#ifndef HasGnuAr
+#define HasGnuAr YES
+#endif
#ifndef HasMktemp
#if (OSMajorVersion >= 4) || (OSMajorVersion == 3 && OSMinorVersion >= 1) || \
Index: xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/Imake.tmpl
===================================================================
--- xutils-dev-7.7+6.2+hurd.1.orig/xorg-cf-files/Imake.tmpl
+++ xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/Imake.tmpl
@@ -1140,7 +1140,7 @@ TCLIBDIR = TclLibDir
#define ArCmdBase ar
#endif
#ifndef ArCmd
-#if HasLargeTmp || SystemV4 || LinuxBinUtilsMajorVersion
+#if HasLargeTmp || SystemV4 || HasGnuAr
#define ArCmd ArCmdBase cq
#else
#define ArCmd ArCmdBase clq
Index: xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/linux.cf
===================================================================
--- xutils-dev-7.7+6.2+hurd.1.orig/xorg-cf-files/linux.cf
+++ xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/linux.cf
@@ -103,6 +103,10 @@ XCOMM platform: $XFree86: xc/config/cf/
# define LinuxBinUtilsMajorVersion DefaultLinuxBinUtilsMajorVersion
#endif
+#ifndef HasGnuAr
+#define HasGnuAr YES
+#endif
+
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
XCOMM libc: (LinuxCLibMajorVersion./**/LinuxCLibMinorVersion./**/LinuxCLibTeenyVersion)
XCOMM binutils: (LinuxBinUtilsMajorVersion)
Index: xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/gnu.cf
===================================================================
--- xutils-dev-7.7+6.2+hurd.1.orig/xorg-cf-files/gnu.cf
+++ xutils-dev-7.7+6.2+hurd.1/xorg-cf-files/gnu.cf
@@ -35,6 +35,9 @@ XCOMM $XdotOrg: xc/config/cf/gnu.cf,v 1.
#ifndef ManDirectoryRoot
# define ManDirectoryRoot /usr/share/man
#endif
+#ifndef HasGnuAr
+#define HasGnuAr YES
+#endif
XCOMM operating system: OSName (OSMajorVersion./**/OSMinorVersion./**/OSTeenyVersion)
XCOMM libc: (GnuCLibMajorVersion./**/GnuCLibMinorVersion./**/GnuCLibTeenyVersion)
Reply to: