Bug 33316 - sed: missing command
Summary: sed: missing command
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: make-initrd (show other bugs)
Version: unstable
Hardware: all Linux
: P3 normal
Assignee: Alexey Gladkov
QA Contact: qa-sisyphus
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2017-03-31 22:05 MSK by Michael Shigorin
Modified: 2018-03-20 13:39 MSK (History)
5 users (show)

See Also:


Attachments
set -x (529.27 KB, image/jpeg)
2017-03-31 22:05 MSK, Michael Shigorin
no flags Details
grep: -e expression #1, char 1: unknown command: `[' (10.43 KB, image/png)
2017-04-03 00:07 MSK, Michael Shigorin
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Michael Shigorin 2017-03-31 22:05:29 MSK
Created attachment 7026 [details]
set -x

При загрузке образов, включающих make-initrd-2.0.3-alt3, make-initrd-busybox-1.24.2-alt2 и make-initrd-propagator-0.31-alt2, наблюдаю:

init-bottom: Root fs is squashfs
init-bottom: Remounting / with aufs
sed: missing command
sed: missing command
sed: missing command
init-bottom: Root fs overlayed with aufs
sed: missing command

Если сделать такой патчик:

--- a/propagator/data/sbin/init-bottom
+++ b/propagator/data/sbin/init-bottom
@@ -28,11 +28,13 @@ get_cmdline() { # [-p] parameter [key]
     *) SEARCH="$1=(.*,|)$2(:([^, ]+)|()(,.*| |\$))"; REPLACE="\4";;
   esac
 
+  set -x
   sed -nr "
   s/(^|.* )$SEARCH.*/$REPLACE/$SEDFLAG
   t
   q 1
   " < "$CMDLINE"
+  set +x
 }
 
 # check if get_cmdline -p $2 [$3] is equal to $1 pattern

то при загрузке можно сделать приложенное фото.

Возможно, busybox'овый sed чего-то не умеет?
Comment 3 Michael Shigorin 2017-04-03 00:07:02 MSK
Created attachment 7027 [details]
grep: -e expression #1, char 1: unknown command: `['

(В ответ на комментарий №2)
> Можешь попробовать 38b213f558e7f051a45e67b23d53ba0f4dc52628?
Да; sed не ругается, зато заругалось всё остальное на "чужие" опции -- grep, cat, mkdir, mountpoint... похоже, этот пакет на busybox портировать сложнее.
Comment 4 Alexey Gladkov 2017-04-03 00:18:18 MSK
совсем нет. просто системный sed лёг не туда.
Comment 5 Michael Shigorin 2017-04-03 00:19:04 MSK
Вот regular-rescue.iso для удобства: https://yadi.sk/d/eaCdyQm83GaT6o [401M]

PS: ...а :)
Comment 6 Alexey Gladkov 2017-04-05 12:35:28 MSK
Ошибка найдена. При копировании файла в образ, если он уже существует, то cp не удалял старую версию, а шёл по ссылке. В итоге initrd-cp --force вёл себя не так как задумано. Этот коммит должен исправить это:

http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=102fe91c8472f31eea1b090a7e6ae44180b87334
Comment 7 Michael Shigorin 2017-04-05 13:32:10 MSK
(В ответ на комментарий №6)
> При копировании файла в образ, если он уже существует, то cp не
> удалял старую версию, а шёл по ссылке.
Да, теперь понятно, почему "все" ссылки на busybox жаловались на "свои" опции.

> Этот коммит должен исправить это:
> http://git.altlinux.org/people/legion/packages/make-initrd.git?p=make-initrd.git;a=commitdiff;h=102fe91c8472f31eea1b090a7e6ae44180b87334
Действительно; спасибо!
Comment 8 Michael Shigorin 2017-04-11 19:41:23 MSK
Так что, отправишь в сизиф? :)
Comment 9 Lenar Shakirov 2018-03-20 13:39:40 MSK
Разрешите я закрою, вижу что исправления в Сизифе