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

Автор Тема: spkg  (Прочитано 14818 раз)

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
spkg
« : 19 Февраль 2013, 17:20:32 »
https://bitbucket.org/simargl/spkg
Пакетный менеджер и Builder. Используется в ArchPup, Alphaos
Аналогичные идеи и у нас проскакивали, но дальше разговоров не пошло
sh скрипт. Т.е можно доработать.

Функционал:
Код
# spkg --help

SPKG Package manager and builder (release-2.0.0)
  download|-d        Download source code
  extract|-x         Extract tarball    
  compile|-c         Compile package
  ci|-ci             Compile and install package
  install|-i         Install package    
  remove|-r          Remove package
  info|-info         Show installed package information
  file|-file         Search for file
  repack             Repack installed package
  pack|-pack         Compress package from folder
  arch|-a            Find and convert ArchLinux PKGBUILD to def
  clist|-clist       Compile list of packages
  cilist|-cilist     Compile and install list of packages
  e|-e               Extract spkg package
  web|-web           Go to package homepage
  report|-report     Show system report
  ver|-ver           Check updates for def scripts inside folder
  makesfs|-makesfs   Make sfs module from all packages in folder (gzip)
  makesfsx|-makesfsx Compress packages to sfs module (xz)
  update|-update     Get new packages list
  -list-all|list-all List all available packages  
  search|-s          Search for packages on the mirror
  -gi|gi             Download and install package
  -g|g               Download package to cache directory
  -cc|cc             Clean the entire package cache
1. Находит в инет PKGBUILD Arch Linux (текст. файл в котором путь на скачку исходников и ключи компиляции), конвертирует в свой формат. Конвертирует, видимо, для того чтобы изменить ключи компиляции (руками) под свои задачи.

2. Компилит c проверкой, но , похоже, не разруливанием зависимостей в  /mnt/home/data/spkg
Код
spkg -c mc
Package Name: mc
Version:      4.8.7
Revision:     1
Description:  Midnight Commander is a text based filemanager/shell that emulates Norton Commander
Category:     development
Source URL:   http://www.midnight-commander.org/downloads/mc-4.8.7.tar.bz2
Homepage:     http://www.ibiblio.org/mc/
Maintainer:   simargl <archpup@gmail.com>
Dependencies:  opt
Build Deps:   libxt libx11
Downloading mc-4.8.7.tar.bz2... 100%
Extracting mc-4.8.7.tar.bz2...                                           [ok]
  >> Checking dependencies...
     opt                           missing
  >> Checking build dependencies...
     libxt                         missing
     libx11                        missing
  >> Starting compile...
man, doc удаляет
Все локали пакует в /mnt/home/data/spkg/packages/locale/имя_пакета.tar.xz
dev часть пакета не выделяет. Можно воспользоваться trim из AF или new2dir

3. На выходе создает пакет bz2 и PKGBUILD - подобной инфой.  
Т.е. вдохновясь ключами компиляции arch или написав свои, и пропатчив, можно скомпилить дистр "своей мечты"

4. В комплекте spkg_gui на gtkdialog. Обновляет список пакетов в репозитории, качает устанавливает с разруливанием зависимостей. Зависимости прописываются вручную или конвертируются из PKGBUILD. Список установленных пакетов и удаление но толи не работает, толи я что-то не понял

5. Список установленных файлов /mnt/rw/var/lib/spkg/installed/files совпадает с pfs_utils

6. Список зависимостей /var/lib/spkg/installed/*/def свой. Дополнительно есть совместимый (судя по archpup) с pacman (пакетный менеджер arch-а) /var/lib/pacman/local/*/desc.
Совместимость с arch спорный функционал. Если это нужно - надо строить дистр на репозитории arch и использовать его ПМ.
Скомпилив pacman можно доставлять готовые пакеты из репы арча. Вероятно, закончится это сломанными зависимостями. Вывод сделан по итогу моих экспериментов и отказа от pacman в alphaos

7. makesfs(x) Может собрать sfs из всего (из части - не нашел) скомпиленного. Аналога pfsextract не нашел

8. Работает со своим репозиторием указанном в конфиге: листинг, скачка, установка с зависимостями
В корне репозитория должен лежать файл pkgs.list.db - это tar.xz. Утилит его создания не нашел.

Работает в любом линуксе. Работу проверил.
Если гибридизировать с нашим pfs может получиться весьма неплохо.
Список ключей компиляции для создания облегченных пакетов может пригодиться в любом линукс

http://cdn.2safe.com/688786033560/spkg-2.1.0-1.spkg
« Последнее редактирование: 16 Май 2013, 12:59:41 от sfs »

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #1 : 26 Март 2013, 13:47:58 »
По итогу своих экспериментов доработал шапку

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:spkg
« Ответ #2 : 26 Март 2013, 14:45:46 »
я не могу понять профита использования, собрать из исходников свой репозитарий на основе исходников УЖЕ собранных пакетов arch - какой смысл то?
Чтобы выставить свои ключи компиляции? т.е. для каждого пакета все равно придется ручками менять параметры, не нужно.
Использовать патченные исходники arch? так данный дистриб не эталон качества, патч-патчу рознь.
Собрать репозитарий большой? а пересобирать его потом кто как будет и чем.

