LINUX.ORG.RU

Сообщения Shushundr

 

Как вы подключаете датчики задымления к серверу?

Форум — Linux-hardware

Какие модели датчиков посоветуете, как их подключают, через какую шину, каким софтом пользоваться для мониторинга и просмотра состояния?

У меня есть прибор для мониторинга CO2 в воздухе (ДАДЖЕТ МТ8060), он запитывается по USB, но к компьютеру подключить не удалось (в смысле он питается, но комп его не видит в списке USB-устройств).

Ранее по теме и рядом:
Удаленный мониторинг температуры в стойке, датчики+raspberry pi

 , ,

Shushundr
()

Как возникает циклическая зависимость?

Форум — Linux-install

там https://github.com/gentoo/gentoo/blob/master/dev-java/openjdk/openjdk-21.0.1_p12.ebuild#L102-L107 написано:

IUSE="... +system-bootstrap ..."

...

DEPEND="
	...
	system-bootstrap? (
		|| (
			dev-java/openjdk-bin:${SLOT}
			dev-java/openjdk:${SLOT}
		)
	)
"

Мне непонятно, как это должно работать, и почему пакетный менеджер сообщает о циклической зависимости dev-java/openjdk от dev-java/openjdk вместо того, чтобы тихо и молча установить dev-java/openjdk-bin

# emerge -av dev-java/openjdk

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

Calculating dependencies... done!
Dependency resolution took 38.57 s.

[ebuild  NS   ~] dev-java/openjdk-bin-21.0.1_p12:21::gentoo [17.0.8.1_p1:17::gentoo] USE="alsa cups -headless-awt (-selinux) -source" 202982 KiB
[ebuild  NS   ~] dev-java/openjdk-21.0.1_p12:21::gentoo [17.0.8.1_p1:17::gentoo] USE="alsa cups jbootstrap (system-bootstrap) (-big-endian) -debug -doc -examples -headless-awt (-javafx) -lto (-selinux) -source -systemtap" 109611 KiB

Total: 2 packages (2 in new slots), Size of downloads: 312592 KiB

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

Пропадёт ли залоченность USE-флага USE=«(system-bootstrap)» после второго мёржа? Что станет после этого с пакетом dev-java/openjdk-bin, например при выполнении emerge --depclean. Почему для сборки используется бинарник, вместо того, чтобы собирать всё из исходников, как это делают в репозитории gentoo-bootstrap ?

 , ,

Shushundr
()

Создавать ли багу в багтрекере?

Форум — Linux-install

Я вижу, что в природе существует тег
JavaFX 21 General Availability
https://github.com/openjdk/jfx/releases/tag/21-ga

Событие произошло 19 сентября 2023-го года.

Но я не вижу соответствующего билда в Gentoo:
https://packages.gentoo.org/packages/dev-java/openjfx

Последняя версия позорно 11-я.

Хотелось бы заметить, что даже в таком малоиспользуемом дистрибутиве как NixOS есть 19-я версия - https://search.nixos.org/packages?show=javaPackages.openjfx19

Имеет ли смысл создать багу в багтрекере Gentoo про нужность Version Bump? Говорят, что быстро после релиза создавать не надо, несколько дней надо подождать. Но с 19-го сентября до 30 ноября уже несколько месяцев прошло.

О чём вообще они там думают?

[ebuild  N    ~] dev-java/openjdk-21.0.1_p12:21::gentoo  USE="alsa cups debug doc examples source (system-bootstrap) (-big-endian) -headless-awt (-javafx) -jbootstrap -lto (-selinux) -systemtap" 109611 KiB

Total: 1 package (1 new), Size of downloads: 109611 KiB

 * Error: circular dependencies:

(dev-java/openjdk-21.0.1_p12:21/21::gentoo, ebuild scheduled for merge) depends on
 (dev-java/openjdk-21.0.1_p12:21/21::gentoo, ebuild scheduled for merge) (buildtime)

 * Note that circular dependencies can often be avoided by temporarily
 * disabling USE flags that trigger optional dependencies.

А список флагов я угадать должен, да?

