LINUX.ORG.RU

32
Всего сообщений: 334

Удаление -march=native из CFLAGS

Для унификации сборки пакетов и обновлений хочется удалить на физическом компе из CFLAGS параметр -march=native. Насколько безопасно для работоспособности системы будет смешивать пакеты со старыми настройками и новыми? Чую, что не должно поломаться, но всё равно неуютно.:)

В данный момент у меня в make.conf такие настройки:

CFLAGS="-march=native -O2 -pipe"
CXXFLAGS="${CFLAGS}"

В виртуалке (переносимая на разные компы) для тестов такие настройки:

CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"

Окружение и список пакетов в них примерно одинаковый, поэтому из виртуалки можно притащить бинарные архивы и распаковать в систему (и потом один раз собирать, а не 2). Или можно не торопясь потихоньку заменять? Тем более, что мне могут поставлять сборки с теми же настройками системы, как в виртуалке. CHOST прописан одинаковый.

 , ,

grem ()

WARNING: One or more repositories have been ignored due to duplicate profiles/repo_name entries

Делал настройки похожие на:

https://wiki.gentoo.org/wiki/Custom_repository#Crossdev

и возможно еще из какого-то мана, возможно они мешают друг другу.

emerge test
WARNING: One or more repositories have been ignored due to duplicate
  profiles/repo_name entries:

  /, crossdev, /opt/local/portage overrides
    /usr/local/portage-crossdev

  All profiles/repo_name entries must be unique in order to avoid having
  duplicates ignored. Set PORTAGE_REPO_DUPLICATE_WARN="0" in
  /etc/portage/make.conf if you would like to disable this warning.



/etc/portage/repos.conf # ls 
crossdev.conf  eselect-repo.conf  layman.conf


/etc/portage/repos.conf # cat * 

[crossdev]
location = /usr/local/portage-crossdev
priority = 10
masters = gentoo
auto-sync = no
# created by eselect-repo
[dotnet]
location = /var/db/repos/dotnet
sync-type = git
sync-uri = https://github.com/gentoo-mirror/dotnet.git
[dotnet]
priority = 50
location = /var/lib/layman/dotnet
layman-type = git
auto-sync = No


по идее задублирован dotnet, пытался убрать один - не помогло

Пожалуйста, посоветуйте, как это можно исправить.

 , , ,

simoshina ()

Можно ли увидеть прогресс установки на Gentoo?

когда перекомпилируются несколько пакетов

чтобы какой-нибудь прогресс индикатор был где-нибудь сбоку

 ,

simoshina ()

Как напечатать список пакетов-зависимостей изнутри .ebuild?

У меня есть некий рантайм, который использует компоненты, не являющиеся обычными .so-библиотеками. Для каждой компоненты есть отдельный .ebuild, который её устанавливает. Есть финальный .ebuild, который через portage-зависимости подключает нужные компоненты (т.е. их .ebuild-файлы в переменной DEPEND).

Вопрос - как изнутри этого финального .ebuild напечатать список всех используемых компонент рантайма (точнее как распечатать список .ebuild файлов тех компонентов, которые являются зависимостями финальной выполняемой программы)?

Это нужно мне для того, чтобы создать симлинки в директории программы до артефактов, устанавливаемых для каждой компоненты, потому что загрузчик рантайма без этих симлинков не может их найти. (у загрузчика ld нет таких проблем, потому что он видит версии в ELF и умеет по версиям грузить нужный .so-файл с указанной версией)

И просмотреть нужно все зависимости рекурсивно, потому что компоненты могут зависеть от других компонентов. Нельзя просто взять и разобрать содержимое DEPEND только у устанавливаемого пакета с выполняемой программой.

Нормально ли использовать equery изнутри ebuild (в src_install)? У меня есть ощущение, что если пакет ещё не установлен, то и equery не сработает.

 

Einstok_Fair ()

Хотелось бы сравнить пакетные менеджеры NIX, HomeBrew, Portage

Гуглится про nix vs brew немного:

https://www.slant.co/versus/1593/1674/~nix-package-manager_vs_homebrew

Reproducible builds есть только в NIX?

GUIX пока не надо, слишком уж он многим хочет управлять.

 , ,

simoshina ()

Pentoo плохо скачивает архивы

Вновь приветствую всех.

В прошлой теме посоветовали копать в сторону pentoo для проверки безопасности сервера. Pentoo был подключен, дерево синхронизировано. Но попытка установки банального routersploit завершается со странной ошибкой:

