opkg - полезные советы
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Александр Рыжов, Zyxmon, ну можно же тогда скомпилить opkg с линкером в /opt/libexec/opkg/. Линкер же скомпилить с lib-путями в той же директории (или просто rpath выставить в opkg). Туда же поместить все нужные библиотеки. И не плохо бы там иметь там свой resolv.conf, хе-хе. Там же динамический busybox с тем же линкером с апплетами wget, gzip и прочим необходимым. Все эти файлы пакуются в пакет opkg. Размер не сильно больше будет, если все статично было бы скомпилено, может быть даже меньше.
-
- Сообщения: 445
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
kaztost писал(а):Источник цитаты ну можно же тогда скомпилить opkg с линкером в /opt/libexec/opkg/.
Чувствуете как всё больше и больше появляется костылей по мере рассуждения?
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Александр Рыжов, почему смена линкера костыль? Тогда и Entware костыль. Эта статическая компоновка opkg если не костыль, то просто ненужное телодвижение, тем более glibc статику не всегда любит. Все равно же wget и gzip нужно также иметь независимыми.То есть опять прикручивать туда те же libc-функции. Кроме того, статика полезна, когда бинарь работает без конфигов. А opkg конфиг требует, то есть все равно надо файлы из пакета раскидывать по нужным путям. Просто побольше файлов будет таких.
-
- Сообщения: 445
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
kaztost писал(а):Источник цитаты Кроме того, статика полезна, когда бинарь работает без конфигов.
Дальше читать не стал.
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Вы всегда с конца читаете? И по-хамски почему отвечаете?Александр Рыжов писал(а):Источник цитаты Дальше читать не стал.
Если один супермодератор обращается так к другому супермодератору, то минимум один лишний. А поскольку один из них - активный разработчик Entware, причем реально много, что делает, то понятно кто есть who.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
Господа - не надо ссорится. Нужно всегда быть _вежливыми_. Если по делу, то конфиг файл не нужен, все что там есть, прежде всего url репозитория, передается через командную строку. Конечно хорошо бы иметь статически собранный opkg, которому не нужны внешние бинарники, со встроенной качалкой (в опциях сборки можно было??? подключить libcurl и избавится от wget, gzip думаю интегрировать не так уж и сложно.....
Проблема в том, что имеются минимум несколько десятков тысяч пользователей Entware. Наша возможная ошибка с opkg или другим базовым компонентом очень дорого будет стоить. Нужно все 1000 раз продумать, и если и переделывать, то тестировать, тестировать и тестировать. На всех системах, включая Android.
Проблема в том, что имеются минимум несколько десятков тысяч пользователей Entware. Наша возможная ошибка с opkg или другим базовым компонентом очень дорого будет стоить. Нужно все 1000 раз продумать, и если и переделывать, то тестировать, тестировать и тестировать. На всех системах, включая Android.
-
- Сообщения: 445
- Зарегистрирован: 12 авг 2015, 14:14
- Откуда: Смоленск
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Zyxmon, насчет конфига возможно был не точен, я opkg редко пользуюсь. Да и /etc/resolv.conf для меня тоже важный "конфиг".
Но смысл в другом: дополнительные файлы не зазорно же в пакет opkg запихнуть.Так зачем пытаться впихать в бинарь невпихуемое или трудно впихуемое? Пути к embedded бинарям wget и gzip захардкодить. Пути к библиотекам через rpath указать, свой линкер тоже запихать в пакет и вписать его в бинари opkg, wget и gzip. Просто же, ключи gcc позволяют это сделать.
Получится абсолютно независимый opkg. Причем сама логика opkg не пострадает. А если вживлять wget в opkg - вероятность получения старых граблей с wget немаленькая.
Можно потом потихоньку начать выкидывать из embedded glibc все ненужные функции, но выкидывать - не вставлять, логика опять не пострадает, если бинари будут успешно линковаться. Ну и /etc/resolv.conf можно в opkg своим сделать, чтобы вообще от системы не зависеть.
Но смысл в другом: дополнительные файлы не зазорно же в пакет opkg запихнуть.Так зачем пытаться впихать в бинарь невпихуемое или трудно впихуемое? Пути к embedded бинарям wget и gzip захардкодить. Пути к библиотекам через rpath указать, свой линкер тоже запихать в пакет и вписать его в бинари opkg, wget и gzip. Просто же, ключи gcc позволяют это сделать.
Получится абсолютно независимый opkg. Причем сама логика opkg не пострадает. А если вживлять wget в opkg - вероятность получения старых граблей с wget немаленькая.
Можно потом потихоньку начать выкидывать из embedded glibc все ненужные функции, но выкидывать - не вставлять, логика опять не пострадает, если бинари будут успешно линковаться. Ну и /etc/resolv.conf можно в opkg своим сделать, чтобы вообще от системы не зависеть.
-
- Администратор
- Сообщения: 1912
- Зарегистрирован: 09 авг 2015, 15:33
-
- Сообщения: 223
- Зарегистрирован: 17 июл 2017, 00:29
Zyxmon писал(а):Источник цитаты только свой линкер не планировал
по большому счету можно и не делать отдельный - в glibc он маленький и от него много не зависит. Но зато свой линкер можно кастрировать на предмет LD_LIBRARY_PATH и LD_PRELOAD, чтобы не было неожиданностей.
Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»
Кто сейчас на конференции
Всего 2 посетителя :: 1 зарегистрированный, 0 скрытых и 1 гость (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 18:33
Сейчас этот форум просматривают: CommonCrawl [Bot] и 1 гость