LINUX.ORG.RU

euse не заглядывает во вложенные каталоги в /etc/portage/package.use

 ,


0

1

Мне казалось логичным, чтобы содержание папки portage.use было рассортировано «категория/пакет», например:

saturn package.use # ls *
app-arch:
p7zip

app-portage:
eix  layman
и т.д. При этом emerge успешно читает юзы, засунутые во вложенные папки, а euse — нет. Что за безобразие? А как вы структурируете ту кучу(если кучу) файликов с юзами? Есть ли способ приучить euse смотреть во вложенные папки в package.use?

★★

кастуй великую тройку и пусть тебе объясняют, берут не дорого, 2 страницы оскорблений и тыканья в маны.

erzent ☆☆
()
Ответ на: комментарий от erzent

А впрочем, это тупак я запостил. Вот что пишут в мане:
BUGS euse doesn't handle USE flags enabled or disabled by use.defaults, use.mask or package.use yet. It also doesn't completely understand the -* flag.

yura_ts ★★
() автор топика
Последнее исправление: yura_ts (всего исправлений: 1)

папки

.

А как вы структурируете ту кучу(если кучу) файликов с юзами? Есть ли способ приучить euse смотреть во вложенные папки в package.use?

$ ls -1 /etc/portage/package.use/
akonadi
dev
eix
firefox
gcc
glibc
gstreamer
java
kde
ktorrent
libcxx
libreoffice
llvm
mc
media
mesa
mplayer
networkmanager
plotting
python
qt
qt5
qt-creator
qtcurve
qutim
ruby
smth
svn
systemd
virtualbox
vlc
wifi
x11
$
Stil ★★★★★
()
Ответ на: комментарий от erzent

Пользователь «Bloodhost» не существует

ZuBB ★★★★★
()

Есть ли способ приучить euse смотреть во вложенные папки в package.use?

А ты в euse заглядывал? Это обыкновенный bash скрипт.

Если не ошибаюсь, то для заявленного тобой поведения нужно заменить всего две строки.

@@ -260,8 +260,8 @@
        if [[ -z ${ACTIVE_FLAGS[4]} && ( $SCOPE == "local" || -z $SCOPE ) ]]; then
                # Parse through /etc/portage/package.use
                if [[ -d ${PACKAGE_USE_PATH} ]]; then
-                       ACTIVE_FLAGS[4]="$( cat ${PACKAGE_USE_PATH}/* \
-                               | sed -re "s/ *#.*$//g" -e "s/^ *$//g" )"
+                       # by Kroz: ACTIVE_FLAGS[4]="$( cat ${PACKAGE_USE_PATH}/* | sed -re "s/ *#.*$//g" -e "s/^ *$//g" )"
+                       ACTIVE_FLAGS[4]="$( for USE_FILE in `find ${PACKAGE_USE_PATH} -type f`; do cat "$USE_FILE" ; done | sed -re "s/ *#.*$//g" -e "s/^ *$//g" )"
                elif [[ -e ${PACKAGE_USE_PATH} ]]; then
                        # JWM, 23/12/2009: I edited this following line but I'm not sure if it's 100% correct.
                        ACTIVE_FLAGS[4]="$( sed -re "s/ *#.*$//g" -e "s/^ *$//g" \
@@ -1143,7 +1143,8 @@
                        local filename
                        if [[ -d ${PACKAGE_USE_PATH} ]]; then
                                # Use naming convention of package.use/package
-                               filename="${PACKAGE_USE_PATH}/${pkg#*/}"
+                               # by Kroz: filename="${PACKAGE_USE_PATH}/${pkg#*/}"
+                               filename="${PACKAGE_USE_PATH}/${pkg}"
                                if [[ ! -s "${filename}" ]]; then
                                        # Create new file to contain flag
                                        echo "${PACKAGE} ${flag}" > "${filename}"

Только чур отлаживаешь сам!!!

А как вы структурируете ту кучу(если кучу) файликов с юзами?

У меня package.use - файл, и euse я не использую.

Hope it helps.

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