LINUX.ORG.RU

Вынести некоторые опции из юзов в переменную окружения

 ,


0

1

Рассмотрим пример. eix qemu-user:

Installed versions : (QEMU_USER_TARGETS="arm -alpha -armeb -cris -i386 -m68k -microblaze -microblazeel -mips -mips64 -mipsel -ppc -ppc64 -ppc64abi32 -s390x -sh4 -sh4eb -sparc -sparc32plus -sparc64 -unicore32 -x86_64")
хочется узнать, каким образом сделан этот «QEMU_USER_TARGETS».

меняем qemu-user-9999.ebuild. дописываем кусочек кода

src_unpack() {
        for target in ${IUSE_USER_TARGETS}; do
                use "qemu_user_targets_${target}" && echo "! ${target}"
        done
}
sudo ebuild qemu-user-9999.ebuild manifest
QEMU_USER_TARGETS="arm mips" sudo -E ebuild qemu-user-9999.ebuild unpack
sudo ebuild qemu-user-9999.ebuild clean
USE="qemu_user_targets_arm qemu_user_targets_mips" sudo -E ebuild qemu-user-9999.ebuild unpack

в обоих случаях получаем

! arm
! mips

создаем program-1.ebuild

# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: $

EAPI="5"

DESCRIPTION=""
HOMEPAGE=""

LICENSE=""
SLOT="0"
KEYWORDS=""

RDEPEND=""
DEPEND=""

IUSE="use1 use2"
IUSE_FEATURES="feature1 feature2"

for feature in ${IUSE_FEATURES};
do
        IUSE="${IUSE} program_features_${feature}"
done

src_unpack() {
        for feature in ${IUSE_FEATURES};
        do
                use "program_features_${feature}" && echo "! ${feature}"
        done
}

и делаем тоже самое

sudo ebuild program-1.ebuild manifest
USE="program_features_feature1" sudo -E ebuild program-1.ebuild unpack
sudo ebuild program-1.ebuild clean
PROGRAM_FEATURES="feature1" sudo -E ebuild program-1.ebuild unpack

! feature1

работает только c USE=«program_features_feature1». не понятно.

Перемещено Pinkbyte из development

★★

оу. нашел «USE_EXPAND» в make.defaults. вот оно что.

punya ★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.