зы. маленький факт: new2dir в DEV пакет ложит текстовый файл в котором лежат параметры с которыми был собран пакет (правда работает только для программ которые имеют .configure)
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #3 : 26 Март 2013, 15:25:46 »
я не могу понять профита использования
1. Минимально - удобно скачать исходники без поиска в инете и посмотреть с какими ключами их компилили в арче
Далее - по вкусу .configure ... && make && new2dir или spkg -c. Если на выходе нужен не .spkg пакет - оптимально здесь и остановиться и или доработать - чтобы на выходе получать pfs или компилить как обычно
2. Максимально - переработать на .pfs формат и работу с pfs репой с учетом зависимостей. У нас этого нет. Будет чем вдохновиться.
, собрать из исходников свой репозитарий на основе исходников
А мы в puppurus разве чем-то другим занимаемся?
Использовать патченные исходники arch? так данный дистриб не эталон качества, патч-патчу рознь.
Иллюзий что кто не умел компилить - сможет нет. Компилить не станет легче. Станет немного удобней
зы. маленький факт: new2dir в DEV пакет ложит текстовый файл в котором лежат параметры с которыми был собран пакет (правда работает только для программ которые имеют .configure)
Я в курсе. И в devх в doc. Уж к чему я точно не призываю - так это к использованию формата .spkg. Не для этого отказывались от pet. Для чего иметь в .spkg dev часть и еще аналог devx - не понятно. В арче так и сделано. Но там никаких devx нет
« Последнее редактирование: 26 Март 2013, 15:30:42 от sfs »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:spkg
« Ответ #4 : 26 Март 2013, 15:30:02 »
еще раз напишу - исходники могут оказаться патченными и не факт что патч на пользу. гугль дает ссылку на пакет разработчика гораздо лучшее.

Смотреть ключи компиляции? - а вы много смотрите на ключи компиляции в пакетах созданных new2dir? я вот смотрю.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #5 : 26 Март 2013, 15:32:58 »
еще раз напишу - исходники могут оказаться патченными
Нет. исходник качается с сайта исходника девственно чистым. Патчи качаются отдельно. Применять их или нет решать сборщику
вы много смотрите на ключи компиляции в пакетах созданных new2dir? я вот смотрю.
Смотрю. И в 90 % там дефолт
« Последнее редактирование: 26 Март 2013, 15:34:34 от sfs »

Оффлайн Pro

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 10737
  • Репутация: +113/-2
Re:spkg
« Ответ #6 : 26 Март 2013, 15:39:13 »
неубедил.
Я загружаю новые пакеты сюда: http://file.puppyrus.org/users/ а дальше можно найти самостоятельно.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #7 : 27 Март 2013, 19:25:21 »
Против я тоже аргументов не услышал
Скачать исходники без поиска в инете - мне удобно. Ключами компиляции арча вдохновляться беспонтово. У него задачи другие. Ключами alphaos - актуально. Скомпилил мини gtk3 для AF
Если получится переделать spkg на .pfs - можно быстро весь дистр перекомпилить. Это может оказаться проще , чем разобрать наш devx

130327
Обновлены spkg spkg_gui. Добавлено деление на группы. Скачать - первая ссылка в шапке
http://murga-linux.com/puppy/viewtopic.php?t=84870&start=135

Оффлайн andy-voit

  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 1250
  • Репутация: +60/-0
  • Расту!!!
Re:spkg
« Ответ #8 : 28 Март 2013, 14:57:31 »
Я честно говоря не продвинутый линуксоид, поэтому не совсем понимаю значение пакетного менеджера. Но вот у меня остался с не таких уж давних времен пакетный менеджер gslapt от слако, компиленый еще Гердой. Не удалось скомпилировать тогда какой то Гуй к Sourcery кажется. Но в терминале работало. Было и описание на форуме что с этим делать и как настраивать, но к сожалению потерто все. Можно из этого еще что либо выжать, или уже бесполезная вещь?
XFCE forever!!!
Перешел на приставку 3vi. Теперь издеваюсь над ней! :)

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #9 : 28 Март 2013, 15:34:29 »
не совсем понимаю значение пакетного менеджера.
ПМ нужен для работы с репозиторием дистрибутива (а не чужим). Если дистрибутив построен не на репе под которую ПМ - единственное в чем может быть польза : скачать софтину из чужой репы со всеми зависимостями. После этого можно руками из этого лепить. Всё.
Если бездумно пропахать чужой репой по своему дистрибу - сломаешь зависимости.
Я скомпилил под 218 pacman. Работает. А что толку?.
Польза ПМ только при наличии репы именно под твой дистр