# emerge -av routersploit
...
>>> Emerging (1 of 10) dev-python/bluepy-1.3.0::pentoo
 * Fetching files in the background.
 * To view fetch progress, run in another terminal:
 * tail -f /var/log/emerge-fetch.log
>>> Downloading 'https://gentoo.c3sl.ufpr.br/distfiles/bluepy-1.3.0.tar.gz'
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   227  100   227    0     0    112      0  0:00:02  0:00:02 --:--:--   112
!!! Fetched file: bluepy-1.3.0.tar.gz VERIFY FAILED!
!!! Reason: Filesize does not match recorded size
!!! Got:      227
!!! Expected: 217933
Refetching... File renamed to '/usr/portage/distfiles/bluepy-1.3.0.tar.gz._checksum_failure_.pdwlxdvq'

Дальше он начинает перебирать зеркала, но эта ошибка затрагивает их все. С основой таких проблем было всего несколько, их было довольно легко обойти.

Поначалу пенял на VPN\proxy, к которым подключен всё время, но сброс всех настроек прокси и iptables ничего не дал. Не сбросил только автоматическое назначение прокси в консоли - вместо этого всегда сбрасываю вручную. Wget отлично достаёт все файлы с зеркал, то же самое можно сделать в firefox даже через VPN\proxy, а из FTP всё успешно скачивается с помощью MC.

Долго пытаюсь понять, в чём проблема, но неудачно. ЧЯДНТ? Понять не могу, почему такое происходит...

Заранее спасибо за ответы.

 , ,

SM5T001 ()

Gentoo: пытаюсь установить сорцы ядра grsec minipli, но ошибка, обычное ядро ставится

Из оверлея pentoo:

