LINUX.ORG.RU

Gentoo без Python и emerge: сквозной поиск за 42 мс и локальный ИИ на Rust

 


0

2
EVO — СИСТЕМА УПРАВЛЕНИЯ ПАКЕТАМИ (RUST + GENTOO)

ОПИСАНИЕ:
  evo — менеджер пакетов написанный на языке rust управляющий системой
  Устанавливает необходимые библиoтеки для графического стёка из репозитария RUST -crates.io-.,
  Программы(бинарные файлы),преобразовывает упакованные rlib-библиотеки для работы в системе.
  Для быстрого поиска необходимого создаёт и использует локальные базы данных SQLite.
  Контролирует собственные конфигурации из системы инициализации-исправляет вторжения в них.
  Конфигурация установки программ и библиотек написана на языке rust-интуитивно понятна.
  Установка из crates.io(Cargo) происходит автоматически,обновление установленного имеется.
>>> Запуск суверенного сквозного поиска EVO...
*  dev-rust/kernel-1.1.0
      Latest version available: [from cache]
      Description: Abstract Reactive Streams 

*  dev-rust/sim-kernel-0.4.0
      Latest version available: [from cache]
      Description: Small protocol kernel contracts for the expandable SIM Rust runtime.

*  dev-rust/buoyant_kernel_derive-1.2.0
      Latest version available: [from cache]
      Description: Derive macros for delta_kernel

*  dev-rust/buoyant_kernel-0.28.0
      Latest version available: [from cache]
      Description: Buoyant Data distribution of delta-kernel

*  dev-rust/delta_kernel_derive-0.28.0
      Latest version available: [from cache]
      Description: Derive macros for delta_kernel

*  dev-rust/delta_kernel_default_engine-0.28.0
      Latest version available: [from cache]
      Description: Default Arrow/Tokio-based engine implementation for delta_kernel.

*  dev-rust/buoyant_kernel_engine-0.28.0
      Latest version available: [from cache]
      Description: Default Arrow/Tokio-based engine implementation for delta_kernel.

*  dev-rust/delta_kernel-0.28.0
      Latest version available: [from cache]
      Description: Core crate providing a Delta/Deltalake implementation focused on interoperability wi…

*  dev-rust/gllm-kernels-0.1.3
      Latest version available: [from cache]
      Description: Low-level attention kernels for gllm with CUDA/ROCm support

*  dev-rust/rocm_kernel_macros-0.5.1
      Latest version available: [from cache]
      Description: macros for generating rocm kernels

* sys-kernel/gentoo-kernel
      Description: sys-kernel/gentoo-kernel (indexed natively on Evo-Core)
* sys-kernel/vanilla-kernel
      Description: sys-kernel/vanilla-kernel (indexed natively on Evo-Core)
* sys-kernel/gentoo-kernel-bin
      Description: sys-kernel/gentoo-kernel-bin (indexed natively on Evo-Core)
* sys-kernel/gentoo-kernel-modprep
      Description: sys-kernel/gentoo-kernel-modprep (indexed natively on Evo-Core)
* sys-kernel/hurd
      Description: sys-kernel/hurd (indexed natively on Evo-Core)
* sys-kernel/kpatch
      Description: sys-kernel/kpatch (indexed natively on Evo-Core)
* sys-kernel/gnumach
      Description: sys-kernel/gnumach (indexed natively on Evo-Core)
* sys-kernel/scx
      Description: sys-kernel/scx (indexed natively on Evo-Core)
* sys-kernel/cryptodev
      Description: sys-kernel/cryptodev (indexed natively on Evo-Core)
* sys-kernel/ugrd
      Description: sys-kernel/ugrd (indexed natively on Evo-Core)
* sys-kernel/installkernel
      Description: sys-kernel/installkernel (indexed natively on Evo-Core)
* sys-kernel/genkernel
      Description: sys-kernel/genkernel (indexed natively on Evo-Core)
* sys-kernel/rumpkernel
      Description: sys-kernel/rumpkernel (indexed natively on Evo-Core)
* sys-kernel/dracut
      Description: sys-kernel/dracut (indexed natively on Evo-Core)
* sys-kernel/dkms
      Description: sys-kernel/dkms (indexed natively on Evo-Core)
* virtual/dist-kernel
      Description: virtual/dist-kernel (indexed natively on Evo-Core)
* sys-kernel/xow
      Description: sys-kernel/xow (indexed natively on Evo-Core)
* sys-kernel/zenpower3
      Description: sys-kernel/zenpower3 (indexed natively on Evo-Core)
* sys-kernel/pf-sources
      Description: sys-kernel/pf-sources (indexed natively on Evo-Core)