Ранее по теме:
emerge -pv Что означают скобки?

 ,

Shushundr
()

Список, перечень, таблица - в чём разница?

Форум — Talks

Верно ли, что список это ненумерованный перечень, а перечень - нумерованный список? Вроде бы нет. Списки тоже бывают нумерованные.

Можно ли сказать, что перечень это список, в котором строки друг от друга разделены горизонтальными линиями «отчёркивания»? Вроде бы нет, это чистая фантазия.

Можно ли сказать, что перечень это такое визуальное представление логического понятия "список? Непонятно.

Можно ли сказать, что перечень это таблица из одного столбца? Непонятно.

Что говорят по поводу этих трёх терминов ГОСТы? Я не нашел в поисковике.

Какие толковые словари являются официальными, и что написано там? В России не определены официальные толковые словари!

https://ru.wikipedia.org/wiki/Список «Список — перечень чего-либо»

https://ru.wikipedia.org/wiki/Перечень
перенаправляет на «Список»
(тега «перечень» на LOR нет)

Ну и что теперь делать, чтобы постичь суть и сущность перечня в системе философских категорий?

 , ,

Shushundr
()

Не запускается caja, раунд II

Форум — Desktop

У меня проблема - https://github.com/mate-desktop/caja/issues/1751

@Dimez стёр мою предыдущую тему:
https://www.linux.org.ru/forum/desktop/17428934

Я написал тест:

$ cat main.c

#include <stdio.h>
#include <gio/gio.h>

int main(int argc, char *argv[]) {
	GApplication *app;
	GError *error = NULL;
	
	// # warning: ‘G_APPLICATION_FLAGS_NONE’ is deprecated: Use 'G_APPLICATION_DEFAULT_FLAGS' instead [-Wdeprecated-declarations]
	app = g_application_new ("org.mate.caja", G_APPLICATION_DEFAULT_FLAGS);

	g_application_register (app, NULL, &error);
	
	if (error != NULL) {
	   g_printerr ("Could not register the application: %s\n", error->message);
	   g_error_free (error);
	}
	else
	{
	   g_print ("Success\n");
	}

	return 0;
}

$ cat Makefile.am

bin_PROGRAMS = my_caja
my_caja_SOURCES = main.c
AM_CPPFLAGS = $(GLIB_CFLAGS) $(GIO_CFLAGS)
AM_LDFLAGS = $(GLIB_LIBS) $(GIO_LIBS) 

$ cat configure.ac

AC_INIT([my_caja], [0.0.0])
AC_CONFIG_SRCDIR([main.c])
AC_CONFIG_HEADERS([config.h])

# Check for GLIB
PKG_CHECK_MODULES([GLIB], [glib-2.0], [have_glib=yes], [have_glib=no])

AS_IF([test "x$have_glib" = "xyes"], [
  AC_DEFINE([HAVE_GLIB], [1], [Define to 1 if GLIB is available])
  AC_SUBST([GLIB_CFLAGS])
  AC_SUBST([GLIB_LIBS])
], [
  AC_MSG_ERROR([GLIB is required to compile this program])
])

# Check for GIO
PKG_CHECK_MODULES([GIO], [gio-2.0], [have_gio=yes], [have_gio=no])

AS_IF([test "x$have_gio" = "xyes"], [
   AC_DEFINE([HAVE_GIO], [1], [Define to 1 if GIO is available])
   AC_SUBST([GIO_CFLAGS])
   AC_SUBST([GIO_LIBS])
], [
   AC_MSG_ERROR([GIO is required to compile this program])
])

AM_INIT_AUTOMAKE([foreign])
AC_PROG_CC
AC_CONFIG_FILES([Makefile])
AC_OUTPUT

$ autoreconf -fi && ./configure && make
$ ./my_caja

Success  

Что делать дальше?

 ,

Shushundr
()

Устанавливали ли вы когда-нибудь libdweb ?

Форум — Linux-install

Существует такая библиотека:
https://github.com/mozilla/libdweb
ей уже много лет. «effort to implement experimental APIs for Firefox WebExtensions»
суть в том, чтобы делать свои протоколы при помощи нативного кода.
(на LOR нет ни одного топика со словом libdweb)

Вот пример потребителя этой библиотеки:
https://github.com/ipfs/devgrants/blob/main/targeted-grants/protocol-handler-api-for-browser-extensions.md

Что конкретно надо сделать, чтобы собрать firefox с этой фичей?

Суть в том, что имена сайтов можно писать кириллицей, продолжения URI можно писать кириллицей (например википедия так делает), а название протокола писать кириллицей по дефолту нельзя. Но мне кажется, что если прикомпилировать вышеуказанную библиотеку, то станет можно.

 , ,

Shushundr
()

Видео -> 3D-модель

Форум — Talks

Существует ли (опенсорсная) десктопная программа, которая превращает видео в 3D модель (например в формате STL)?

Какие физические проблемы мешают её созданию? Можно ли их устранить, введя некоторые предположения (например, разместить модель на известном расстоянии от камеры и источника света при помощи предметного столика, линейки и транспортира)

Ну или снимать тремя камерами одновременно, с замеренным расположением между ними («параллакс» это вроде называется?)

 

Shushundr
()

Где пакеты для netbeans?

Форум — Linux-install

Хотел пройти туториал по написанию hello world
https://docs.oracle.com/javafx/2/get_started/hello_world.htm
он начинается с того, что надо установить netbeans
не знаю, как это сделать.

почитал, а там пишут:

Netbeans downloads a lot of dependencies during the build process

это же нарушает гайдлайны по опакечиванию (которые говорят, что нужно опираться на архивы с исходниками, на случай установки без интернета)

Искал в debian, не нашел

UPD: может Arch поставить? NixOS не предлагать.

 

Shushundr
()

Научите пользоваться программой OpenStreetMap

Форум — Desktop

Сушествует ли к ней кроссплатформенный опенсорсный толстый клиент? Чтоб прям и под Linux работал и под Android? Как называется, на чём написан?

На андроиде при нажатии кнопки на боку телефона вылезает программа фотографирования. Как сделать, чтобы появлялась карта с текущим местоположением?

Нет ли статьи по типу такой только с картой России или Москвы вместо США?

 

Shushundr
()

будущее носителей информации

Форум — Talks

Расскажите, пожалуйста, как устроен рынок жестких дисков, кто их производит, и что со всем этим стало из-за санкций? Правильно ли я понимаю, что механические диски в России теперь редкость, а главное направление это SSD, которое собирают в России из Китайских чипов?

Western digital Gold 6 Тб WD6003FRYZ = 18268 ₽
Seagate IronWolf Pro ST6000NE000 = 18584 ₽

Хотя вроде нет, SSD не подешевели:
Samsung Enterprise PM1735, MZPLJ6T4HALA-00007, 6400GB = 175229 ₽

В интернете какие-то устаревшие данные

«Резкий запрет США на поставку чипов в Китай затронул Samsung.»
https://www.cnews.ru/news/top/2023-07-06_samsung_teryaet_pribyl_iz-za
«В правительстве РФ заговорили о прекращении параллельного импорта техники от Samsung»
https://newizv.ru/news/2023-06-19/vlasti-hotyat-zapretit-import-smartfonov-samsung-chego-zhdat-pokupatelyam-410669

Kingston - американская
ADATA - тайваньская (буду считать, как американская)
Tigo - китайская
MaxSun - китайская
Colorful - китайская
Galaxy - китайская
(последние 4 ни разу не видел)

BIWIN - «Один из лидеров рынка модулей SSD в Китае»

насколько я понял, китайские диски все малого размера - 1..2 TB, вот этот самый большой пока, который я нашел:
SSD диск NETAC M.2 (2280) NV7000 4.0 Tb PCIe NVMe NT01NV7000-4T0-E4X = 42600 ₽

Российский, насколько я понял, это GS Nanotech:
Накопитель SSD 2.5’ GS Nanotech GSPTA01TR16STF 1TB SATA 6Gb/s 3D TLC 530/470MB/s IOPS 59K/46K MTBF 2M 525TBW 7mm = 63783 ₽
(это и мало, и дорого)

 

Shushundr
()

Почему при установке tomcat не создаётся инстанс по-умолчанию?

Форум — Admin

https://packages.gentoo.org/packages/www-servers/tomcat

Нет USE-флагов для установки примеров скриптов запуска (что-то вроде USE=«systemd», USE=«sysvinit»)

$ equery files tomcat | grep "\.service"  
$ 

В некоторых других серверах есть USE-флаг vhosts, если он не установлен, то проводится настройка по-умолчанию. Если установлен - оставляется на усмотрение пользователя.

Ещё есть USE=«http2» (поддержка HTTP/2). И в tomcat она есть, но конфигурирование почему-то делается для HTTP-1.1.

Там ещё есть скрипт внутри
/usr/share/tomcat-10.1/gentoo/tomcat-instance-manager.bash
мне непонятно, почему этот скрипт не умеет показывать уже сконфигурированные инстансы. И вообще почему он сделан отдельным скриптом, а не как eselect-модуль.

Типа:
emerge app-eselect/eselect-tomcat
eselect tomcat list

Чего я хочу добиться? Если я хочу сделать пакет для web-приложения (например на Java), то такой пакет может иметь зависимость от tomcat. Пакет tomcat-та должен подтянуться и установиться с какими-то разумными умолчаниями (и стать запускаемым). А внутри моего билда я должен сконфигрурировать приложение при помощи webapp-config. А tomcat не готов!

 , ,

Shushundr
()

Как сделать приложение на Android без Java?

Форум — Mobile

Мне непонятно, как устроен их графический стек. Документация как всегда неправильная - https://source.android.com/docs/core/graphics/architecture?hl=en

Допустим, что установив Vulkan SDK и Android NDK можно теоретически написать Native Activity, которая что-то там изобразит. Но это подразумевает, что надо будет всё равно иметь программу на Java, и она будет через JNI вызывать вот это всё сишное.

А можно ли как-нибудь весь интерфейс на Си сделать? Какие библиотеки такой код содержат? Вот есть HWUI (Hardware-accelerated 2D Rendering) вместо Skia, но HWUI работает через OpenGL ES, а я-то хочу через Vulkan. Skia вроде с Vulkan умеет работать, но это недостаточно высокого уровня фреймворк, он типа Cairo, а не типа Gtk.

В общем как графику-то рисовать в Android, если аллергия к Java?

 , ,

Shushundr
()

Вышел GNOME 45.1

Новости — GNOME
Группа GNOME

Вышел GNOME 45.1, стабильный багфикс-релиз.

Этот выпуск содержит критическое обновление стабильности и незначительное обновление безопасности, которое затрагивает приложения Electron, использующие уведомления Portal (например, через Flatpak). Всем пользователям libnotify 0.8.x настоятельно рекомендуется обновиться до этого выпуска.

>>> Подробности

 , ,

Shushundr
()

Сайт без вебсервера

Форум — Talks

Существует технология PWA:
https://en.wikipedia.org/wiki/Progressive_web_app
https://mdn.github.io/pwa-examples/
https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps

Суть такова: тем или иным способом на компьютере появляется JavaScript и работает как приложение.

Можно, наверное, установить все его файлы билдом.

Дальше мысль идёт так: существуют библиотеки для p2p-соединений типа js-libp2p, существуют базы данных на JavaScript, форумы на технологии Publish-Subscribe и т.д.

Т.е. установив такой форум билдом, дальше он может сконнектиться и закачать данные сам, без (единого) web-сервера.

Это нужно например на тот случай, если админ сервера - козлина, или если его переехал автобус.

Сервис-воркеры могут перехватывать сетевые запросы и возвращать кэшированные ответы, что позволяет PWA работать в офлайн-режиме.

Мой вопрос в том, можно ли открывать это приложение не как приложение, а как обычный сайт в браузере? Т.е. придумать ему виртуальный URL, который будет выглядеть как будто бы он обрабатывается DNS, но на самом деле нет.

Чтобы можно было пользоваться этим из браузера как обычным сайтом, и не обращать внимание на то, что это PWA.

Shushundr
()

Библиотека GNU libavl

Форум — Linux-install

Удивительным образом не вижу пакета для неё в одной операционной системе, которую нельзя называть. А .ebuild-файл к этой библиотеке совершенно точно должен существовать, потому что это одна из зависимостей ZFS.

Для сравнения - есть ли она в Debian? Есть, оказывается.

https://adtinfo.org/
«GNU libavl is the most complete, well-documented collection of binary search tree and balanced tree library routines anywhere.»

Знаете почему Gnome тормозит? Они эту библиотеку не используют, у них «a library named glib, which has an unoptimized recursive C implementation

Между тем, библиотека libavl написана модным, литературным, стилем программирования. Я всегда как-то думал, что literate programming это нечто абстрактное (мол, просто документируйте больше), но нет, это вполне конкретный особый способ извратить исходники в репозитории (TexiWEB), и они его реально применяют (и, наверное, обучают ему)!
Значит к библиотеке есть книжка, по которой можно всё изучить (411 страниц). И это очень хорошо.

Для сравнения, попробуйте поискать методички такого размера и детальности на русском языке. Их нет. Три тётки женщины попробовали что-то написать, но… Недотягивает уровень, моё оценочное суждение, зато там есть неуместные якобы «юморные» картинки.

Хотелось бы заметить, что эта библиотека мало известна среди российских программистов, по неизвестной мне причине. Наверное лень читать. Чаще советуют макросы для деревьев из BSD.

Подробности: https://git.savannah.gnu.org/cgit/avl.git/tree/ (GNU LGPL v2.1)

Shushundr
()

Как выравнивать данные?

Форум — Development

Современные процессоры не такие же, как те процессоры, на которых разрабатывали язык Си. В новых процессорах огромные кеши, которые состоят из «строк», и данные в них пересылаются целиковыми строками (это моя гипотеза), по крайней мере уж очищаются-то точно строками. «This enables several tricks, like making sure neighboring elements of an array never share the same cache line with each other (which may speed up certain kinds of concurrent code).»
Так или иначе, для данных сегодня очень полезно быть выровненными на границу 8 байт (при 64-х битной архитектуре вроде x86_64), или даже на границу 16-ти байт (стек вроде так просят выравнивать). «The choice of both Windows x64 and x86-64 System V to maintain 16-byte stack alignment». С мотивацией, что «некоторые типы данных, такие как SSE- и AVX-векторы, требуют выравнивания по границе 16 байт для корректной работы».

В спецификации языка Си возможность выравнивания типов на границу появилась начиная с C11.

«alignment of any given struct or union type is required by the ISO C standard to be at least a perfect multiple of the lowest common multiple of the alignments of all of the members of the struct or union in question.»

Мне надо, чтобы экземпляры структуры всегда выравнивались на границу 16 байт (в стеке и в куче). Как мне этого добиваться?

Пункт 7.15 стандарта C11:

7.15 Alignment <stdalign.h>
1 The header <stdalign.h> defines four macros.
2 The macro
alignas
expands to _Alignas; the macro
alignof
expands to _Alignof.
3 The remaining macros are suitable for use in #if preprocessing directives. They are
_ _alignas_is_defined
and
_ _alignof_is_defined
which both expand to the integer constant 1.

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

alignas(16) struct MyStruct {
    // поля структуры
};

«Для выделения памяти для таких типов данных следует использовать функции aligned_alloc и подобные». И тут начинаются разброд и шатание:

  • C11

    void * aligned_alloc (size_t alignment, size_t size)

  • POSIX

    int posix_memalign (void **memptr, size_t alignment, size_t size)

В GCC, для выравнивания структур и объединений, можно использовать атрибут __attribute__((aligned(n))). Но непонятно, требование по выравниванию применятся к самой структуре в целом, или к каждому полю в ней (думал, что второе, а на самом деле оказалось, что первое).

To specify multiple attributes, separate them by commas within the double parentheses: for example, __attribute__ ((aligned (16), packed)). Ну ок, а в C11 как добится такого же эффекта (выравнивание + packed)?

В LLVM реализация стандарта C11 тоже должна быть.

