Bug 28712

Summary: GLOBAL_DISK_PACKAGE_LISTS приоритетнее, чем GLOBAL_PKG_GROUPS
Product: Sisyphus Reporter: Sergey V Turchin <zerg>
Component: mkimage-profiles-desktopAssignee: Anton V. Boyarshinov <boyarsh>
Status: NEW --- QA Contact: qa-sisyphus
Severity: normal    
Priority: P3 CC: mike
Version: unstable   
Hardware: all   
OS: Linux   
Bug Depends on:    
Bug Blocks: 28710    

Description Sergey V Turchin 2013-03-19 19:27:23 MSK
Пример плохих последствий:
На диск(GLOBAL_DISK_PACKAGE_LISTS) помещен пакет, зависящий от конкретно gcc4.1, после чего никакой более новый gcc в дистрибутив не попадает, т.к. в GLOBAL_PKG_GROUPS пакеты зависят правильно на просто gcc.

Нужно, чтоб пакеты GLOBAL_DISK_PACKAGE_LISTS обсчитывались в последнюю очередь, чтоб и gcc4.7 и gcc4.1 попали.
Comment 1 Michael Shigorin 2013-03-19 23:31:36 MSK
JFYI -- проверил на mkimage-profiles-0.9.10, порядок:

$ head -20 pkg.in/{lists,groups}/build*
==> pkg.in/lists/build <==
rpm-build

==> pkg.in/groups/build.directory <==
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=Build tools
X-Alterator-PackageList=build
X-Alterator-Required=no
Categories=Server;

$ grep -A3 server-test conf.d/test.mk 
distro/server-test: distro/server-mini use/relname
        @$(call set,RELNAME,Test-Server)
        @$(call add,MAIN_PACKAGES,gcc4.1)
        @$(call add,MAIN_GROUPS,build)

$ make DEBUG=1 REPORT=1 server-test.iso
[...]
$ grep gcc4.[17].*RPMS.main ~/out/server-test-20130320-x86_64.iso.log \
| head -2 | cut -f1 -d' '
'./gcc4.7-4.7.2-alt7.x86_64.rpm'
'./gcc4.1-4.1.2-alt11.x86_64.rpm'

Обработка списков для main выполнена вот так: http://git.altlinux.org/people/mike/packages/?p=mkimage-profiles.git;a=blob;f=sub.in/main/Makefile;hb=HEAD
Comment 2 Sergey V Turchin 2013-03-20 14:39:29 MSK
Речь о "DISK_PACKAGES"
Comment 3 Michael Shigorin 2013-03-20 15:29:18 MSK
Да-да, понимаю.  Это его эквивалент, т.к. RPMS.disk давно нет и смысла оставлять неассоциативное название было немного.
Comment 4 Sergey V Turchin 2013-03-20 15:38:42 MSK
 Ща проверю, видимо, тут порядок неправильный:

IMAGE_PACKAGES = .base \
                 $(call list,$(LOCAL_BASE_PACKAGE_LISTS)) \
                 $(call list,$(GLOBAL_BASE_PACKAGE_LISTS)) \
                 $(call list,$(GLOBAL_DISK_PACKAGE_LISTS)) \
                 $(GLOBAL_DISK_PACKAGES) \
                 $(call list,$(shell  grep X-Alterator-PackageList /dev/null $(call group,$(GLOBAL_PKG_GROUPS)) | cut -d= -f2)) \
                 $(call tagged,$(GLOBAL_BASE_TAGS)) \
                 $(call tagged,$(GLOBAL_DISK_TAGS))