Зачем : мне многократно проще и удобнее компилить и пакетить в арче
Не просто
перепаковать, но и прописать зависимости - это была главная задача
Ковырять alien не смог. Он на perl. Я его не знаю
Нашел
https://www.linuxuprising.com/2021/05/new-project-to-convert-arch-linux.html - не совсем то
dpkg-shlibdeps что-то может в плане зависимостей, но как-то все в дебиане сложно. Не то что в арче
В итоге решил написать сам (bash, sed, awk)
Поиск зависимостей реализовал : ищу все бинарники и либы (find), определяю их зависимости - либы (ldd) , определяю по либам пакеты (dpkg -S - если пакет установлен, apt-file search - если не установлен). apt-file работает не быстро. А т.к. он вызывается многократно - скрипт на больших пакетах будет работать долго.
На конвертацию арч спецификации (.PKGINFO) в деб (control) припахал ИИ
Полного автомата нет. Conflicts, Provides - надо осмысленно дописать руками. Поэтому для новичков скрипт не рекомендую
Арч пакеты больше деб, т.к. содержат DEV составляющую и менее раздроблены. Этим не заморачивался. Т.е. правильно прописывайте Conflicts, Provides
Название пакета лучше менять. Например mpv -> mpv-light. Иначе при обновлении пакета в деб. репе ваш пакет будет обновлен. Ну или морозить: apt-mark hold
Использование:Запускать в дистрибутиве, под который хотите сделать пакет.deb
Перед использованием сделать : sudo apt update && sudo apt-file update
pkg2deb arch-package.pkg.xz - в этом случае control будет сделан из .PKGINFO
pkg2deb dir (т.е. просто папка с распакованным пакетом , модулем и т.п.)- в этом случае в control будет название и версия из названия dir. Остальные поля (кроме Depends:) пустые. Тут можно вдохновиться родными control из родной деб репы
Последняя строка в скрипте, которая создает сам .deb закомментирована, т.к. control желательно доработать, после чего уже собрать из папки пакет
Скрипт в аттаче. Тестировался мало. Буду дорабатывать
Пример использования