Сайт | Скачать | Видео | Wiki

Автор Тема: Консольный скрипт управления пакетами для Puppy  (Прочитано 775 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
Давно уже хотел сделать, но все забивал. Толчком послужил флуд в сообщениях:
http://forum.puppyrus.org/index.php?topic=22386.msg165258#msg165258
и
http://forum.puppyrus.org/index.php?topic=22386.msg165088#msg165088

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

Собственно скрипт apt-pet_test.pet

Подойдет для Puppy, основанных на ubuntu, вне зависимости от архитектуры.

Настоятельно рекомендуется ознакомиться с выхлопом команд apt-pet usage и apt-pet help.
Так же, перед использованием рекомендуется обновить базу пакетов (apt-pet update)
Для тех, у кого есть вопросы, но в лом устанавливать пакет или нету Puppy - README во вложении.

В планах:
Сделать управление репозиториями (в т.ч. PPA), поддержка debian-based Puppy, поддержка slacware-based Puppy, вычисление необходимого свободного пространства для установки и имеющегося в наличии, показ списка совпадений, если пакет не найден. Привести скрипт в читабельный вид (цитата из книги "128 советов начинающему программисту": "Практически невозможно научить хорошо программировать студентов, ориентированных первоначально на БЕЙСИК: как потенциальные программисты они умственно оболванены без надежды на исцеление.")

P.S. Если ошибся разделом - прошу поместить в соответствующий.
« Последнее редактирование: 08 Февраль 2020, 20:23:40 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн dZ0TFR

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: +3/-0
А чем убунтовский пм плох? Или руки чесались просто? :)

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
А чем убунтовский пм плох? Или руки чесались просто? :)
Читаем readme во вложении. Я не выдержу писать ещё столько же
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн dZ0TFR

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: +3/-0
Нормально, пойдёт. Что-то типа apt-file можно придумать?

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
В теории - да. Пока не разбирался, как. Кстати, с помощью этого apt-pet и woof-builder, можно замутить такое:
http://forum.puppyrus.org/index.php?topic=21940.msg165574#msg165574  (сообщение от Acerman)
« Последнее редактирование: 08 Февраль 2020, 21:21:25 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
В теории - да. Пока не разбирался, как.

Нашел, откуда брать. Берем, допустим http://archive.ubuntu.com/ubuntu/dists/bionic/Contents-i386.gz
Распаковываем и ищем, что нас интересует. Например:

grep libmp3lame.so.0  Contents-i386
usr/lib/i386-linux-gnu/libmp3lame.so.0                 libs/libmp3lame0
usr/lib/i386-linux-gnu/libmp3lame.so.0.0.0           libs/libmp3lame0
(это куда устанавливается)                         (это, в каком пакете содержится)

Над выводом можно подумать.
« Последнее редактирование: 08 Февраль 2020, 22:13:20 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
Кстати, с помощью этого apt-pet и woof-builder, можно замутить такое:
Попробовал. Можно. Пригодится это:
Что-то типа apt-file можно придумать?
Дабы выкачать все зависимости для всего. Осталось автоматизировать. Займусь позже.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Онлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 28687
  • Репутация: +195/-0
    • PuppyRus-A
Консольный скрипт управления пакетами для Puppy - видел подобное на мурге в свежих темах

Дабы выкачать все зависимости для всего
Было бы интересно если под разные ПМ, т.е. универсально. Тогда можно было бы их слить. А они не маленькие.
И второй плюс - в одном дистре делать модули из пакетов другого дистра. Тут сложнее. Надо чтобы версии либ были близки, но это все равно удобнее чем руками
Пишите модульно эту часть. Может еще кто (я :)) подключится

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
Да я тут сам офигеваю) Чужой код читать - дело весьма тошнотворное. Особенно с мурги. Тут в своем бывает, что не разберёшься) Так, что ценю заинтересованность. Без шуток.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Онлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 28687
  • Репутация: +195/-0
    • PuppyRus-A
Особенно с мурги
Это да. Хотя странно это слышать от главного Пуппи-ниста
У меня подобные разбирательства заканчивались полным переписыванием

По делу надо писать так :
1. Донорская репа из конфига + универсальный поиск и  выкачка оттуда
2. Разбор пакета - по его разширению. Для deb и rpm в пра есть pkgextract
3. Парсинг зависимостей под каждый пм свой и далее п.1 и mkpfs
Самая жесть будет с зависимостями зависимостей

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
Самая жесть будет с зависимостями зависимостей
Для deb фигня в плане выяснения. Для slackware - в плане реализации.  rpm-ы мне не зашли, не разбирался.

2. Разбор пакета - по его разширению. Для deb и rpm в пра есть pkgextract
3. Парсинг зависимостей под каждый пм свой и далее п.1 и mkpfs

Универсальность хорошо, но проще и надежнее будет сделать под конкретную бинарно совместимую базу. Как там у Fliker09 - "Драйверы от разных систем НЕСОВМЕСТИМЫ!", я бы сказал пакеты несовместимы. Не, можно, конечно. Но чревато всякими undefined_symbol-ами, trace/breakpoint-ами и прочими segmentation fault-ами. То бишь я против впихновения непихаемого. Либо учить скрипт дифференцировать, либо делать под совместимый формат.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн dZ0TFR

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: +3/-0
С нетерпением ожидаем-с пм для слаки от самураев консоли :)

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
С нетерпением ожидаем-с пм для слаки от самураев консоли :)
Самурай всегда выбирает путь смерти. Я же за жизнь. Того, что написано.
ПМ для слаки буде одновременно и сложнее и проще, чем для deb-образных.
Если интересно - поделюсь соображениями пока. Т.к. в ближайшее время не смогу что-то делать, только телефон.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн dZ0TFR

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: +3/-0
Как приедешь, хотя бы попытайся. Я тоже не думаю, что все так просто...
Своим пм-ом превратить слаку в дебиан:)

Оффлайн imp

  • /dev/бубен
  • Ветеран
  • *****
  • Сообщений: 1002
  • Репутация: +36/-1
  • /dev/hands from /dev/ass
Своим пм-ом превратить слаку в дебиан:)
Не, это слишком.
А вообще, основную работу ddshurik сделал по скачке и обработке пакетов. У дураков, кстати, мысли сходятся.
У него красивей получилось.

Мне осталось найти зависимости и разложить их в ряды. Или векторы, хрен его знает.
А далее - циклы наше все.
« Последнее редактирование: 11 Февраль 2020, 13:08:58 от imp »
Компьютер имеет то преимущество перед мозгом, что им пользуются.