* sys-kernel/zen-sources
      Description: sys-kernel/zen-sources (indexed natively on Evo-Core)
* sys-kernel/linux-headers
      Description: sys-kernel/linux-headers (indexed natively on Evo-Core)
* sys-kernel/linux-firmware
      Description: sys-kernel/linux-firmware (indexed natively on Evo-Core)
* sys-kernel/gentoo-sources
      Description: sys-kernel/gentoo-sources (indexed natively on Evo-Core)
* sys-kernel/scx-loader
      Description: sys-kernel/scx-loader (indexed natively on Evo-Core)
* sys-kernel/vanilla-sources
      Description: sys-kernel/vanilla-sources (indexed natively on Evo-Core)
* sys-kernel/rt-sources
      Description: sys-kernel/rt-sources (indexed natively on Evo-Core)
* sys-kernel/kci-dev
      Description: sys-kernel/kci-dev (indexed natively on Evo-Core)
* sys-kernel/virtme-ng
      Description: sys-kernel/virtme-ng (indexed natively on Evo-Core)
* sys-kernel/mips-sources
      Description: sys-kernel/mips-sources (indexed natively on Evo-Core)
* sys-kernel/asahi-sources
      Description: sys-kernel/asahi-sources (indexed natively on Evo-Core)
* sys-kernel/modprobed-db
      Description: sys-kernel/modprobed-db (indexed natively on Evo-Core)
* sys-kernel/raspberrypi-sources
      Description: sys-kernel/raspberrypi-sources (indexed natively on Evo-Core)
* sys-kernel/raspberrypi-image
      Description: sys-kernel/raspberrypi-image (indexed natively on Evo-Core)
* sys-kernel/linux-docs
      Description: sys-kernel/linux-docs (indexed natively on Evo-Core)
* sys-kernel/git-sources
      Description: sys-kernel/git-sources (indexed natively on Evo-Core)
* sys-kernel/linux-next
      Description: sys-kernel/linux-next (indexed natively on Evo-Core)
* app-admin/eclean-kernel
      Description: app-admin/eclean-kernel (indexed natively on Evo-Core)
* dev-python/octave-kernel
      Description: dev-python/octave-kernel (indexed natively on Evo-Core)
* dev-ml/core_kernel
      Description: dev-ml/core_kernel (indexed natively on Evo-Core)
* dev-ml/textutils_kernel
      Description: dev-ml/textutils_kernel (indexed natively on Evo-Core)
* dev-ml/async_kernel
      Description: dev-ml/async_kernel (indexed natively on Evo-Core)
* sci-libs/composable-kernel
      Description: sci-libs/composable-kernel (indexed natively on Evo-Core)
* sys-kernel/uek-sources
      Description: sys-kernel/uek-sources (indexed natively on Evo-Core)
* sys-kernel/dracut-crypt-ssh
      Description: sys-kernel/dracut-crypt-ssh (indexed natively on Evo-Core)
* sys-kernel/udev-hid-bpf
      Description: sys-kernel/udev-hid-bpf (indexed natively on Evo-Core)
* app-admin/kernel-hardening-checker
      Description: app-admin/kernel-hardening-checker (indexed natively on Evo-Core)
* sec-keys/openpgp-keys-kernel
      Description: sec-keys/openpgp-keys-kernel (indexed natively on Evo-Core)
* dev-python/jupyter-kernel-test
      Description: dev-python/jupyter-kernel-test (indexed natively on Evo-Core)
* dev-ml/ocaml_intrinsics_kernel
      Description: dev-ml/ocaml_intrinsics_kernel (indexed natively on Evo-Core)
* dev-ml/async_rpc_kernel
      Description: dev-ml/async_rpc_kernel (indexed natively on Evo-Core)
* app-doc/linux-kernel-in-a-nutshell
      Description: app-doc/linux-kernel-in-a-nutshell (indexed natively on Evo-Core)

>>> Поиск совпадений в нативном реестре системы...

________________________________________________________
Executed in   42.20 millis    fish           external
   usr time    8.58 millis  621.00 micros    7.96 millis
   sys time    8.13 millis  207.00 micros    7.93 millis

root@proliant /h/tupoll (master)> ls /usr/bin/emerge
ls: невозможно получить доступ к '/usr/bin/emerge': Нет такого файла или каталога
root@proliant /h/tupoll (master)> evo -av portage
>>> 🛰️  [Evo-CLI] Перенаправление команды в либу lmerge...

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

Calculating dependencies ... done!
Dependency resolution took 9.34 s (backtrack: 0/20).

[ebuild   R    ] sys-apps/portage-3.0.82.2-r1::gentoo  USE="(ipc) native-extensions rsync-verify xattr -apidoc -build -doc -gentoo-dev (-selinux) -test" PYTHON_TARGETS="python3_13 python3_14 -python3_12 (-python3_15)" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB

Would you like to merge these packages? [Yes/No] n

EAPI=8 inherit cargo git-r3

DESCRIPTION=«servo (live git version)» EGIT_REPO_URI=«https://github.com/servo/servo.git» LICENSE=«MIT» SLOT=«0» KEYWORDS=«~amd64 ~arm64»

RDEPEND=«media-libs/fontconfig media-libs/freetype dev-rust/clang media-libs/vulkan-loader x11-libs/libxkbcommon dev-rust/clang-sys-linkage dev-rust/link-cplusplus»

DEPEND=«${RDEPEND}» BDEPEND=«virtual/pkgconfig»

src_unpack() { # Честный фетч исходников из Git git-r3_src_unpack

}

src_configure() { # Убиваем дефолтное поведение eclass, которое подменяет источники на пустую папку # Заставляем Cargo думать, что он работает в обычном домашнем каталоге export CARGO_HOME=«${T}/cargo_home» mkdir -p «${CARGO_HOME}» || die

# Очищаем настройки, чтобы Cargo смотрел напрямую в интернет (crates.io)
rm -f "${S}/.cargo/config.toml"

} src_compile() { # 1. Ловушка путей для песочницы Portage (xargs/gxargs) mkdir -p «${T}/bin-bridge» || die ln -sf /usr/bin/xargs «${T}/bin-bridge/xargs» ln -sf /usr/bin/xargs «${T}/bin-bridge/gxargs» ln -sf /usr/bin/gawk «${T}/bin-bridge/awk» ln -sf /usr/bin/gmake «${T}/bin-bridge/gmake»

export PATH="${T}/bin-bridge:/usr/bin:/bin:${PATH}"
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="env PATH=${T}/bin-bridge:/usr/bin:/bin"

# 2. Выравнивание слота под активный LLVM 22
export LIBCLANG_PATH="/usr/lib/llvm/22/lib64"
export BINDGEN_EXTRA_CLANG_ARGS="-stdlib=libc++"

# 3. ТРОЙНОЙ СНАРЯД ДЛЯ ЛИНКЕРА:
# Вызываем системный clang++, но принудительно заставляем его линковать 
# рантайм GCC (libstdc++) для закрытия хэш-таблиц V8 (_M_next_bkt),
# и докидываем libc++ вместе с libc++abi для совместимости с ICU 77!
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER="clang++"
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-C link-arg=-lstdc++ -C link-arg=-lc++ -C link-arg=-lc++abi"

# 4. Сетевые переменные под Yota и Python
export UV_PYTHON_DOWNLOADS=auto
export UV_PYTHON=python3.11
export CARGO_HOME="${T}/cargo_home"
unset CARGO_FEATURE_FLAGS
export CARGO_NET_GIT_FETCH_WITH_CLI=true

# Понеслась с песней!
cargo build --release || die "Cargo compilation failed"

}

src_install() { # ХИРУРГИЧЕСКАЯ УСТАНОВКА РУКАМИ В ОБХОД КАПРИЗНОГО ECLASS: # Просто берем наш готовый, честно выстраданный бинарник # и прописываем его в системный /usr/bin/ dobin «target/release/servoshell»

# Если в корне есть иконки или ресурсы, их тоже забираем
if [ -d "resources" ]; then
	insinto /usr/share/servo
	doins -r resources/*
fi
domenu "Servo.desktop"

} Пока вы там думаете, подкину вам реальной пищи для размышлений, от которой у локальных майнтейнеров закипят процессоры.

Специально для закрытого контура EVO адаптировал live-сборку параллельного движка Servo (servoshell) под чистый ebuild (EAPI=8). Код полугодовой давности, но рабочий как швейцарские часы, если знать, где крутить вольтаж.

Обратите внимание на src_compile(). Стандартный cargo.eclass намертво падает в песочнице Portage при попытке собрать Servo. Решено хирургически:

  • Развернут изолированный bin-bridge внутри ${T} с жесткими линками на системный xargs/gmake.
  • Выровнен слот под активный LLVM 22 через LIBCLANG_PATH.
  • Заряжен тройной снаряд для линкера: принудительно линкуем рантайм GCC (libstdc++) для закрытия хэш-таблиц V8 (_M_next_bkt), но поверх докидываем libc++ и libc++abi ради ICU 77.
tupoll
() автор топика
Ответ на: комментарий от tupoll

И да, этот конфиг без единого сбоя держит live-ветку из Git уже почти год на ZFS-зеркалах. Проверяйте свои Питоны».

tupoll
() автор топика

И ни одной ссылки. Ещё и первый комментарий поплыл.

Radjah ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария