надо придумать, как его обработать.
Выкачиваем файл: curl http://mirror.yandex.ru/slackware/slackware64-current/slackware64/MANIFEST.bz2 | bzip2 -d > /tmp/MANIFEST
Обрабатываем (для примера взял libusb-0.1.so.4): egrep "libusb-0.1.so.4|Package:" /tmp/MANIFEST | grep -B1 libusb-0.1.so.4
|| Package: ./a/aaa_elflibs-15.0-x86_64-21.txz
-rwxr-xr-x root/root 22712 2018-04-13 10:04 usr/lib64/libusb-0.1.so.4.4.4
--
|| Package: ./l/libusb-compat-0.1.5-x86_64-3.txz
-rwxr-xr-x root/root 22712 2018-04-13 10:04 usr/lib64/libusb-0.1.so.4.4.4
Пока не работает - txz файлы выкачивает и создает папку DEV - больше ничего. Вот что пишет:
# ./get_slack_txz opencl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 349k 100 349k 0 0 1397k 0 --:--:-- --:--:-- --:--:-- 1397k
Обрабатывается opencl-headers-2.2-noarch-2.txz
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 70960 100 70960 0 0 923k 0 --:--:-- --:--:-- --:--:-- 923k
mkdir: can't create directory 'opencl-headers-2.2-noarch-2.txz/': Not a directory
./get_slack_txz: cd: line 101: can't cd to opencl-headers-2.2-noarch-2.txz
tar: can't open '../opencl-headers-2.2-noarch-2.txz': No such file or directory
rm: can't remove 'install': No such file or directory
./get_slack_txz: line 101: can't create etc/packages/mount/opencl-headers-2.2-noarch-2.txz/pfs.files: nonexistent directory
noarch
Да, noarch я не учёл :(
Строка 61 должна быть:D=$(basename $P | sed 's/-i.86.*//;s/-x86_64.*/_64/;s/-noarch.*//')
Теперь работает # get_slack_txz opencl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 354k 100 354k 0 0 291k 0 0:00:01 0:00:01 --:--:-- 291k
Обрабатывается opencl-headers-2.2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 70936 100 70936 0 0 183k 0 --:--:-- --:--:-- --:--:-- 183k
Так как opencl-headers-2.2 содержит только *.h, ценность представляет только opencl-headers-2.2_DEV
Хелп у гет-скрипта кроме -д есть ещё опции?
Вы это серьёзно? ???
ОТрывок из скрипта:
Usage () {
echo "Использовать:
get_slack_txz [аргумент] имя пакета
-h покажет эту справку
-l покажет список найденных пакетов
-d выкачать и проверить зависимости.
-m создать модуль xzm
-v покажет версию get_slack_txz
"
exit 0
}
Если нормально - релиз? Или рано?
Хотелось бы, чтобы скрипт скачивал сразу несколько пакетов и паковал их в один модуль т.е. что-то вроде:
get_slack_txz -m пакет1 пакет2 пакет3 ... пакетN
а на выходе получался один модуль xzm со всеми скачанными пакетами (столкнулся с такой необходимостью, когда ставил зависимости ffmpeg)
Переделал под 32-бит Slackware current. Но дело не в этом. Не работает с другими репозиториями:
$ wget https://packages.slackonly.com/pub/packages/14.2-x86/office/gnumeric/gnumeric-1.12.34-i586-1_slonly.txz
--2020-12-03 17:58:47-- https://packages.slackonly.com/pub/packages/14.2-x86/office/gnumeric/gnumeric-1.12.34-i586-1_slonly.txz
Resolving packages.slackonly.com (packages.slackonly.com)... 45.58.49.216, 2602:ffc5::ffc6:f752
Connecting to packages.slackonly.com (packages.slackonly.com)|45.58.49.216|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 13085976 (12M)
Saving to: ‘gnumeric-1.12.34-i586-1_slonly.txz’
...
$ sudo env REPO=https://packages.slackonly.com/pub/packages/14.2-x86 ./get_slack_txz32 -m gnumeric
Пакет с именем gnumeric не существует в https://packages.slackonly.com/pub/packages/14.2-x86
а он есть.
А, понятно) А что за сообщение выскакивает:
sudo ./get_slack_txz -d mc
... # (что-то есть лишнее)
mount: /: mount point not mounted or bad option.
Это я тестировал под системой, на которой делаю Риччи-флэшку)
Если там есть sudo, то это старый Richy. Я от sudo избавился за счёт /etc/busybox.conf. [SUID]
poweroff = ssx root.root
reboot = ssx root.root
mount = ssx root.root
umount = ssx root.root
mkdir = ssx root.root
rmdir = ssx root.root
losetup = ssx root.root
ntfs-3g = ssx root.root
blkid = ssx root.root
eject = ssx root.root
udhcpc = ssx root.root
rdate = ssx root.root