root@workstation /e/portage# emerge --info '=sys-kernel/minipli-sources-4.9.74::pentoo'
Portage 2.3.66 (python 3.6.5-final-0, default/linux/x86/17.0/hardened, gcc-8.3.0, glibc-2.29-r2, 4.19.36-gnu x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.19.36-gnu-x86_64-Intel-R-_Pentium-R-_CPU_G2140_@_3.30GHz-with-gentoo-2.6
KiB Mem:    16105800 total,  10403676 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 26 Jul 2019 04:30:01 +0000
Head commit of repository gentoo: 752f7623643670de40a66011906b69da6087f1c0
sh bash 4.4_p23-r1
ld GNU ld (Gentoo 2.32 p2) 2.32.0
ccache version 3.7.1 [enabled]
app-shells/bash:          4.4_p23-r1::gentoo
dev-lang/perl:            5.28.2-r1::gentoo
dev-lang/python:          2.7.15::gentoo, 3.6.5::gentoo
dev-util/ccache:          3.7.1::gentoo
dev-util/cmake:           3.14.3::gentoo
sys-apps/baselayout:      2.6-r1::gentoo
sys-apps/openrc:          0.41.2::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.69-r4::gentoo
sys-devel/automake:       1.16.1-r1::gentoo
sys-devel/binutils:       2.32-r1::gentoo
sys-devel/gcc:            8.3.0-r1::gentoo
sys-devel/gcc-config:     2.0::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1-r4::gentoo
sys-kernel/linux-headers: 4.19::gentoo (virtual/os-headers)
sys-libs/glibc:           2.29-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-metamanifest: yes
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1

ago
    location: /var/lib/layman/ago
    masters: gentoo
    priority: 50

pentoo
    location: /var/lib/layman/pentoo
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="x86"
ACCEPT_LICENSE="@FREE"
CBUILD="i486-pc-linux-gnu"
CFLAGS="-O2 -march=i486 -pipe"
CHOST="i486-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=i486 -pipe"
DISTDIR="/usr/portage/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-O2 -march=i486 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -march=i486 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="acl bzip2 crypt cxx hardened iconv ipv6 libtirpc ncurses nls nptl openmp pam pcre pic pie readline seccomp split-usr ssl ssp unicode x86 xattr xtpax zlib" ABI_X86="32" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" NETBEANS_MODULES="apisupport cnd groovy gsf harness ide identity j2ee java mobility nb php profiler soa visualweb webcommon websvccommon xml" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby24" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

root@workstation /e/portage# emerge -pqv '=sys-kernel/minipli-sources-4.9.74::pentoo'
[ebuild  N    ] sys-kernel/minipli-sources-4.9.74  USE="-build -deblob -injection -symlink" 
root@workstation /e/portage# cat /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/build.log
 * Package:    sys-kernel/minipli-sources-4.9.74
 * Repository: pentoo
 * USE:        abi_x86_32 elibc_glibc kernel_linux userland_GNU x86
 * FEATURES:   ccache network-sandbox preserve-libs sandbox userpriv usersandbox
>>> Preparing to unpack ...
>>> Unpacking source...
>>> Unpacking linux-4.9.tar.xz to /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work
 * Excluding Patch #1500_XATTR_USER_PREFIX.patch ...                                                                                    [ ok ]
 * Excluding Patch #1520_CVE-2017-6074-dccp-skb-freeing-fix.patch ...                                                                   [ ok ]
 * Excluding Patch #2900_dev-root-proc-mount-fix.patch ...                                                                              [ ok ]
 * Failed to dry-run patch v4.9.74-unofficial_grsec-20180103130648.patch
 * Please attach /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/v4.9.74-unofficial_grsec-20180103130648.err to any bug you may post.
 * ERROR: sys-kernel/minipli-sources-4.9.74::pentoo failed (unpack phase):
 *   Unable to dry-run patch on any patch depth lower than 5.
 * 
 * Call stack:
 *     ebuild.sh, line  124:  Called src_unpack
 *   environment, line 2837:  Called kernel-2_src_unpack
 *   environment, line 1687:  Called unipatch '  /var/tmp/portage/sys-kernel/minipli-sources-4.9.74/distdir/v4.9.74-unofficial_grsec-20180103130648.diff'
 *   environment, line 3680:  Called die
 * The specific snippet of code:
 *                   die "Unable to dry-run patch on any patch depth lower than 5.";
 * 
 * If you need support, post the output of `emerge --info '=sys-kernel/minipli-sources-4.9.74::pentoo'`,
 * the complete build log and the output of `emerge -pqv '=sys-kernel/minipli-sources-4.9.74::pentoo'`.
 * The complete build log is located at '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/build.log'.
 * The ebuild environment file is located at '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/temp/environment'.
 * Working directory: '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work/linux-4.9.74-minipli'
 * S: '/var/tmp/portage/sys-kernel/minipli-sources-4.9.74/work/linux-4.9.74-minipli'

Что делать?

Что-то похожее описано здесь:

https://bugs.gentoo.org/608644

Но неужели опять виноват grep в 3-ей то его версии?

 , ,

simoshina ()

Gentoo: при установке nvidia-drivers требует пакет, который уже установлен

Устанавливаю nvidia-drivers командой:

emerge ask nvidia-drivers

Просит libX11. Устанавливаю его командой:

emerge ask libX11

Ситуация не меняется. Что я могу сделать в данной ситуации?

 , ,

okeh ()

Запретить portage создавать определеные каталоги

Доброго времени суток. Решил в чруте попробовать gentoo с профилем systemd. В make.conf определил переменную:

PORTAGE_BINPKG_TAR_OPTS="-X /etc/portage/package.exclude"
с содержимым
*/etc/init.d

И все безуспешно. Каталог /etc/init.d создается при компилянии пакета. Как победить?

 ,

xaTa ()

Gentoo и оптимизация

Привет, ЛОР. Не так давно собрал Gentoo на ноутбуке, флаги процессора подогнал, ядро оптимизировал насколько можно, но наслушался предупреждений от ветеранов(и даже на вики об этом сказано), что-де -O3 на всю систему лучше не ставить, как и флаги pgo, lto и graphite.

Но это, кажется, несколько устаревшие рекомендации. Знаю, что собирается так всегда дольше, но сам не пробовал. Копал поиск и наткнулся на вот это:

1) https://www.phoronix.com/scan.php?page=news_item&px=GentooLTO-28-Results 2) https://www.reddit.com/r/Gentoo/comments/8r8uqx/which_packages_are_worth_opti...

Вопрос к тем, кто пробовал гонять эти флаги: действительно ли -O3 толще -O2, и какой быстрее? Не ломает ли систему lto? Хочется протестировать их именно глобально, делая исключения для отдельных билдов, а не наоборот. Время терпит, но до Пн ноут должен быть боевой.

P.S на одном и том же железе генту потребляет где-то на 15% меньше памяти, чем арч. По скорости совсем чуть быстрее, на относительно современном оборудовании заметить тяжело. Разумеется, только при правильно подогнанном make.conf

Спасибо за советы.

 , ,

SM5T001 ()

portage и go.mod

А есть какой тулз для генерации ebuild или типа того из файла go.mod? Для CPAN вроде что-то было похожее. Надо нагенерировать ebuild'ов из портянки

