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=20210112; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=jxwoQEoGGQdyCRIpEHRPhg7TZwRm/yQZkdV0Bbs9nOw=; b=nRxdT1MAv9Rse1so2+S+WWlzCiKDSZTzKkhzn8TNsT3qqYOPFJeUIx0vuzpBWXXaJm geA+5pjNqI2HccTqgFBWpKP0kJ+ZowlHvC+W1xq0ZiwiWF4ytbpxEh26WXnHXcRu/bT7 1uqzv+0dmoaBkF1wbRDPE0cApwyCDZq6kwt9hzvnVQOHQqXkhTMPCZzImVW0A8IfjURt UnJu2zNHNifSBOeYGFVwYx1KFTqd1r1MO+hAckKjSF9DPV8JBCM1khqtAkVZv6ke9mhU eveqsJmBL4Xw8gHarFuTQ6r+5oOydscQRC6Fmfhrcfw3NWTa6MDUOVAAVKHvyigfm+hT XggA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; 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=jxwoQEoGGQdyCRIpEHRPhg7TZwRm/yQZkdV0Bbs9nOw=; b=Pt8qAvxk8PZ3bKa3IPtvf7lPvxL8vubbJKfVloV6HEVwWBkcFqCn7crvNldCcuwIgO lBl98Rhdg4fXH1dDuskRKskrON8bxKq/h3UTZUllCJXaFeUnuCRSZaYeNU9fKq8Htu8E iBCRDsQMfwQlETTp4k2bC1X5YAuvPSp1hLSgEOGR/jZk9+Cj3KCyivnUgk/oJNZoiyjm LJtpt6y76V0yzjLHgQQNXUeG2C6NLdFTErhH3VgvlnMuhZGNVBVTR3gwrXerdE62ntHY Ww6WI6PG9ec/BB1mG+lt1wYKo7Oe/OHjv1BHEAai1YXHEkvGTC77pmuRyy3a5sh7MVme zIKw== X-Gm-Message-State: AOAM532zSyyNSGRd5eftzCzvqNLrO/tguU+WDOYdLARMZt94iDocHEWR QEKzuFvEwxNpKN7IKU/gdhBvcwZe60Y= X-Google-Smtp-Source: ABdhPJw0ifFzPmtpWgzub87X66ykTh3Ifn2pR2lx0FWEIZ3IEpJaQqQ/fPIEeMAJ2aCMIbDmws0sug== X-Received: by 2002:ac2:5493:: with SMTP id t19mr20011292lfk.282.1632681710841; Sun, 26 Sep 2021 11:41:50 -0700 (PDT) To: make-initrd@lists.altlinux.org References: <85596fef-b8b4-79ac-3714-8c7b0ca5b3a7@gmail.com> <20210924183146.ctscatzo5dosddrd@example.org> From: Leonid Krivoshein Message-ID: <8f429882-3362-c39b-bb23-a454399dd91d@gmail.com> Date: Sun, 26 Sep 2021 21:41:49 +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: <20210924183146.ctscatzo5dosddrd@example.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: ru Subject: Re: [make-initrd] [PATCH v1 03/41] fork pipeline: 10 new files added 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: Sun, 26 Sep 2021 18:41:54 -0000 Archived-At: List-Archive: 24.09.2021 21:31, Alexey Gladkov пишет: > On Fri, Sep 24, 2021 at 06:55:00PM +0300, Leonid Krivoshein wrote: >> --- >> make-initrd/features/bootchain-core/config.mk | 5 + >> .../bootchain-core/data/bin/machine-info | 123 ++++++++++++++++++ >> .../bootchain-core/data/lib/bootchain/debug | 84 ++++++++++++ >> .../data/lib/initrd/cmdline.d/bootchain | 6 + >> .../bootchain-core/data/sbin/bootchain-logvt | 36 +++++ >> make-initrd/features/bootchain-core/rules.mk | 3 + >> .../features/bootchain-getimage/README.md | 20 +++ >> .../features/bootchain-getimage/config.mk | 5 + >> .../features/bootchain-getimage/rules.mk | 2 + >> .../features/bootchain-waitdev/README.md | 21 +++ >> 10 files changed, 305 insertions(+) > Леонид, ты мастер commit message! С твоими описаниями не поспоришь. > Действительно, 10. Но важнее, что это за файлы. Да, уже говорил, что на первой итерации первыми тремя патчами просто хотел показать крупными штрихами, что-куда переехало, и что было добавлено при форке. > Кстати, я хочу обратить > внимание: > > https://github.com/osboot/make-initrd/blob/master/Documentation/Contributing.md > > Для меня это важно. Я понял, что финальный вариант должен пименяться к апстримному дереву с подписыванием коммитов. > Ты добавляешь фичи, но ни слова не пишешь о том, что это. В черновике документации всё же постарался всё отразить. Но я понимаю, что и коммиты теперь нужно превратить на какую-то правдоподобную историю. > Это же относится > и к README.md. Там ни слова про то что это. Только название и параметры. Вот тут я не очень понял. Исходный pipeline содержал README.md, я просто скопировал отдельно описание getimage и waitdev, оставив на месте основной исходник. Фича pipeline же тоже осталась. В новой версии описания я просто добавил ссылку смотреть пока в README от pipeline. Второй момент заключается в том, что я не прочь потренироваться в написании README и коммит-мессаджей, тем более, по плану до начала апстрима собирался их написать. Но вот на один README для interactive у меня вся ночь ушла. Третий момент заключается в том, что ранее ты предлагал сам перевести README, если я сделаю документацию на русском. Вот на родном могу написать хорошо и быстро, но у тебя вроде пока нигде в фичах пока нет README.ru.md, а так я уже думал на эту тему. >> [...] >> + >> + find /sys/devices -mindepth 2 -maxdepth 2 -type d -name "$glob" | >> + grep '/sys/devices/pci' | > find /sys/devices -mindepth 2 -maxdepth 2 -type d -path "/sys/devices/pci*/$glob" > >> + sort | >> + while read -r sysfs; do >> + printf "%s" "${sysfs##*/}" >> + handle_field class >> + handle_field vendor >> + handle_field device >> + handle_field subsystem_vendor >> + handle_field subsystem_device >> + handle_field revision > Мне кажется в handle_field() не имеет смысла проверять на существование > эти файлы. Это всё компоненты MODALIAS. > > Зачем это печатать отдельно, если это ровно modalias ? > > По сути всё тело функции можно заменить: > > find /sys/devices -mindepth 2 -maxdepth 3 -type f -path "/sys/devices/pci*/$glob/modalias" | sort | > while read -r path; do > read -r modalias < "$path" > path="${path%/modalias}" > printf '%s %s\n' "${path##*/}" "$modalias" > done Давай переделаю, как ты предлагаешь. machine-info вместе с частью OEM-установки драйверов это всё равно та часть, которую я сначала предлагал написать полностью тебе, но потом всё же изобразил какое-то её подобие. Ты сначала было даже хотел, а потом решил, что в твоих применениях проще пересобрать initrd, но для уже выпущенных дистрибутивов это действительно важно. Предметным вопросом для обсуждения тут конечно является обсуждение принадлежности machine-info к той или иной фиче. У меня она используется в localdev (altboot), в части, отвечающей за пропагаторный параметр UPDATEMODULES. Но она может пригодиться и для деплоя, и много где ещё. Может, её вынести уровнем ещё выше, сделать частью самого make-initrd? К bootchain-core она точно не имеет отношения. >> [...] >> diff --git a/make-initrd/features/bootchain-core/data/sbin/bootchain-logvt >> b/make-initrd/features/bootchain-core/data/sbin/bootchain-logvt >> new file mode 100755 >> index 0000000..037505a >> --- /dev/null >> +++ b/make-initrd/features/bootchain-core/data/sbin/bootchain-logvt > Зачем нужна эта утилита ? Она добавляется, но нигде в коммите не > используется. Описания у неё тоже нет. Такое восприятие из-за последовательности коммитов и отсутствия описаний. Самые важные и сложные изменения были оставлены на конец, собственно сам демон, набор общих функций и отделённый главный цикл демона. А это ещё одна часть, которую использует демон как отдельный процесс, отвечающий за терминал вывода журнала (по умолчанию tty3). >> @@ -0,0 +1,36 @@ >> +#!/bin/bash -efu >> + >> +. bootchain-sh-functions [...] >> +[ -z "${NOTTYS-}" ] && [ -n "$BC_LOG_VT" ] || >> + exit 1 >> +set_cleanup_handler exit_handler >> +exec "/dev/tty$BC_LOG_VT" 2>&1 >> +printf "bootchain logger started on tty%s\n\n" "$BC_LOG_VT" >> +tail -f -- "$BC_LOGFILE" & pid="$!" > Откуда берутся BC_LOG_VT и BC_LOGFILE ? Выше по коду подключается bootchain-sh-functions, до которого ты пока не дошёл, и там эти дефолты есть. Они перебиваются внешним конфигом, подключаемым там же из /etc/sysconfig/bootchain. За последовательность коммитов я уже извинялся. :-) -- Best regards, Leonid Krivoshein.