Ещё есть пункт 7.19 с типом max_align_t

7.19 Common definitions <stddef.h>
1 The header <stddef.h> defines the following macros and declares the following types.
Some are also defined in other headers, as noted in their respective subclauses.
2 The types are
...
max_align_t
which is an object type whose alignment is as great as is supported by the implementation in all contexts;

Отсюда, насколько я понимаю, если мне надо выравнивание не менее чем на 16 байтов, использовать malloc в коде нельзя (только aligned_alloc, возможно с alignof).

Я это всё потому пишу, что наткнулся на github-е на фрагмент кода, и мне захотелось сделать по-аналогии, только выравнивать не на 4 байта, а на 16. Наличие четырёх битов позволило бы мне в них закодировать не только разницу в глубине/высоте поддеревьев, но и количество дочерних узлов (два, один, или ни одного). Зная, что в листе нет дочерних, можно выделять под него меньше памяти, а листов в дереве чуть ли не половина от всех узлов.

Стоит ли заморачиваться именно с такой структурой дерева (для экономии памяти), если всё равно результат будут размещать в докере и потеряют много ресурсов в других местах, а предварительная оптимизация - зло? Может быть уже кто-то готовый код написал, никто не видел?

А что, если бы это был не Си, а какой-нибудь Rust?

«Один из способов управления выравниванием в Rust - использование атрибута #[repr(C)]. Этот атрибут гарантирует, что структура данных будет представлена в памяти так, как если бы она была написана на C. Это означает, что порядок и размер полей структуры будут соответствовать тому, что определено в C, и выравнивание будет соответствовать стандартам C»

«использование атрибута #[repr(align(16))] может привести к неэффективному использованию памяти, так как компилятор будет добавлять дополнительные заполнения в структуру, чтобы удовлетворить требование выравнивания.»

Shushundr
()

Смотрю на репозиторий php-overlay и не понимаю.

Форум — Linux-install

Есть такой репозиторий: https://github.com/gentoo-php-overlay/php-overlay

Лидера у проекта php нет, документации тоже нет (только как установить сам php, но не как работать с его приложениями и фреймворками типа Laravel).

В репозитории нет директории eclass. А она определённо должна быть.

Дело в том, что в технологии php есть пакетный менеджер с названием composer, который работает с сайтом https://packagist.org/

Этот composer может скачивать пакеты локально в проект или глобально в систему. Путь Gentoo, это когда пакеты скачиваются и устанавливаются глобально, чтобы использоваться совместно.

На утилиту composer можно повлиять и подсказать ей при помощи переменной окружения ${COMPOSER_HOME}

# composer global --help | head -n 2
Description:
  Allows running commands in the global composer dir ($COMPOSER_HOME)

Можно предположить, что в качестве такой директории выбрана /usr/share/php/Composer

# ls -1 /usr/share/php/Composer
CaBundle
ClassMapGenerator
MetadataMinifier
Pcre
res
Semver
Spdx
XdebugHandler

(но это неточно, потому что внутри этой директории нет директории vendor).

В генте есть практика, когда для использования какой-нибудь утилиты пишется eclass-обёртка с функциями bash, а уже эти функции вызываются из .ebuild-файлов.

Моя проблема в том, что я не вижу такого класса ни в репозитории php-overlay, ни в списке eclass-ов в gentoo.

 , , ,

Shushundr
()

Где лежат исходные тексты pastebin от Calculate?

Форум — Talks

Т.е. исходники вот этого сайта:
http://pastebin.calculate-linux.ru

Или они нигде не выложены, потому что это коммерческий дистрибутив, рассчитывающий на капиталистический заработок денег?

Вижу такие темы:
https://www.gentoo.ru/node/22714
https://www.gentoo.ru/node/27920

А исходные тексты не вижу.

Ранее по теме:
свой pastebin

Перемещено leave из web-development

 ,

Shushundr
()

Как установить кодировку Apache через .ebuild?

Форум — Web-development

