Объединение Entware-ng и Entware-3x. Теперь это просто Entware!!!

Используем пакеты, расширяющие возможности оборудования
Аватара пользователя
Zyxmon
Администратор
Сообщения: 1800
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 30 янв 2020, 23:42

Voxel писал(а):Источник цитаты А вот вопрос: не будет проблем у пользователей с opkg update / opkg upgrade при переходе на новый компилятор при том же glibc? Или советовать все с нуля переустанавливать?

Не будет. Точнее не должно быть. libc то обновится автоматом.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1800
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 01 фев 2020, 23:09

Сегодня выложено очередное обновление Entware.
https://entware.net/2020/02/01/Changelog.html

Voxel
Сообщения: 127
Зарегистрирован: 29 фев 2016, 12:34

Сообщение Voxel » 03 фев 2020, 11:16

Zyxmon писал(а):Источник цитаты Сегодня выложено очередное обновление Entware.
https://entware.net/2020/02/01/Changelog.html


:good:

Voxel.

Voxel
Сообщения: 127
Зарегистрирован: 29 фев 2016, 12:34

Сообщение Voxel » 02 апр 2020, 15:21

Добрый день,

Немного пообщался с Zyxmon-ом в привате. Дело в том, что чуть обновляю свою версию Entware для Cortex-A15, Обновления включают также обновление glibc с версии 2.26 до 2.27. Здесь пишу, чтобы не забылось.

Проблема 1: после

Код: Выделить всё

opkg update
opkg upgrade

с предыдущей версии, т.е. с 2.26 на 2.27 в /opt/lib остается символьный линк ld-linux.so.3 на уже несуществующий ld-2.26.so. После этого никакие программы из Entware, естественно, не работают.

Решил для себя добавкой в Makefile пакета toolchain использование postinst скрипта:

Код: Выделить всё

. . .
ifeq ($(CONFIG_USE_GLIBC),y)
        PKG_RELEASE=9
define Package/libc/postinst
#!/bin/sh

if [ -e /opt/lib/$(DYNLINKER) ]; then
	rm -f /opt/lib/$(DYNLINKER)
fi
cd /opt/lib
$(LN) ld-$(CONFIG_GLIBC_VERSION).so $(DYNLINKER)
exit 0
endef
endif
. . .


возможно команде Entware пригодится в случае миграции на более новый glibc.

Минорная проблема 2, в entware-opt в Makefile создается postinst:

Код: Выделить всё

 . . 
#!/bin/sh

if [ -e /opt/bin/busybox ]; then
    exit 0
fi
if [[ -f /sbin/ifconfig && ! -f /opt/sbin/ifconfig ]]; then
    ln -s /sbin/ifconfig /opt/sbin/ifconfig
fi
if [[ -f /sbin/route && ! -f /opt/sbin/route ]]; then
    ln -s /sbin/route /opt/sbin/route
fi
if [[ -f /sbin/ip && ! -f /opt/sbin/ip ]]; then
    ln -s /sbin/ip /opt/sbin/ip
fi
if [[ -f /bin/netstat && ! -f /opt/bin/netstat ]]; then
    ln -s /bin/netstat /opt/bin/netstat
fi
if [[ ! -f /opt/bin/sh ]]; then
    ln -s /bin/sh /opt/bin/sh
fi
if [[ ! -f /opt/bin/ash ]]; then
    ln -s /bin/ash /opt/bin/ash
fi
. . .

что, вроде как неправильно. Во всяком случае мой /bin/sh на роутерах ругается и пишет про "missing ']]'". Я заменил на

Код: Выделить всё

#!/bin/sh

if [ -e /opt/bin/busybox ]; then
    exit 0
fi
if [ -f /sbin/ifconfig ] && [ ! -f /opt/sbin/ifconfig ]; then
    ln -s /sbin/ifconfig /opt/sbin/ifconfig
fi
if [ -f /sbin/route ] && [ ! -f /opt/sbin/route ]; then
    ln -s /sbin/route /opt/sbin/route
fi
if [ -f /sbin/ip ] && [ ! -f /opt/sbin/ip ]; then
    ln -s /sbin/ip /opt/sbin/ip
fi
if [ -f /bin/netstat ] && [ ! -f /opt/bin/netstat ]; then
    ln -s /bin/netstat /opt/bin/netstat
fi
if [ ! -f /opt/bin/sh ]; then
    ln -s /bin/sh /opt/bin/sh
fi
if [ ! -f /opt/bin/ash ]; then
    ln -s /bin/ash /opt/bin/ash
fi


Возможно вам пригодится.

Не болейте,
Voxel.

Аватара пользователя
TheBB
Сообщения: 95
Зарегистрирован: 31 авг 2015, 01:24
Откуда: 26 ~44.098,43.022

Сообщение TheBB » 02 апр 2020, 17:16

Voxel писал(а):Источник цитаты Во всяком случае мой /bin/sh на роутерах ругается и пишет про "missing ']]'".

башизм, чтоб его... Один из owrt`шных maintainer`ов пользует "shellcheck" для поиска и правки в скриптах.
K Giga II NDMSv.2.06C/2.11D/2.15A + Entware-Keenetic/Entware&Gentoo; K DSL NDMSv.2.05C/2.11D + Entware-Keenetic/Entware&Debian 8.11/9.6

Voxel
Сообщения: 127
Зарегистрирован: 29 фев 2016, 12:34

Сообщение Voxel » 02 апр 2020, 18:28

TheBB писал(а):Источник цитаты башизм, чтоб его... Один из owrt`шных maintainer`ов пользует "shellcheck" для поиска и правки в скриптах.


Ну да, я сам грешен. Особенно переключаясь с C/C++. Часто в if-ах машинально использую при сравнении "==" вместо "=". Особенно, если перед этим проверял неравенство "!=".

shellcheck - да, как раз и проверил им перед репортированием... Меня в него уже носом тыкали после моих "=="

Voxel.

Аватара пользователя
Zyxmon
Администратор
Сообщения: 1800
Зарегистрирован: 09 авг 2015, 14:33

Сообщение Zyxmon » 15 сен 2020, 13:22



Вернуться в «Entware/Qnapware/Optware/Zyxware - обсуждаем репозитории пакетов»

Кто сейчас на конференции

Всего 1 посетитель :: 1 зарегистрированный, 0 скрытых и 0 гостей (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (162) здесь было 16 ноя 2019, 17:33

Сейчас этот форум просматривают: CommonCrawl [Bot] и 0 гостей