From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <klark.devel@gmail.com>
X-Spam-Checker-Version: SpamAssassin 3.4.1 (2015-04-28) on
 sa.local.altlinux.org
X-Spam-Level: 
X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,
 DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM autolearn=ham autolearn_force=no
 version=3.4.1
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
 h=from:subject:to:message-id:date:user-agent:mime-version
 :content-transfer-encoding:content-language;
 bh=v0VTkSOLz7kuY/D1PpHxQZaGU1jFyFvTY6ZIYvAyjBY=;
 b=cXDoHq4g+DEa8s6ndkb1vhgWEj/bqrdaajIu1qze0vauPsln4hbI5xvxXmxoUM0IfT
 2F/9scdMw8wD3mT4FQ4ilQ8yKOSXuksSHZfDwcA+jpkeZKpcC0QP6nAiHqyBcV80tBvS
 4KxcC6++V9sGlKeKrLwIVEpA1I8jQtghNSZdIBDSORIDav+X2SddvZrOMep7RYUTmns1
 HKG2c2GnLg1lFBqjKBewB4aM/633RiwWBcd4aJ1XjXZsVwMfLu+wVzPQepavyyH/uzZM
 066pZm/DymO9F4h0p09IQQJVNNiNDQjGRO1TTjka2t/TLN3WL4nrkJNkEaTkJHEFVxmi
 gS4A==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20161025;
 h=x-gm-message-state:from:subject:to:message-id:date:user-agent
 :mime-version:content-transfer-encoding:content-language;
 bh=v0VTkSOLz7kuY/D1PpHxQZaGU1jFyFvTY6ZIYvAyjBY=;
 b=suYIq/otBZ8e+XdH6vkwJ7yJLOEGo8wt8htcmircQo3dqpiZ+veJyLlvvF+8h9NgQQ
 iyHVMALOXCqaRmxNvpduA+bNpFyx+EM7p0wkGolTuxqXpIBcshbwjGjqXiyr9kpWul4f
 mDbgVzq+ID+GKVn5JKWZqKIiyG3bTeP6mvIe4aB5k7AHKpNzhz6An2bcS2Kq1w9Gsykc
 UATfm673i66Lu9Pv3Z8JyaFwVkmQsJH0C59681LzGArRHWHXg4TJRdHYaNiemWPJsly0
 iEDTBVy0MbRPMY3tygl1NE+m3qHXLf/mhmZWpmnfRAOywq3pzIQs7h/iTyyPpR34eV7t
 g1AA==
X-Gm-Message-State: AOAM5326nzVi10/dDiHZhkZgf5JQlKvRW+LFmO/KMWCeSlnBrjYjwhqb
 yF7k3j+KZN6BOeTXCA5PLyOZ1T10CF/rGg==
X-Google-Smtp-Source: ABdhPJwrkgxR3vsKUkdIugBOlG8apMUoytGK/EE60/SuooAd/b1ahCm3iw3O2L52qK+4D4Y9g37eOw==
X-Received: by 2002:a19:6d09:: with SMTP id i9mr1951304lfc.149.1625142670602; 
 Thu, 01 Jul 2021 05:31:10 -0700 (PDT)
From: Leonid Krivoshein <klark.devel@gmail.com>
To: make-initrd@lists.altlinux.org
Message-ID: <0e38a002-1ffd-6372-16bd-6654d743e066@gmail.com>
Date: Thu, 1 Jul 2021 15:31:07 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.8.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 8bit
Content-Language: ru
Subject: [make-initrd] =?utf-8?b?0JjQvdGE0YDQsNGB0YLRgNGD0LrRgtGD0YDQsCA=?=
 =?utf-8?b?0L7RgtC70LDQtNC60Lgg0LIgbWFrZS1pbml0cmQ=?=
X-BeenThere: make-initrd@lists.altlinux.org
X-Mailman-Version: 2.1.12
Precedence: list
Reply-To: make-initrd@lists.altlinux.org
List-Id: <make-initrd.lists.altlinux.org>
List-Unsubscribe: <https://lists.altlinux.org/mailman/options/make-initrd>,
 <mailto:make-initrd-request@lists.altlinux.org?subject=unsubscribe>
List-Archive: <http://lists.altlinux.org/pipermail/make-initrd>
List-Post: <mailto:make-initrd@lists.altlinux.org>
List-Help: <mailto:make-initrd-request@lists.altlinux.org?subject=help>
List-Subscribe: <https://lists.altlinux.org/mailman/listinfo/make-initrd>,
 <mailto:make-initrd-request@lists.altlinux.org?subject=subscribe>
X-List-Received-Date: Thu, 01 Jul 2021 12:31:14 -0000
Archived-At: <http://lore.altlinux.org/make-initrd/0e38a002-1ffd-6372-16bd-6654d743e066@gmail.com/>
List-Archive: <http://lore.altlinux.org/make-initrd/>

Всем привет!


Из-за скудности сабжа пришлось городить свой набор функций и в процессе 
отладки они сильно выручили. С включенным bc_debug получаются вменяемые 
отладочные журналы, не сравнить с использованием set -x. Примеры сейчас 
можно увидеть здесь: 
http://git.altlinux.org/people/klark/packages/make-initrd-bootchain.git 
в подкаталоге boot-logs.

В самом make-initrd на эту тему есть немного, например, параметр debug, 
от которого мало что меняется в run-time, а раньше он ещё и был включен 
по дефолту (я не знал, как отключить, поэтому ввёл свой bc_debug). Было 
бы здорово иметь такую инфраструктуру на верхнем уровне make-initrd, 
доступную для любых фич. Речь о примерно следующем наборе функций:

debug() -- Вывод текстового сообщения при расширенной отладке.
enter() -- Трассировка при расширенной отладке: вход в указанную функцию.
leave() -- Трассировка при расширенной отладке: выход из указанной функции.
run() -- Запуск внешней команды. При расширенной отладке команда попадёт 
в журнал.
fdump() -- Вывод в журнал содержимого указанного файла при расширенной 
отладке.
assign() -- Присвоение переменной указанного значения, попадающее в журнал.

message() -- уже есть, он отправляет в журнал сообщение независимо от debug.

Я понимаю, что после отладки enter()/leave() и возможно что-то ещё из 
кода может даже лучше убирать. Но в таком виде как сейчас их наличие 
помогает не только программисту отлаживать программу, но и пользователю 
разобраться, почему не грузится система. Возможно имеет смысл перетащить 
в initrd-sh-functions?


-- 
Best regards,
Leonid Krivoshein.