1
0

sync with Debian

This commit is contained in:
Konstantin Demin 2025-04-07 12:53:36 +03:00
parent 5205e81720
commit cb529499fc
6 changed files with 84 additions and 26 deletions

@ -221,27 +221,17 @@ class Gencontrol(Base):
do_meta = config.packages.meta
relation_compiler = PackageRelationEntry(cast(str, config.build.compiler))
relation_compiler_host = PackageRelationEntry(
relation_compiler,
name=f'{relation_compiler.name}-for-host',
)
relation_compiler_header = PackageRelationGroup([relation_compiler])
# Generate compiler build-depends for native:
# gcc-N [arm64] <!cross !pkg.linux.nokernel>
# Generate compiler build-depends:
self.bundle.source.build_depends_arch.merge([
PackageRelationEntry(
relation_compiler,
relation_compiler_host,
arches={arch},
restrictions='<!cross !pkg.linux.nokernel>',
)
])
# Generate compiler build-depends for cross:
# gcc-N-aarch64-linux-gnu [arm64] <cross !pkg.linux.nokernel>
self.bundle.source.build_depends_arch.merge([
PackageRelationEntry(
relation_compiler,
name=f'{relation_compiler.name}-{config.defs_debianarch.gnutype_package}',
arches={arch},
restrictions='<cross !pkg.linux.nokernel>',
restrictions='<!pkg.linux.nokernel>',
)
])
@ -307,7 +297,7 @@ class Gencontrol(Base):
desc.append(config.description.long[part])
desc.append_short(config.description.short[part])
packages_headers[0].depends.merge(relation_compiler_header)
packages_headers[0].depends.merge([relation_compiler_host])
packages_own.extend(packages_image)
packages_own.extend(packages_headers)

@ -457,6 +457,8 @@ class PackageBuildprofileEntry:
ret.neg.add(i[1:])
else:
ret.pos.add(i)
if ret.pos & ret.neg:
raise ValueError
return ret
def __eq__(self, other: object, /) -> bool:
@ -487,7 +489,7 @@ class PackageBuildprofileEntry:
return self.pos <= other.pos and self.neg >= other.neg
__ge__ = issuperset
def update(self, other: Self, /) -> None:
def update(self, other: Self, /) -> Self:
'''
Update the build profiles, adding entries from other, merging if possible.
@ -495,11 +497,30 @@ class PackageBuildprofileEntry:
All others remain if they are used on both sides.
'''
diff = (self.pos & other.neg) | (self.neg & other.pos)
self.pos &= other.pos - diff
self.neg &= other.neg - diff
self.pos &= other.pos
self.neg &= other.neg
self.pos -= diff
self.neg -= diff
return self
__ior__ = update
def intersection_update(self, other: Self, /) -> Self:
'''
Update the build profiles, creating an intersection of both.
Negating entries (profile vs !profile) are completely removed.
All others remain.
'''
diff = (self.pos & other.neg) | (self.neg & other.pos)
self.pos |= other.pos
self.neg |= other.neg
self.pos -= diff
self.neg -= diff
return self
__iand__ = intersection_update
def __len__(self) -> int:
return len(self.pos) + len(self.neg)
def __str__(self) -> str:
@ -522,7 +543,7 @@ class PackageBuildprofile(list[PackageBuildprofileEntry]):
ret.append(PackageBuildprofileEntry.parse(match.group('entry')))
return ret
def update(self, v: Self, /) -> None:
def update(self, v: Self, /) -> Self:
for i in v:
for j in self:
if not j.isdisjoint(i):
@ -530,8 +551,21 @@ class PackageBuildprofile(list[PackageBuildprofileEntry]):
break
else:
self.append(i)
return self
__ior__ = update
def intersection_update(self, v: Self, /) -> Self:
if len(v) > 1:
raise ValueError
for i in v:
if self:
for j in self:
j.intersection_update(i)
else:
self.append(i)
return self
__iand__ = intersection_update
def __str__(self) -> str:
return ' '.join(f'<{str(i)}>' for i in self if i)