require (
        cloud.google.com/go v0.34.0
        github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 // indirect
        github.com/aws/aws-sdk-go v1.16.17
        github.com/bitly/go-simplejson v0.5.0 // indirect
        github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 // indirect
....

но такой объем тащить - сдохнуть можно.

 ,

macumazan ()

Если изменился .eclass-файл

то какой командой пересобрать всё [потенциально] задетые таким изменением .ebuild-файлы ?

 ,

Einstok_Fair ()

use custom filter mask in emerge

Knowledge Base:Masking a package

Хотелось бы вместо

# grep pre package.mask

=media-libs/glm-0.9.9.5_pre
=media-gfx/gimp-2.10.10_pre
=sys-apps/busybox-1.30.0_pre

написать

*/*_pre
или даже точнее
*/*_pre$

но увы не работают оба фильтра возможно ли прописать подобный фильтр в package.mask?

 , , ,

Deleted ()

Как промёржить eselect-repository?

# emerge -av eselect-repository

These are the packages that would be merged, in order:

Calculating dependencies /

!!! Problem resolving dependencies for app-eselect/eselect-repository
... done!

!!! The ebuild selected to satisfy "eselect-repository" has unmet requirements.
- app-eselect/eselect-repository-6::gentoo USE="" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_6 -python3_4 -python3_5 -python3_7" PYTHON_TARGETS="python3_4 python3_5 -python3_6 -python3_7"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python_single_target_python3_6? ( python_targets_python3_6 )

  The above constraints are a subset of the following complete expression:
    exactly-one-of ( python_single_target_python3_4 python_single_target_python3_5 python_single_target_python3_6 python_single_target_python3_7 ) python_single_target_python3_4? ( python_targets_python3_4 ) python_single_target_python3_5? ( python_targets_python3_5 ) python_single_target_python3_6? ( python_targets_python3_6 ) python_single_target_python3_7? ( python_targets_python3_7 )

Он же показывает, что в PYTHON_SINGLE_TARGET и так ровно одно значение - python3_6, что ему не нравится? Слава понятным диагностическим сообщениям!

 ,

Einstok_Fair ()

emerge --ask увидеть в списке имя оверлея

У emerge есть опция --ask показывает список какой пакет и чем обновляться будет. Хотелось бы видеть дополнительно в этом списке и имя оверлея.

Это возможно? Если нет, то может кто-то уже подпиливал эту опцию до желаемого мною ?

 , ,

Deleted ()

Как правильно использовать IUSE, USE_MYAPP и MYAPP_TARGETS ?

продолжение топика как опакечивать плагины к программе

https://github.com/gentoo/gentoo/blob/master/app-misc/pip3line/pip3line-3.5.4...
Почему в этом билде обработка идёт для всех третьих питонов, а не только для тех, которые были выбраны пользователем
(т.е. почему нет проверки if use ${target}; then ... fi )

Нужна ли мне в моём пакете вот такая проверка:
https://github.com/gentoo/gentoo/blob/master/dev-lang/python/python-3.7.0.ebu...
И соответственно, должен ли я делать программу myapp-updater?

https://wiki.gentoo.org/wiki/Project:Python/PYTHON_TARGETS
для чего PYTHON_SINGLE_TARGET является USE_EXPAND-переменной, она же SINGLE! ???
я бы ещё понял, если бы у них значения совпадали, так ведь нет - разные получаются:
python_targets_python3_5
python_single_target_python3_5

Как лучше делать - использовать подход как у PYTHON_SINGLE_TARGET, или как у RUBY_TARGETS_PREFERENCE
https://github.com/gentoo/gentoo/blob/master/eclass/ruby-utils.eclass#L21
?
Они вообще одну и ту же задачу решают, или есть разница? В чём она заключается?

Почему .eclass для Ruby
https://github.com/gentoo/gentoo/blob/master/eclass/ruby-ng.eclass#L388
не следует гайдлайнам (которые говорят, что если ничего не указано, то нужно устанавливать для всех версий)?
Как делать мне - как написано делать, или как делают некоторые остальные? (postgres)

Что проверяют такой зверской проверкой при помощи awk:
https://github.com/gentoo/gentoo/blob/master/www-apps/redmine/redmine-3.3.7.e...
можно ли было обойтись без awk? Для чего эта проверка вообще и нужна ли она мне?

И самое главное, в чём разница между переменной MYAPP_TARGETS внутри .ebuild-а для плагина, и переменной MYAPP_TARGETS на уровне /etc/portage/make.conf ?
Почему в одних случаях переменная называется MYAPP_TARGETS, а в других случаях USE_MYAPP? В чём разница между ними?
Если бы переменная называлась IUSE_MYAPP, этих вопросов бы не было (наверное).

Как emerge понимает, что в списке USE-флагов нужно показывать сокращённые флаги из какой-то конкретной USE_EXPAND-переменной? Ведь таких переменных много разных, а к пакету относится одна (хотя может быть и не одна, теоретически, а по количеству зависимостей).
(и вообще, видны ли эти USE-флаги? а то может их и вовсе не видно)

Как потом этим пользоваться?

Здесь
https://devmanual.gentoo.org/ebuild-writing/variables/
написано, что

IUSE A list of all USE flags (excluding arch flags, but including USE_EXPAND flags) used within the ebuild.

Что мне надо писать, чтобы сдержимое MYAPP_TARGETS попало в состав IUSE в развёрнутом виде?
(читал вывод команды grep -R «IUSE.*TARGETS» /usr/portage, не нашел ничего подходящего)
вот это:
https://github.com/gentoo/gentoo/blob/master/app-i18n/tomoe/tomoe-0.6.0-r3.eb...

IUSE=«hyperestraier mysql python ruby ${USE_RUBY//ruby/ruby_targets_ruby} static-libs subversion»

Это так и надо, или это неправильный кусочек кода?

Если бы это делал я, я бы сделал функцию в каком-нибудь .eclass-файле, которая удлинняет или оставляет флаги как есть, в зависимости от настроек системы. Т.е. если MYAPP_TARGETS добавлена в USE_EXPAND, то надо удлинять название USE-флага, а если нет, то нет. Есть ли такая функция, в каком eclass-файле и как эта функция называется?

Чего я в итоге хочу добиться? Понимания того, какие шаги нужно выполнить, для того, чтобы сделать пакеты для плагинов «по всем правилам». Мне плевать на правила написания ебилдов (плевать это модно и молодёжно в среде, подобной LOR-у), но нужно покрыть все частые сценарии использования, чтобы потом не лезли баги. Оговорка про наплевательство написана специально, чтобы не было (вообще говоря, хамских) комментариев "не парься" от разных неумёх.

В идеале, хотелось бы увидеть туториал с шаблонами кода, чтобы скопировать и забыть.

 , ,

Einstok_Fair ()

В каком пакетном менеджере можно произвольно объединять профили?

Пакетных менеджеров примерно два-с-половиной - portage, paludis и что-то там из funtoo.

Позволяет ли какой-нибудь из них не только наследовать профили друг от друга, но и просто накладывать одни на другие по списку?

Мне это нужно для того, чтобы запихнуть свой профиль незаметно в середину.

 ,

Einstok_Fair ()

Gentoo Зависает emerge

Зависает emerge на установке.

Completed installing screen-4.6.1 into /var/tmp/portage/app-misc/screen-4.6.1/image/ * Final size of build directory: 4928 KiB (4.8 MiB) * Final size of installed tree: 1504 KiB (1.4 MiB)

 ,

nillerusr ()

Проблемы со сборкой пакетов в префиксе в Gentoo

Мне нужна пара статически слинкованных пакетов для initramfs, в частности cryptsetup и lvm. Я не хочу загаживать систему, так что хотелось бы пособирать их в чистом префиксе. Есть две проблемы.

Во-первых, мой конфиг из $PREFIX/etc/portage/make.conf не читается, а берётся системный из /etc. Хотелось бы, чтобы он читался, а то задавать use-флаги вручную через переменные окружения как-то не очень.

Во-вторых, я хочу, чтобы некоторые статические библиотеки, от которых зависят нужные мне пакеты, тоже собирались в префиксе, пока что они собираются в корне системы и их потом приходится пересобирать на динамические.

Я пробовал разные комбинации ROOT и SYSROOT, но кажется, что их недостаточно для достижения нужного мне поведения. Portage вообще так умеет? Вроде должна, т.к. процесс очень напоминает банальный бутстрэп.

 

tsmx ()

Дебужные и релизные версии всего или выбранного софта.

Если я хочу отлаживать какую-то программу, то мне к ней нужны дебужные версии всех её библиотек.

Как разные пакетные менеджеры помогают решить такую задачу?
интересуют portage, nix

И при этом я хочу продолжать пользоваться релизным вариантом предыдущей версии этой программы.

Слоты! говорят гентушники. Ноо, блин... Не подходят они для этого сценария использования.

ставить в chroot всю систему целиком в дебужном варианте? Хотелось бы не всю, а только для одной программы. Как прописать дебужные USE-флаги для всех зависимостей указанного пакета? (В смысле автоматизированно, а не руками).

 ,

Einstok_Fair ()