Нормальные люди создают внутри приложения .htaccess файл, и вписывают туда строку `AddDefaultCharset UTF-8". (зачем мне web-приложение написано в предыдущей теме)

Но здесь есть три проблемы:

  1. с какого хрена вообще Apache использует ISO-8859-1, если в системе Gentoo по-умолчанию в файловой системе используется utf-8 ?
# eselect locale list
Available targets for the LANG variable:
  [1]   C
  [2]   C.utf8
  [3]   en_US.utf8
  [4]   POSIX
  [5]   ru_RU.utf8 *
  [ ]   (free form)

Проклятый RFC 2616 дотянулся…

  1. файлы .htaccess не всегда работают, а только тогда, когда их обработка сконфигурирована админом сервера Apache при помощи директивы AllowOverride
  2. эти файлы надо будет включать много раз в каждое приложение, это нарушает принцип DRY.

У меня была идея сделать отдельный .ebuild, который будет устанавливать файл /etc/apache2/modules.d/00_default_encoding.conf со строчкой AddDefaultCharset UTF-8 внутри, и добавлять этот ebuild в зависимости каждого web-приложения. Но у такого решения по-прежнему сохраняются недостатки 1 и 3.

В общем, надо как-то переделать .ebuild-файл для Apache, или добавить к нему Reverse Dependency, правильно? Или там уже всё есть, я просто использовать не умею?

Настроек нужных в USE-флагах я не вижу:

[ebuild   R    ] www-servers/apache-2.4.57:2::gentoo  USE="gdbm (split-usr) ssl suexec-caps systemd -debug -doc -ldap (-selinux) -static -suexec -suexec-syslog -threads" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core authn_dbm authn_file authz_core authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio mime mime_magic negotiation rewrite setenvif socache_shmcb speling status unique_id unixd userdir usertrack vhost_alias -access_compat -asis -auth_form -authn_dbd -authn_socache -authz_dbd -brotli -cache_disk -cache_socache -cern_meta -charset_lite -dbd -dumpio -http2 -ident -imagemap -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_forensic (-lua) -macro -md -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_fcgi -proxy_ftp -proxy_hcheck -proxy_html -proxy_http -proxy_http2 -proxy_scgi -proxy_uwsgi -proxy_wstunnel -ratelimit -remoteip -reqtimeout -session -session_cookie -session_crypto -session_dbd -slotmem_shm -socache_memcache -substitute (-tls) -version -watchdog -xml2enc" APACHE2_MPMS="prefork -event -worker" LUA_SINGLE_TARGET="lua5-1 -lua5-3 -lua5-4" 7 308 KiB

Можно, конечно, сделать свой особый билд для Apache и в нём добавить патч, или использовать фичу user patches но что-то мне такое решение не кажется правильным, и включабельным в профиль для распространение на множество машин.

Я бы сказал, что «кодировка» - это такая фича, прикрученная сбоку. И эту фичу билды должны иметь возможность требовать через зависимости. Чтобы пакетный менеджер мог такие зависимости вычислить и установить ту кодировку, которую требуют сайты.
А если кодировок требуется несколько, то устанавливать несколько пакетов с кодировками, но конфигурировать их уже не глобально для инстанса Apache, а на приложения, которые её используют.

Пакетных менеджеров, вообще говоря, много. Поэтому логику выбора что и как конфигурировать можно было бы засунуть в отдельную утилиту, и написать к ней .eclass. А в билдах вызывать какую-нибудь функцию, чтобы она символизировала. Такая утилита есть, это webapp-config. Вы в ней установку кодировки видите? И я - нет.

 , ,

Shushundr
()

Почему coreutils не собирают статически?

Форум — Linux-install

Запустил команду emerge -auvDNGK @world
и машина превратилась в тыкву

server /lib64 # cp
cp: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by cp)
server /lib64 # mv
mv: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by mv)
server /lib64 # wget
wget: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory

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

Насколько я понимаю, надо идти 10 километров зимой в мороз в гору и загружаться с DVD (ISO-диска), потом копировать недостающие файлы и перезапускать.

Я считаю, что надо было собрать coreutils и ssh статически. А мейнтейнеры генты так не считают. Они неправы.

Shushundr
()

RSS подписка на новые темы