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=-0.9 required=5.0 tests=BAYES_00,FSL_HELO_HOME autolearn=no autolearn_force=no version=3.4.1 Date: Thu, 7 Sep 2017 00:03:43 +0200 From: Konstantin Lepikhov To: devel@lists.altlinux.org Message-ID: <20170906220343.GA26309@lks.home> Mail-Followup-To: devel@lists.altlinux.org References: <20170904115640.GA30835@lks.home> <20170904160138.GC15438@altlinux.org> <20170904191842.GA24238@lks.home> <20170904213509.GA18856@altlinux.org> <20170906120909.GA8403@lks.home> <20170906133734.GE13205@altlinux.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20170906133734.GE13205@altlinux.org> X-Operation-System: ALT Linux starter kit (Trientalis) 4.12.0-lks-wks-alt0.3 User-Agent: Mutt/1.8.3 (2017-05-23) Subject: Re: [devel] Q: postinst hook for firmware-* X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 06 Sep 2017 22:01:55 -0000 Archived-At: List-Archive: List-Post: Hi Dmitry! On 09/06/2017, at 04:37:35 PM you wrote: > > содержимое ucode_handled дальше только проверяется на непустоту, > можно записывать туда что-то более простое, например, ucode_handled=1 > ok > > + set +f > > set +f дальше не используется и, видимо, не нужен. ну как бы readlink может обломаться, если у нас нет /boot/vmlinuz. Я не знаю, эта проверка есть в handle_kernel, я ее добавил по аналогии. > > > + f="$(readlink -e /boot/vmlinuz)" > > + if [ -n "$f" -a -n "$kernel_versions_handled" ]; then > > + VERSION=${f#$VMLINUZ_PREFIX-} > > + case "$kernel_version_handled" in > > + "* $VERSION*") > > + ucode_handled= > > + ;; > > + esac > > + fi > > Это лучше делать всего один раз после обработки цикла по файлам. > Хотя почему это исключение сделано именно для /boot/vmlinuz, неочевидно. я тут не очень понял логику, которая ниже по коду - если у нас выставлен INITRD_AUTOUPDATE=all это значит что будет обновлятся initramfs для всех ядер, или только тех, что попали в обновление? Почему там еще раз проверяется является ли файл /boot/vmlinuz? > > > +} > > + > > while read f; do > > case "$f" in > > $VMLINUZ_PREFIX-[0-9].*-*-*) > > @@ -107,10 +129,13 @@ while read f; do > > $MODULES_PREFIX/*-*-*/*/*.ko*) > > handle_module "$f" > > ;; > > + $UCODE_PREFIX/*-ucode/*) > > + handle_ucode "$f" > > Получается, что здесь достаточно написать ucode_detected=1, > > > + ;; > > esac > > done > > А сюда поместить сброс ucode_detected в случае, если он уже был обработан. ok -- WBR et al.