spkg в отличие от обычных ПМ - еще и builder. Т.е. инструмент компиляции репы под любой дистр. Причем совершенно "идеологически чистой " репы. В этом качестве его можно использовать "как есть"

Единственный недостаток - формат .spkg (bzip2) исключает модульное подключение. Можно только установить-удалить.
Если бы вопрос стоял pet->spkg. Я бы не задумывался
p(s)fs ->spkg = теряем функционал
Переделать - посмотрел - не самая простая задача
« Последнее редактирование: 28 Март 2013, 15:40:46 от sfs »

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1702
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re:spkg
« Ответ #10 : 29 Март 2013, 01:47:33 »
не совсем понимаю значение пакетного менеджера.
ПМ нужен для работы с репозиторием дистрибутива (а не чужим).

Абсолютно верно. И каждый дистр, претендующий именоваться дистром его имеет.

Если бездумно пропахать чужой репой по своему дистрибу - сломаешь зависимости.

Даже если бездумно своей репой... Давненько убунты обновляли?

spkg в отличие от обычных ПМ - еще и builder. Т.е. инструмент компиляции репы под любой дистр. Причем совершенно "идеологически чистой " репы. В этом качестве его можно использовать "как есть"

Хм... Не понимаю, woof тоже позволяет, но некошерно. А тут вааще не пришей.......

Если бы вопрос стоял pet->spkg. Я бы не задумывался
p(s)fs ->spkg = теряем функционал

Так и не понял преимуществ этих самых пфс.

Переделать - посмотрел - не самая простая задача

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

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #11 : 29 Март 2013, 10:03:44 »
Хм... Не понимаю, woof тоже позволяет, но некошерно. А тут вааще не пришей.......
spkg - несколько sh скриптов. Автоматизирует поиск и скачку исходников и компиляцию. Полноценный ПМ (зависимости скачка установка)
woof - система сборки. Знаком мало. Вы уверены что мы не пытаемся сравнивать "пылесос и холодильник" ?
Даже если сравнивать можно - согласитесь : spkg проще.
spkg --help и все понятно. woof --help есть?
Так и не понял преимуществ этих самых пфс.
1. Все свойства pet (устновить - удалить), но с > компрессией
2. Список файлов в пакете исключает "грязную сборку" (когда файл есть, но в списках живых не числится)
3. Монтирование без перепаковки
И опять-таки зависимости....
У самого скрипта зависимостей почти нет
Зависимости пакетов - что накомпилишь, то и будет
Использование чужой репы с любым ПМ - зло.
Построение маленького дистра на репе под это не заточенной (sfsl archpup) - похоже тупик. Как выкручиваются в presice slacko - мне не очень понятно. Поясните - интересно
Сейчас пытаюсь встроить свою репу в чужую (AF)
Вот к таким выводам по ПМ я пришел....

Оффлайн imp

  • cat /dev/ass > /dev/head
  • Ветеран
  • *****
  • Сообщений: 1702
  • Репутация: +49/-1
  • /dev/hands < /dev/ass
Re:spkg
« Ответ #12 : 29 Март 2013, 12:43:04 »
Нет, мне кажется, что сравниваем пылесосы разных производителей, с разными свистоперделками.
Spkg таки проще. Согласен. Пункт 3 про pfs не понял.
"ПМ - зло" - вот и я о том. А насчет зависимостей - это не об spkg, а как раз о ПМ.
Компьютер имеет то преимущество перед мозгом, что им пользуются.

Оффлайн sfs

  • Администратор
  • Ветеран
  • *****
  • Сообщений: 33953
  • Репутация: +231/-0
  • Автор темы
    • PuppyRus-A
Re:spkg
« Ответ #13 : 29 Март 2013, 13:01:24 »
Spkg таки проще. Согласен.
Ну хоть в чем-то мнения сошлись  :)
Пункт 3 про pfs не понял.
Готов в теме про Pfs ответить на все вопросы
"ПМ - зло" - вот и я о том.
Вообще ПМ - добро и разруливать зависимости его задача
Однозначное зло - чужая репа.
Хотя в puppy (где все включено) не каждому ПМ и нужен

Оффлайн АлисА

  • Век живи - век учись!!!
  • Активный участник
  • Ветеран
  • ****
  • Сообщений: 585
  • Репутация: +13/-0
  • Все, что нас не убивает, нас делает сильней...
Re:spkg
« Ответ #14 : 29 Март 2013, 16:04:16 »
Из всего выше сказанного, всё равно получается - инструмент разработчика. Новая версия дистрибутива, скорее всего, новый  репозитарий. Если с помощью этого инструмента можно относительно быстро обновить (создать) репозитарий - только зер гут! Один вопрос, кто будет этим заниматься? Надеюсь, это не подразумевает отказа от проверенной стабильной репы. Не будет абсолютного лего, типа вот вам база, остальное собери сам?
LupuRus Bit =>Ivanna XP=>Ivanna XP2 => Tahr-XFCE