[devel-distro] Fwd: Re: mkimage-profiles 1.4.8-alt1

Антон Мидюков midyukov-anton at ya.ru
Fri Mar 19 21:05:56 MSK 2021


19.03.2021 22:49, Michael Shigorin пишет:
> On Fri, Mar 19, 2021 at 09:29:20PM +0700, Антон Мидюков wrote:
>>>> Убрал вообще -b 262144 -noI и попробовал
>>>> образ собрался и нормально работает и загружается
>>> Возможно, пора это вынести.  Когда писал лет десять назад --
>>> тщательно вымерял и сравнивал, но тогда и сами squashfs-tools
>>> были другими.
>>>
>> Это волшебно, но 03-test-kernel выполняется уже после того, как
>> собрался squash.  Всего лишь нужно было внимательно посмотреть
>> сборочный лог :-)
> 
> То есть в итоге параметры-то писались при порождении BUILDDIR,
> но в какой-то момент применяться стали только при перезапуске
> сборки в сгенерированном профиле.
> 
> Интересно, в какой... но не настолько, чтоб бисектить %)
> 

Что тут бисектить? Нужно было понять причину. А причина в том, что была введена сортировка субпрофилей.
И коммит нашёлся:

commit da65dc2fd9686b02d17241b26ebf7364d946bff8
Author: Michael Shigorin <mike �� altlinux.org>
Date:   Mon Jul 15 13:53:44 2013 +0400

    build-distro: skip pseudo subprofiles
    
    rootfs presented a special case when there is no resulting
    directory at all as it gets merged with the target subprofile
    by design.
    
    Still those features adding only rootfs scripts need to depend
    on it but this resulted in an attempt to process a missing subdir.
    
    This is brought back to sanity now.

diff --git a/features.in/build-distro/lib/90-build-distro.mk b/features.in/build-distro/lib/90-build-distro.mk
index 587e2df5c..77bd2a210 100644
--- a/features.in/build-distro/lib/90-build-distro.mk
+++ b/features.in/build-distro/lib/90-build-distro.mk
@@ -1,7 +1,8 @@
 # step 4: build the distribution image
 
-# take the latter part for complex-specified subprofiles like stage2 �� live
-SUBDIRS = $(SUBPROFILE_DIRS)
+# take the latter part for complex-specified subprofiles like stage2 �� live;
+# care to exclude non-directories holding no makefiles like rootfs
+SUBDIRS = $(sort $(dir $(wildcard $(addsuffix /Makefile,$(SUBPROFILE_DIRS)))))
 
 # proxy over the ISO metadata collected; see also genisoimagerc(5)
 BOOT_SYSI := $(META_SYSTEM_ID)

В результате stage1 выполняется после сборки install и live. Возможно, что на тот момент они назывались иначе (stage2 �� install, stage2live, stage2 �� rescue). Или, если бы они как-то так назывались, то проблемы не было.

-- 
С уважением, Антон Мидюков <antohami �� altlinux.org>


More information about the devel-distro mailing list