]> git.ipfire.org Git - thirdparty/dracut-ng.git/commitdiff
fix(mdraid): escape slash in sed regular expression main
authorBenjamin Drung <benjamin.drung@canonical.com>
Wed, 22 Jul 2026 09:40:04 +0000 (11:40 +0200)
committerdevkontrol <dev@kontrol.dev>
Thu, 30 Jul 2026 17:26:41 +0000 (13:26 -0400)
`sed` from busybox treats the `/` from `[[:alpha:]/]` inside
`/pattern/d` as the closing delimiter for the match pattern, rather than
a character inside the bracket class:

```
sed: bad regex '(RUN|IMPORT\{program\})\+?="[[:alpha:]': Missing ']'
```

Escape the slash in sed regular expression.

modules.d/70mdraid/module-setup.sh

index c9af08a44871360be51dd373cde91b77bb41ae83..cf4967b45eae3b11f445688a54daf86a23debb88 100755 (executable)
@@ -83,7 +83,7 @@ install() {
     # assembled
     # shellcheck disable=SC2016
     if [ -f "${initdir}${udevdir}/rules.d/64-md-raid-assembly.rules" ]; then
-        sed -i -r -e '/(RUN|IMPORT\{program\})\+?="[[:alpha:]/]*mdadm[[:blank:]]+(--incremental|-I)[[:blank:]]+(--export )?(\$env\{DEVNAME\}|\$devnode)/d' \
+        sed -i -r -e '/(RUN|IMPORT\{program\})\+?="[[:alpha:]\/]*mdadm[[:blank:]]+(--incremental|-I)[[:blank:]]+(--export )?(\$env\{DEVNAME\}|\$devnode)/d' \
             "${initdir}${udevdir}/rules.d/64-md-raid-assembly.rules"
     fi