Skip to content

Commit 40606c4

Browse files
committed
Simplify kernel config: single sed per option handles all cases (is not set, =m, =y, etc)
1 parent c1288b8 commit 40606c4

File tree

1 file changed

+64
-72
lines changed

1 file changed

+64
-72
lines changed

.github/workflows/build.yml

Lines changed: 64 additions & 72 deletions
Original file line numberDiff line numberDiff line change
@@ -52,78 +52,70 @@ jobs:
5252
make x86_64_defconfig
5353
sed -i 's|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION="-mados-zen"|g' .config
5454
sed -i 's|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|g' .config
55-
sed -i 's|^CONFIG_DEBUG_INFO=.*|CONFIG_DEBUG_INFO=n|g' .config
56-
57-
# Enable common network drivers as built-in (not modules)
58-
sed -i 's|^CONFIG_R8169=m|CONFIG_R8169=y|g' .config
59-
sed -i 's|^CONFIG_E1000=m|CONFIG_E1000=y|g' .config
60-
sed -i 's|^CONFIG_E1000E=m|CONFIG_E1000E=y|g' .config
61-
sed -i 's|^CONFIG_IGB=m|CONFIG_IGB=y|g' .config
62-
sed -i 's|^CONFIG_IXGBE=m|CONFIG_IXGBE=y|g' .config
63-
sed -i 's|^CONFIG_VIRTIO_NET=m|CONFIG_VIRTIO_NET=y|g' .config
64-
sed -i 's|^CONFIG_VIRTIO_PCI=m|CONFIG_VIRTIO_PCI=y|g' .config
65-
sed -i 's|^CONFIG_USB_NET=m|CONFIG_USB_NET=y|g' .config
66-
sed -i 's|^CONFIG_USB_RTL8150=m|CONFIG_USB_RTL8150=y|g' .config
67-
sed -i 's|^CONFIG_USB_RTL8152=m|CONFIG_USB_RTL8152=y|g' .config
68-
sed -i 's|^CONFIG_USB_NET_DRIVERS=m|CONFIG_USB_NET_DRIVERS=y|g' .config
69-
70-
# First, replace any commented "is not set" lines with =y
71-
sed -i 's|^# CONFIG_ZRAM is not set|CONFIG_ZRAM=y|g' .config
72-
sed -i 's|^# CONFIG_OVERLAY_FS is not set|CONFIG_OVERLAY_FS=y|g' .config
73-
sed -i 's|^# CONFIG_SQUASHFS is not set|CONFIG_SQUASHFS=y|g' .config
74-
sed -i 's|^# CONFIG_BTRFS_FS is not set|CONFIG_BTRFS_FS=y|g' .config
75-
sed -i 's|^# CONFIG_SQUASHFS_DECOMP_MULTI is not set|CONFIG_SQUASHFS_DECOMP_MULTI=y|g' .config
76-
sed -i 's|^# CONFIG_SQUASHFS_CHOICE_DECOMPRESS is not set|CONFIG_SQUASHFS_CHOICE_DECOMPRESS=y|g' .config
77-
sed -i 's|^# CONFIG_XZ_DECOMPRESS is not set|CONFIG_XZ_DECOMPRESS=y|g' .config
78-
sed -i 's|^# CONFIG_ISO9660_FS is not set|CONFIG_ISO9660_FS=y|g' .config
79-
sed -i 's|^# CONFIG_JOLIET is not set|CONFIG_JOLIET=y|g' .config
80-
sed -i 's|^# CONFIG_SQUASHFS_ZSTD is not set|CONFIG_SQUASHFS_ZSTD=y|g' .config
81-
sed -i 's|^# CONFIG_CRYPTO_ZSTD is not set|CONFIG_CRYPTO_ZSTD=y|g' .config
82-
sed -i 's|^# CONFIG_CRYPTO_ZSTD_COMMON is not set|CONFIG_CRYPTO_ZSTD_COMMON=y|g' .config
83-
sed -i 's|^# CONFIG_ZSTD_DECOMPRESS is not set|CONFIG_ZSTD_DECOMPRESS=y|g' .config
84-
85-
# Enable ZRAM as built-in
86-
if ! grep -q "^CONFIG_ZRAM=" .config; then
87-
echo "CONFIG_ZRAM=y" >> .config
88-
else
89-
sed -i 's|^CONFIG_ZRAM=m|CONFIG_ZRAM=y|g' .config
90-
fi
91-
92-
# Enable overlay FS (for Docker/containers) and its dependencies
93-
if ! grep -q "^CONFIG_OVERLAY_FS=" .config; then
94-
echo "CONFIG_OVERLAY_FS=y" >> .config
95-
else
96-
sed -i 's|^CONFIG_OVERLAY_FS=m|CONFIG_OVERLAY_FS=y|g' .config
97-
fi
98-
99-
# Add SQUASHFS and filesystem support if not present (needed for live boot)
100-
if ! grep -q "^CONFIG_SQUASHFS=" .config; then
101-
echo "CONFIG_SQUASHFS=y" >> .config
102-
echo "CONFIG_SQUASHFS_DECOMP_MULTI=y" >> .config
103-
echo "CONFIG_SQUASHFS_CHOICE_DECOMPRESS=y" >> .config
104-
echo "CONFIG_XZ_DECOMPRESS=y" >> .config
105-
echo "CONFIG_ISO9660_FS=y" >> .config
106-
echo "CONFIG_JOLIET=y" >> .config
107-
echo "CONFIG_SQUASHFS_ZSTD=y" >> .config
108-
else
109-
sed -i 's|^CONFIG_SQUASHFS=.*|CONFIG_SQUASHFS=y|g' .config
110-
sed -i 's|^CONFIG_SQUASHFS_FILE_CACHE=.*|CONFIG_SQUASHFS_FILE_CACHE=y|g' .config
111-
sed -i 's|^CONFIG_SQUASHFS_DECOMP_MULTI=.*|CONFIG_SQUASHFS_DECOMP_MULTI=y|g' .config
112-
sed -i 's|^CONFIG_SQUASHFS_CHOICE_DECOMPRESS=.*|CONFIG_SQUASHFS_CHOICE_DECOMPRESS=y|g' .config
113-
sed -i 's|^CONFIG_XZ_DECOMPRESS=.*|CONFIG_XZ_DECOMPRESS=y|g' .config
114-
sed -i 's|^CONFIG_ISO9660_FS=.*|CONFIG_ISO9660_FS=y|g' .config
115-
sed -i 's|^CONFIG_JOLIET=.*|CONFIG_JOLIET=y|g' .config
116-
sed -i 's|^CONFIG_SQUASHFS_ZSTD=.*|CONFIG_SQUASHFS_ZSTD=y|g' .config
117-
sed -i 's|^CONFIG_CRYPTO_ZSTD=.*|CONFIG_CRYPTO_ZSTD=y|g' .config
118-
fi
119-
120-
# Enable Btrfs for installer (subvolumes, snapshots)
121-
if ! grep -q "^CONFIG_BTRFS_FS=" .config; then
122-
echo "CONFIG_BTRFS_FS=y" >> .config
123-
echo "CONFIG_BTRFS_FS_POSIX_ACL=y" >> .config
124-
else
125-
sed -i 's|^CONFIG_BTRFS_FS=.*|CONFIG_BTRFS_FS=y|g' .config
126-
fi
55+
sed -i 's|CONFIG_DEBUG_INFO=.*|CONFIG_DEBUG_INFO=n|g' .config
56+
57+
# Replace any variation (commented or not) with =y - handles is not set, =m, =n, etc
58+
# Network drivers
59+
sed -i 's|^# CONFIG_R8169 is not set$|CONFIG_R8169=y|gm' .config
60+
sed -i 's|^CONFIG_R8169=.*$|CONFIG_R8169=y|gm' .config
61+
sed -i 's|^# CONFIG_E1000 is not set$|CONFIG_E1000=y|gm' .config
62+
sed -i 's|^CONFIG_E1000=.*$|CONFIG_E1000=y|gm' .config
63+
sed -i 's|^# CONFIG_E1000E is not set$|CONFIG_E1000E=y|gm' .config
64+
sed -i 's|^CONFIG_E1000E=.*$|CONFIG_E1000E=y|gm' .config
65+
sed -i 's|^# CONFIG_IGB is not set$|CONFIG_IGB=y|gm' .config
66+
sed -i 's|^CONFIG_IGB=.*$|CONFIG_IGB=y|gm' .config
67+
sed -i 's|^# CONFIG_IXGBE is not set$|CONFIG_IXGBE=y|gm' .config
68+
sed -i 's|^CONFIG_IXGBE=.*$|CONFIG_IXGBE=y|gm' .config
69+
sed -i 's|^# CONFIG_VIRTIO_NET is not set$|CONFIG_VIRTIO_NET=y|gm' .config
70+
sed -i 's|^CONFIG_VIRTIO_NET=.*$|CONFIG_VIRTIO_NET=y|gm' .config
71+
sed -i 's|^# CONFIG_VIRTIO_PCI is not set$|CONFIG_VIRTIO_PCI=y|gm' .config
72+
sed -i 's|^CONFIG_VIRTIO_PCI=.*$|CONFIG_VIRTIO_PCI=y|gm' .config
73+
sed -i 's|^# CONFIG_USB_NET is not set$|CONFIG_USB_NET=y|gm' .config
74+
sed -i 's|^CONFIG_USB_NET=.*$|CONFIG_USB_NET=y|gm' .config
75+
sed -i 's|^# CONFIG_USB_RTL8150 is not set$|CONFIG_USB_RTL8150=y|gm' .config
76+
sed -i 's|^CONFIG_USB_RTL8150=.*$|CONFIG_USB_RTL8150=y|gm' .config
77+
sed -i 's|^# CONFIG_USB_RTL8152 is not set$|CONFIG_USB_RTL8152=y|gm' .config
78+
sed -i 's|^CONFIG_USB_RTL8152=.*$|CONFIG_USB_RTL8152=y|gm' .config
79+
80+
# ZRAM
81+
sed -i 's|^# CONFIG_ZRAM is not set$|CONFIG_ZRAM=y|gm' .config
82+
sed -i 's|^CONFIG_ZRAM=.*$|CONFIG_ZRAM=y|gm' .config
83+
84+
# OVERLAY_FS (Docker/containers)
85+
sed -i 's|^# CONFIG_OVERLAY_FS is not set$|CONFIG_OVERLAY_FS=y|gm' .config
86+
sed -i 's|^CONFIG_OVERLAY_FS=.*$|CONFIG_OVERLAY_FS=y|gm' .config
87+
88+
# SQUASHFS (live boot)
89+
sed -i 's|^# CONFIG_SQUASHFS is not set$|CONFIG_SQUASHFS=y|gm' .config
90+
sed -i 's|^CONFIG_SQUASHFS=.*$|CONFIG_SQUASHFS=y|gm' .config
91+
sed -i 's|^# CONFIG_SQUASHFS_DECOMP_MULTI is not set$|CONFIG_SQUASHFS_DECOMP_MULTI=y|gm' .config
92+
sed -i 's|^CONFIG_SQUASHFS_DECOMP_MULTI=.*$|CONFIG_SQUASHFS_DECOMP_MULTI=y|gm' .config
93+
sed -i 's|^# CONFIG_SQUASHFS_CHOICE_DECOMPRESS is not set$|CONFIG_SQUASHFS_CHOICE_DECOMPRESS=y|gm' .config
94+
sed -i 's|^CONFIG_SQUASHFS_CHOICE_DECOMPRESS=.*$|CONFIG_SQUASHFS_CHOICE_DECOMPRESS=y|gm' .config
95+
sed -i 's|^# CONFIG_XZ_DECOMPRESS is not set$|CONFIG_XZ_DECOMPRESS=y|gm' .config
96+
sed -i 's|^CONFIG_XZ_DECOMPRESS=.*$|CONFIG_XZ_DECOMPRESS=y|gm' .config
97+
sed -i 's|^# CONFIG_ISO9660_FS is not set$|CONFIG_ISO9660_FS=y|gm' .config
98+
sed -i 's|^CONFIG_ISO9660_FS=.*$|CONFIG_ISO9660_FS=y|gm' .config
99+
sed -i 's|^# CONFIG_JOLIET is not set$|CONFIG_JOLIET=y|gm' .config
100+
sed -i 's|^CONFIG_JOLIET=.*$|CONFIG_JOLIET=y|gm' .config
101+
sed -i 's|^# CONFIG_SQUASHFS_ZSTD is not set$|CONFIG_SQUASHFS_ZSTD=y|gm' .config
102+
sed -i 's|^CONFIG_SQUASHFS_ZSTD=.*$|CONFIG_SQUASHFS_ZSTD=y|gm' .config
103+
104+
# ZSTD (needed for squashfs zstd)
105+
sed -i 's|^# CONFIG_CRYPTO_ZSTD is not set$|CONFIG_CRYPTO_ZSTD=y|gm' .config
106+
sed -i 's|^CONFIG_CRYPTO_ZSTD=.*$|CONFIG_CRYPTO_ZSTD=y|gm' .config
107+
sed -i 's|^# CONFIG_ZSTD_COMMON is not set$|CONFIG_ZSTD_COMMON=y|gm' .config
108+
sed -i 's|^CONFIG_ZSTD_COMMON=.*$|CONFIG_ZSTD_COMMON=y|gm' .config
109+
sed -i 's|^# CONFIG_ZSTD_DECOMPRESS is not set$|CONFIG_ZSTD_DECOMPRESS=y|gm' .config
110+
sed -i 's|^CONFIG_ZSTD_DECOMPRESS=.*$|CONFIG_ZSTD_DECOMPRESS=y|gm' .config
111+
sed -i 's|^# CONFIG_DECOMPRESS_ZSTD is not set$|CONFIG_DECOMPRESS_ZSTD=y|gm' .config
112+
sed -i 's|^CONFIG_DECOMPRESS_ZSTD=.*$|CONFIG_DECOMPRESS_ZSTD=y|gm' .config
113+
114+
# BTRFS (installer)
115+
sed -i 's|^# CONFIG_BTRFS_FS is not set$|CONFIG_BTRFS_FS=y|gm' .config
116+
sed -i 's|^CONFIG_BTRFS_FS=.*$|CONFIG_BTRFS_FS=y|gm' .config
117+
sed -i 's|^# CONFIG_BTRFS_FS_POSIX_ACL is not set$|CONFIG_BTRFS_FS_POSIX_ACL=y|gm' .config
118+
sed -i 's|^CONFIG_BTRFS_FS_POSIX_ACL=.*$|CONFIG_BTRFS_FS_POSIX_ACL=y|gm' .config
127119
128120
make olddefconfig
129121

0 commit comments

Comments
 (0)