@ -346,8 +346,7 @@ class PackagesBundle:
for item in group:
if package.architecture != arch_all and not item.arches:
item.arches = package.architecture
if package.build_profiles and not item.restrictions:
item.restrictions = package.build_profiles
item.restrictions &= package.build_profiles
build_dep.merge(group)
def write(self) -> None:

@ -0,0 +1,34 @@
From: Takashi Iwai <tiwai@suse.de>
Date: Wed, 2 Apr 2025 09:42:07 +0200
Subject: ALSA: hda/realtek: Fix built-in mic on another ASUS VivoBook model
Origin: https://git.kernel.org/linus/8983dc1b66c0e1928a263b8af0bb06f6cb9229c4
Bug-Debian: https://bugs.debian.org/1100928
There is another VivoBook model which built-in mic got broken recently
by the fix of the pin sort. Apply the correct quirk
ALC256_FIXUP_ASUS_MIC_NO_PRESENCE to this model for addressing the
regression, too.
Fixes: 3b4309546b48 ("ALSA: hda: Fix headset detection failure due to unstable sort")
Closes: https://lore.kernel.org/Z95s5T6OXFPjRnKf@eldamar.lan
Link: https://patch.msgid.link/20250402074208.7347-1-tiwai@suse.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
---
sound/pci/hda/patch_realtek.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c
index eec3ea1a7e08..79004bc8107b 100644
--- a/sound/pci/hda/patch_realtek.c
+++ b/sound/pci/hda/patch_realtek.c
@@ -10889,6 +10889,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x1043, 0x1c43, "ASUS UX8406MA", ALC245_FIXUP_CS35L41_SPI_2),
SND_PCI_QUIRK(0x1043, 0x1c62, "ASUS GU603", ALC289_FIXUP_ASUS_GA401),
SND_PCI_QUIRK(0x1043, 0x1c63, "ASUS GU605M", ALC285_FIXUP_ASUS_GU605_SPI_SPEAKER2_TO_DAC1),
+ SND_PCI_QUIRK(0x1043, 0x1c80, "ASUS VivoBook TP401", ALC256_FIXUP_ASUS_MIC_NO_PRESENCE),
SND_PCI_QUIRK(0x1043, 0x1c92, "ASUS ROG Strix G15", ALC285_FIXUP_ASUS_G533Z_PINS),
SND_PCI_QUIRK(0x1043, 0x1c9f, "ASUS G614JU/JV/JI", ALC285_FIXUP_ASUS_HEADSET_MIC),
SND_PCI_QUIRK(0x1043, 0x1caf, "ASUS G634JY/JZ/JI/JG", ALC285_FIXUP_ASUS_SPI_REAR_SPEAKERS),
--
2.49.0

@ -69,6 +69,7 @@ features/x86/x86-make-x32-syscall-support-conditional.patch
bugfix/all/disable-some-marvell-phys.patch
bugfix/all/fs-add-module_softdep-declarations-for-hard-coded-cr.patch
bugfix/all/documentation-use-relative-source-paths-in-abi-documentation.patch
bugfix/all/ALSA-hda-realtek-Fix-built-in-mic-on-another-ASUS-Vi.patch
# Miscellaneous features

@ -4,7 +4,7 @@ Build-Profiles: <!pkg.linux.notools !pkg.linux.mintools>
Section: devel
Architecture: linux-any
Build-Depends:
python3-docutils <!pkg.linux.notools>,
python3-docutils,
binutils-dev [hppa],
libelf-dev,
zlib1g-dev,
@ -64,7 +64,7 @@ Build-Profiles: <!pkg.linux.notools !pkg.linux.mintools !nopython>
Section: devel
Architecture: alpha amd64 arm64 armel armhf hppa i386 loong64 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc ppc64 ppc64el riscv64 s390 s390x sh4 sparc sparc64
Build-Depends:
asciidoctor <!pkg.linux.notools !nopython>,
asciidoctor,
gcc-multilib [amd64 mips64 mips64el mips64r6 mips64r6el ppc64 s390x sparc64] <!cross>,
g++-multilib [amd64 mips64 mips64el mips64r6 mips64r6el ppc64 s390x sparc64] <!cross>,
libaudit-dev,