linux-hwe-6.14: restore udebs on 6.14 branch
This commit is contained in:
parent
29b3357597
commit
aae253a2b9
7 changed files with 184 additions and 118 deletions
|
|
@ -1,67 +0,0 @@
|
|||
diff --git a/debian/rules b/debian/rules
|
||||
index a625a4c5..35f2aa25 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules
|
||||
@@ -176,6 +176,9 @@ debian/control: debian/canonical-revoked-certs.pem $(DEBIAN)/changelog FORCE
|
||||
-e 's|\(^Maintainer:.*\)|\1\nXSC-Ubuntu-Compatible-Signing: $(UBUNTU_COMPATIBLE_SIGNING)|g' \
|
||||
-e 's/\(^Build-Depends:$$\)/\1\n$(GCC_BUILD_DEPENDS)/g' \
|
||||
$@
|
||||
+ KW_DEFCONFIG_DIR=$(DEBIAN)/d-i KW_CONFIG_DIR=$(DEBIAN)/d-i \
|
||||
+ LANG=C kernel-wedge gen-control $(DEB_VERSION_UPSTREAM)-$(abinum) | \
|
||||
+ grep-dctrl -FArchitecture $(arch) >> $@
|
||||
|
||||
debian/canonical-certs.pem: $(wildcard debian/certs/*.pem $(DEBIAN)/certs/*.pem)
|
||||
for cert in $(sort $(notdir $^)); \
|
||||
|
||||
diff --git a/debian/rules b/debian/rules_
|
||||
index a625a4c5..1d9b5834 100755
|
||||
--- a/debian/rules
|
||||
+++ b/debian/rules_
|
||||
@@ -129,10 +129,10 @@ do_any_tools=$(sort $(filter-out false,$(do_linux_tools) $(do_cloud_tools)))
|
||||
|
||||
# Debian Build System targets
|
||||
.PHONY: binary
|
||||
-binary: binary-indep binary-arch
|
||||
+binary: debian/control binary-indep binary-arch
|
||||
|
||||
.PHONY: build
|
||||
-build: build-arch build-indep
|
||||
+build: debian/control build-arch build-indep
|
||||
|
||||
.PHONY: clean
|
||||
clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.pem
|
||||
@@ -140,6 +140,11 @@ clean: debian/control debian/canonical-certs.pem debian/canonical-revoked-certs.
|
||||
dh_testroot
|
||||
dh_clean
|
||||
|
||||
+ # d-i stuff
|
||||
+ rm -rf $(DEBIAN)/d-i-$(arch)
|
||||
+ # Generated on the fly.
|
||||
+ rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image
|
||||
+
|
||||
# normal build junk
|
||||
rm -rf $(DEBIAN)/abi
|
||||
rm -rf $(builddir) $(stampdir)
|
||||
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
|
||||
index 41985338..3943d0da 100644
|
||||
--- a/debian/rules.d/2-binary-arch.mk
|
||||
+++ b/debian/rules.d/2-binary-arch.mk
|
||||
@@ -181,10 +181,14 @@ endif
|
||||
install -m600 $(build_dir)/System.map \
|
||||
$(pkgdir)/boot/System.map-$(abi_release)-$*
|
||||
|
||||
-ifeq ($(do_dtbs),true)
|
||||
- $(kmake) O=$(build_dir) $(conc_level) dtbs_install \
|
||||
- INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree
|
||||
-endif
|
||||
+ if [ "$(filter true,$(do_dtbs))" ]; then \
|
||||
+ $(kmake) O=$(build_dir) $(conc_level) dtbs_install \
|
||||
+ INSTALL_DTBS_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \
|
||||
+ ( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print ) | \
|
||||
+ while read dtb_file; do \
|
||||
+ echo "$$dtb_file ?" >> $(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \
|
||||
+ done; \
|
||||
+ fi
|
||||
|
||||
ifeq ($(no_dumpfile),)
|
||||
makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
diff --git a/debian/scripts/control-create b/debian/scripts/control-create
|
||||
index 887f2863..faacf67f 100644
|
||||
--- a/debian/scripts/control-create
|
||||
+++ b/debian/scripts/control-create
|
||||
@@ -70,23 +70,12 @@ gen_per_flavour () {
|
||||
-e "s/TARGET/${target}/g"
|
||||
)
|
||||
|
||||
- if [ "${#signed_arch[@]}" != 0 ]; then
|
||||
- sed "${sed_common_patterns[@]}" \
|
||||
- -e "s/ARCH/${signed_arch[*]}/g" \
|
||||
- -e "s/=SIGN-ME-PKG=/-unsigned/g" \
|
||||
- -e "s/=SIGN-ME-TXT=/ unsigned/g" \
|
||||
- -e "s/=SIGN-PEER-PKG=//g" \
|
||||
- "${DEBIAN}/control.d/flavour-signed-control.stub"
|
||||
- fi
|
||||
-
|
||||
- if [ "${#unsigned_arch[@]}" != 0 ]; then
|
||||
- sed "${sed_common_patterns[@]}" \
|
||||
- -e "s/ARCH/${unsigned_arch[*]}/g" \
|
||||
- -e "s/=SIGN-ME-PKG=//g" \
|
||||
- -e "s/=SIGN-ME-TXT=//g" \
|
||||
- -e "s/=SIGN-PEER-PKG=/-unsigned/g" \
|
||||
- "${DEBIAN}/control.d/flavour-signed-control.stub"
|
||||
- fi
|
||||
+ sed "${sed_common_patterns[@]}" \
|
||||
+ -e "s/ARCH/${arch}/g" \
|
||||
+ -e "s/=SIGN-ME-PKG=//g" \
|
||||
+ -e "s/=SIGN-ME-TXT=//g" \
|
||||
+ -e "s/=SIGN-PEER-PKG=//g" \
|
||||
+ "${DEBIAN}/control.d/flavour-signed-control.stub"
|
||||
|
||||
sed "${sed_common_patterns[@]}" \
|
||||
-e "s/ARCH/${arch}/g" \
|
||||
|
|
@ -6,8 +6,12 @@ ifeq ($(disable_d_i),)
|
|||
do-binary-udebs
|
||||
endif
|
||||
|
||||
do-binary-udebs: linux_udeb_name=$(shell if echo $(src_pkg_name)|egrep -q '(linux-lts|linux-hwe|linux-[0-9]+\.[0-9]+)'; then echo $(src_pkg_name); else echo linux; fi)
|
||||
do-binary-udebs: debian/control
|
||||
# Hook into Ubuntu's architecture build process seamlessly
|
||||
binary-arch: binary-udebs
|
||||
|
||||
# Prefer DEB_SOURCE when available; fallback to src_pkg_name; otherwise "linux"
|
||||
do-binary-udebs: linux_udeb_name=$(if $(DEB_SOURCE),$(DEB_SOURCE),$(if $(src_pkg_name),$(src_pkg_name),linux))
|
||||
do-binary-udebs: debian/control extract-dtbs-for-udebs
|
||||
@echo Debug: $@
|
||||
dh_testdir
|
||||
dh_testroot
|
||||
|
|
@ -15,18 +19,39 @@ do-binary-udebs: debian/control
|
|||
# unpack the kernels into a temporary directory
|
||||
mkdir -p debian/d-i-${arch}
|
||||
|
||||
outdir="$${DPKG_BUILDPACKAGE_OUTPUT_DIR:-..}" && \
|
||||
imagelist=$$(cat $(CURDIR)/$(DEBIAN)/d-i/kernel-versions | grep ^${arch} | gawk '{print $$3}') && \
|
||||
for f in $$imagelist; do \
|
||||
i=$(release)-$(abinum)-$$f; \
|
||||
for f in \
|
||||
../linux-image-$$i\_$(release)-$(revision)_${arch}.deb \
|
||||
../linux-image-unsigned-$$i\_$(release)-$(revision)_${arch}.deb \
|
||||
../linux-modules-$$i\_$(release)-$(revision)_${arch}.deb \
|
||||
../linux-modules-extra-$$i\_$(release)-$(revision)_${arch}.deb; \
|
||||
for flavour in $$imagelist; do \
|
||||
i=$(DEB_VERSION_UPSTREAM)-$(abinum)-$$flavour; \
|
||||
found=0; \
|
||||
for deb in \
|
||||
"$$outdir"/linux-image-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-image-unsigned-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-modules-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-modules-extra-$$i\_*_${arch}.deb; \
|
||||
do \
|
||||
[ -f $$f ] && dpkg -x $$f debian/d-i-${arch}; \
|
||||
if [ -f "$$deb" ]; then \
|
||||
found=1; \
|
||||
dpkg -x "$$deb" debian/d-i-${arch}; \
|
||||
fi; \
|
||||
done; \
|
||||
/sbin/depmod -b debian/d-i-${arch} $$i; \
|
||||
if [ "$$found" = 0 ]; then \
|
||||
ls -1 "$$outdir"/linux-image-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-image-unsigned-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-modules-$$i\_*_${arch}.deb \
|
||||
"$$outdir"/linux-modules-extra-$$i\_*_${arch}.deb 2>/dev/null >&2 || true; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
rm -rf debian/d-i-${arch}/DEBIAN; \
|
||||
if [ ! -e debian/d-i-${arch}/lib/modules ] && [ -d debian/d-i-${arch}/usr/lib/modules ]; then \
|
||||
mkdir -p debian/d-i-${arch}/lib; \
|
||||
ln -s ../usr/lib/modules debian/d-i-${arch}/lib/modules; \
|
||||
fi; \
|
||||
if [ ! -d debian/d-i-${arch}/lib/modules/$$i ]; then \
|
||||
find debian/d-i-${arch} -maxdepth 6 -type d -name modules -print >&2 || true; \
|
||||
exit 1; \
|
||||
fi; \
|
||||
/sbin/depmod -b debian/d-i-${arch} -- $$i; \
|
||||
done
|
||||
|
||||
# kernel-wedge will error if no modules unless this is touched
|
||||
|
|
@ -36,44 +61,60 @@ do-binary-udebs: debian/control
|
|||
export KW_DEFCONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \
|
||||
export KW_CONFIG_DIR=$(CURDIR)/$(DEBIAN)/d-i && \
|
||||
export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \
|
||||
kernel-wedge install-files $(release)-$(abinum) && \
|
||||
kernel-wedge install-files $(DEB_VERSION_UPSTREAM)-$(abinum) && \
|
||||
kernel-wedge check
|
||||
|
||||
# Build just the udebs
|
||||
dilist=$$(dh_listpackages -s | grep "\-di$$") && \
|
||||
[ -z "$dilist" ] || \
|
||||
# Build just the udebs
|
||||
dilist=$$(dh_listpackages -a | grep "\-di$$") && \
|
||||
[ -z "$$dilist" ] || \
|
||||
for i in $$dilist; do \
|
||||
dh_fixperms -p$$i; \
|
||||
$(lockme) dh_gencontrol -p$$i; \
|
||||
dh_builddeb -p$$i; \
|
||||
done
|
||||
|
||||
|
||||
# Generate the meta-udeb dependancy lists.
|
||||
@gawk ' \
|
||||
/^Package:/ { \
|
||||
package=$$2; flavour=""; parch="" } \
|
||||
(/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \
|
||||
match(package, "'$(release)'-'$(abinum)'-(.*)-di", bits); \
|
||||
flavour = bits[1]; \
|
||||
} \
|
||||
(/^Architecture:/ && $$0 " " ~ / '$(arch)'/) { \
|
||||
parch=$$0; \
|
||||
} \
|
||||
(flavour != "" && parch != "") { \
|
||||
udebs[flavour] = udebs[flavour] package ", "; \
|
||||
flavour=""; parch=""; \
|
||||
} \
|
||||
END { \
|
||||
for (flavour in udebs) { \
|
||||
package="$(linux_udeb_name)-udebs-" flavour; \
|
||||
file="debian/" package ".substvars"; \
|
||||
print("udeb:Depends=" udebs[flavour]) > file; \
|
||||
metas="'$(builddir)'/udeb-meta-packages"; \
|
||||
print(package) >metas \
|
||||
} \
|
||||
} \
|
||||
mkdir -p $(builddir)
|
||||
touch $(builddir)/udeb-meta-packages.list
|
||||
@gawk ' \
|
||||
/^Package:/ { \
|
||||
package=$$2; flavour=""; match_arch=0 } \
|
||||
(/Package-Type: udeb/ && package !~ /^$(linux_udeb_name)-udebs-/) { \
|
||||
match(package, "$(DEB_VERSION_UPSTREAM)-$(abinum)-(.*)-di", bits); \
|
||||
flavour = bits[1]; \
|
||||
} \
|
||||
/^Architecture:/ { \
|
||||
match_arch=0; \
|
||||
for (i=2; i<=NF; i++) if ($$i=="$(arch)") match_arch=1; \
|
||||
} \
|
||||
(flavour != "" && match_arch) { \
|
||||
udebs[flavour] = udebs[flavour] package ", "; \
|
||||
flavour=""; match_arch=0; \
|
||||
} \
|
||||
END { \
|
||||
for (flavour in udebs) { \
|
||||
package="$(linux_udeb_name)-udebs-" flavour; \
|
||||
file="debian/" package ".substvars"; \
|
||||
print("udeb:Depends=" udebs[flavour]) > file; \
|
||||
metas="$(builddir)/udeb-meta-packages.list"; \
|
||||
print(package) >>metas \
|
||||
} \
|
||||
} \
|
||||
' <$(CURDIR)/debian/control
|
||||
@while read i; do \
|
||||
$(lockme) dh_gencontrol -p$$i; \
|
||||
dh_builddeb -p$$i; \
|
||||
done <$(builddir)/udeb-meta-packages
|
||||
if [ -n "$$i" ]; then \
|
||||
$(lockme) dh_gencontrol -p$$i; \
|
||||
dh_builddeb -p$$i; \
|
||||
fi; \
|
||||
done <$(builddir)/udeb-meta-packages.list
|
||||
|
||||
# Split dtbs logic to prevent patching 2-binary-arch.mk
|
||||
.PHONY: extract-dtbs-for-udebs
|
||||
extract-dtbs-for-udebs:
|
||||
@if [ "$(filter true,$(do_dtbs))" ]; then \
|
||||
echo ">> Extracting dtbs for d-i..."; \
|
||||
( cd $(pkgdir)/lib/firmware/$(abi_release)-$*/ && find device-tree -print 2>/dev/null || true ) | \
|
||||
while read dtb_file; do \
|
||||
echo "$$dtb_file ?" >> $(CURDIR)/$(DEBIAN)/d-i/firmware/$(arch)/kernel-image; \
|
||||
done; \
|
||||
fi
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
crc-ccitt
|
||||
libcrc32c
|
||||
crc32_generic
|
||||
crc32c_generic
|
||||
crc-itu-t
|
||||
|
|
|
|||
|
|
@ -5,7 +5,6 @@ mii ?
|
|||
# CRC modules
|
||||
crc-ccitt ?
|
||||
crc-itu-t ?
|
||||
libcrc32c ?
|
||||
|
||||
# mac80211 stuff
|
||||
mac80211 ?
|
||||
|
|
|
|||
43
helpers/DATA/linux-hwe-6.14/udeb/trisquel-gen-udeb-control.sh
Executable file
43
helpers/DATA/linux-hwe-6.14/udeb/trisquel-gen-udeb-control.sh
Executable file
|
|
@ -0,0 +1,43 @@
|
|||
#!/bin/bash
|
||||
# trisquel-gen-udeb-control.sh
|
||||
# Generates the udeb stanzas for debian/control using kernel-wedge.
|
||||
|
||||
set -e
|
||||
|
||||
ARCH=$1
|
||||
DEBIAN=$2
|
||||
VERSION=$3
|
||||
ABINUM=$4
|
||||
CONTROL_FILE=$5
|
||||
|
||||
if [ -z "$ARCH" ] || [ -z "$DEBIAN" ] || [ -z "$VERSION" ] || [ -z "$ABINUM" ] || [ -z "$CONTROL_FILE" ]; then
|
||||
echo "Usage: $0 <arch> <debian_dir> <upstream_version> <abinum> <control_file>"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Prevent duplicate udeb stanzas if the script is called multiple times
|
||||
if grep -q '^Package-Type: udeb' "$CONTROL_FILE"; then
|
||||
echo ">> Trisquel: Udeb packages already present in $CONTROL_FILE. Skipping generation."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo ">> Trisquel: Generating udeb control stanzas for $ARCH..."
|
||||
|
||||
# Create an isolated environment for kernel-wedge
|
||||
KWTMP="debian/build/kw-d-i-$ARCH"
|
||||
rm -rf "$KWTMP"
|
||||
mkdir -p "$KWTMP"
|
||||
|
||||
# Copy the static d-i configuration for processing
|
||||
cp -a "$DEBIAN/d-i/." "$KWTMP/"
|
||||
|
||||
# Filter kernel-versions to process only the current architecture
|
||||
grep -E "^$ARCH[[:space:]]" "$KWTMP/kernel-versions" > "$KWTMP/kernel-versions.new"
|
||||
mv -f "$KWTMP/kernel-versions.new" "$KWTMP/kernel-versions"
|
||||
|
||||
# Generate control data and append to the main control file
|
||||
KW_DEFCONFIG_DIR="$KWTMP" KW_CONFIG_DIR="$KWTMP" LANG=C \
|
||||
kernel-wedge gen-control "$VERSION-$ABINUM" | \
|
||||
grep-dctrl -FArchitecture "$ARCH" >> "$CONTROL_FILE"
|
||||
|
||||
echo ">> Trisquel: Udeb control generation completed."
|
||||
|
|
@ -19,9 +19,9 @@
|
|||
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
#
|
||||
|
||||
VERSION=37
|
||||
VERSION=38
|
||||
HWEKR=6.14
|
||||
DI_ENABLED=0
|
||||
DI_ENABLED=1
|
||||
HWE_ENABLED=1
|
||||
SEARCH_MISSING_CASES=0
|
||||
|
||||
|
|
@ -72,6 +72,7 @@ for DIR in $PRESERVEDIRS; do
|
|||
cp $DIR $TMPDIR --parents -a
|
||||
done
|
||||
|
||||
deblob_kernel() {
|
||||
sh $DATA/deblob-$HWEKR
|
||||
|
||||
echo "Reverting deblobbing for files patched by 000-silent-accept-firmware"
|
||||
|
|
@ -81,6 +82,8 @@ rm -rf $TMPDIR
|
|||
for PATCH in $DATA/*.patch ; do
|
||||
patch_p1 $PATCH
|
||||
done
|
||||
}
|
||||
[ "$DEBLOB" = 1 ] && deblob_kernel
|
||||
|
||||
## Simple test for finding missing cases of silent_accept_firmware method
|
||||
search_for_missing_cases_silent_patch() {
|
||||
|
|
@ -100,8 +103,19 @@ for PATCH in $DATA/udeb/*.patch ; do
|
|||
done
|
||||
|
||||
cp $DATA/udeb/5-udebs.mk debian/rules.d
|
||||
mkdir -p debian/scripts
|
||||
cp $DATA/udeb/trisquel-gen-udeb-control.sh debian/scripts/
|
||||
cp -a $DATA/udeb/d-i $DEBIAN_PATH
|
||||
|
||||
{
|
||||
echo ""
|
||||
echo "# Rules for building Trisquel's udebs"
|
||||
echo "include debian/rules.d/5-udebs.mk"
|
||||
} >> debian/rules
|
||||
|
||||
# Clean d-i on clean target
|
||||
sed -i '/dh_clean/a \ # Trisquel d-i cleanup\n rm -rf $(DEBIAN)/d-i-$(arch)\n rm -f $(DEBIAN)/d-i/firmware/$(arch)/kernel-image' debian/rules
|
||||
|
||||
cat << EOF >> debian/control
|
||||
Package: $CONTROL_PACKAGE-udebs-generic
|
||||
Build-Profiles: <!stage1> <!noudeb> <!cross> <!autopkgtest>
|
||||
|
|
@ -134,20 +148,23 @@ Description: Metapackage depending on kernel udebs
|
|||
for easier version and migration tracking.
|
||||
EOF
|
||||
|
||||
cat << EOF >> $DEBIAN_PATH/control.d/flavour-control.stub
|
||||
cat << 'EOF' >> $DEBIAN_PATH/control.d/flavour-control.stub
|
||||
Package: SRCPKGNAME-udebs-FLAVOUR
|
||||
Build-Profiles: <!stage1> <!noudeb> <!cross> <!autopkgtest>
|
||||
XC-Package-Type: udeb
|
||||
Section: debian-installer
|
||||
Architecture: ARCH
|
||||
Depends: \${udeb:Depends}
|
||||
Depends: ${udeb:Depends}
|
||||
Description: Metapackage depending on kernel udebs
|
||||
This package depends on the all udebs that the kernel build generated,
|
||||
for easier version and migration tracking.
|
||||
EOF
|
||||
|
||||
sed '/include.*2-binary-arch.mk/a\\n# Rules for building the udebs ($(DEBIAN)-installer)\ninclude debian/rules.d/5-udebs.mk' -i debian/rules
|
||||
sed 's/+= binary-debs/+= binary-udebs/' -i debian/rules.d/2-binary-arch.mk
|
||||
# Hook to generate debian/control
|
||||
sed -i '/^[[:space:]]*\$@$/a \
|
||||
@if [ -z "$(disable_d_i)" ] && ! echo " $(DEB_BUILD_PROFILES) " | grep -q " noudeb " ; then \\\
|
||||
bash debian/scripts/trisquel-gen-udeb-control.sh $(arch) $(DEBIAN) $(DEB_VERSION_UPSTREAM) $(abinum) $@; \\\
|
||||
fi' debian/rules
|
||||
|
||||
for i in dctrl-tools kernel-wedge
|
||||
do
|
||||
|
|
@ -245,7 +262,7 @@ echo 'skipretpoline = true' | tee -a $DEBIAN_PATH/rules.d/0-common-vars.mk \
|
|||
|
||||
# Do not label packages as unsigned
|
||||
sed '/bin_pkg_name_unsigned/s/linux-image-unsigned/linux-image/' -i debian/rules.d/0-common-vars.mk
|
||||
sed 's/.unsigned//' -i debian/scripts/control-create
|
||||
# (RIFO: change applied via patch)
|
||||
sed '/Package:/s/.unsigned//;/This package /s/.unsigned//' -i debian/control
|
||||
|
||||
line=$(grep -n ')-Ubuntu' debian/rules.d/0-common-vars.mk|cut -d: -f1)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue