From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=g0eYz5BhE2L1RWnSDqsUJHcqo150lvY1a9EjWpVhVHc=; b=RYH55rCYvKECquG67zYgFCtzPt+QKwX9oPcCapwdqawhLI+sfxAZdN+NpAT3w0Hsn7 LctsigolfA6Uuq1d+qx4+5LSvtHUxRB6e6kzQWWq6IcSXGLRGYxlMo6dmf0Zt0ROZCur pTubNE+QFq16sWapqZJGi0BLBvtb0UogDWcJ7hKuNMI/lJrifJKgnmtJTx1lXH+raiSe PJB9q/1yzY6HmV42Rd++iXVK0CIZ5pVWj+lXIYAxvyBlztjOTnvP4VmDo4QhLpsOl4al 8y4IztNF0ZuL+gmCinfn2hgcdIImJ3+IXt3Mw1PvTDhAULBfPj1vuyASjBfdnC+txfQn aubg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=g0eYz5BhE2L1RWnSDqsUJHcqo150lvY1a9EjWpVhVHc=; b=cJVcNDo/jVck+0GC4hZqV5HGYwQIY5qWhMfrz8bgPbgJt302b/RZrl3QUrWrAfmyHM Syz/PiGtkrQYLT+UUOhc9Hu0GMIrHZyZqfZV91jvO9OKhWpn2utS2mCFujA1MMRJ122d hN38sl89eqBlZrWUcKmuYROsnPk/wpww54Nz70KWB9bvc/ZmYEEmciMMvKwuYN2VPdIY 0KeWmAzpgtktye4La9OOJpzZl6UZ/84C7rn60l1cz6xOm012gs3aOPiG6Kaj3LP/DXXo OeCerZh/gxtgujQSyGFNfi1W2ykh5WE4oApQeAtJInlOJhs/qz8RJ05CV7EadaNYNBTb VAyA== X-Gm-Message-State: AOAM532qgzf8tTeFu16pgOt26Tx1NHbyaVQUXyf6PZU2T7cEuBWorhlG B6qyBQC9zw75dRtbJRagVEnGIdgkV7s= X-Google-Smtp-Source: ABdhPJw94rAOzOMa6qTtZ7Sa2lXYp6/oDn1sZVtmcw8HMOOwnEG6Ou/rSHcLAtGHa2vStLW7c1Ww9g== X-Received: by 2002:a2e:bc26:: with SMTP id b38mr12500987ljf.345.1625147423911; Thu, 01 Jul 2021 06:50:23 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <0e38a002-1ffd-6372-16bd-6654d743e066@gmail.com> <20210701133909.z6mpmjmnuoahhpmo@example.org> From: Leonid Krivoshein Message-ID: Date: Thu, 1 Jul 2021 16:50:21 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20210701133909.z6mpmjmnuoahhpmo@example.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [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: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 01 Jul 2021 13:50:27 -0000 Archived-At: List-Archive: 01.07.2021 16:39, Alexey Gladkov пишет: > On Thu, Jul 01, 2021 at 03:31:07PM +0300, Leonid Krivoshein wrote: >> Всем привет! >> >> >> Из-за скудности сабжа пришлось городить свой набор функций и в процессе >> отладки они сильно выручили. С включенным 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? > В качестве отдельной фичи ? Если да, то в ней можно принудительно включать > rdlog=console. Если нет, то нужно её держать в памяти. А почему в памяти? debug() выводит в >&2 если включен debug, остальные функции, на нём основаны. А куда уж скрипт направит свой stderr, туда и будет выводиться. Зачем делать это фичей, если тут просто расширение API? -- Best regards, Leonid Krivoshein.