Около года назад я объяснил, как создавать пакеты для Archlinux. Что ж, сегодня я собираюсь объяснить, как их создавать из пакетов. . Деб, используемые в Debian / Mint / Ubuntu / и т. Д..
Эта статья возникла после прочтения вопроса пользователя на форуме Jorgegc потому что я не мог установить пакет из AUR, в основном потому, что он устарел и использовал версию снято с производства PKGBUILD (к счастью, я ранее создавал пакеты таким образом), я также объясню, как создавать пакеты программ, которые нуждаются в 32-битные библиотекииз закрытый код o уже скомпилирован и что у него есть разные пакеты для загрузки.
Основа PKGBUILD такая же, только с небольшими изменениями.
Первым изменением будет использование предложения если Элиф по Баш
if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")
В этом примере была определена переменная, которая позже будет использоваться для изменения URL где пакет (в данном случае архитектура пакета для загрузки).
Кроме того, в зависимости от архитектуры Суммы MD5 поэтому мы заменим их на соответствующие.
Наконец, мы видим, что в примере мы изменили зависимости. В некоторых 64-битных программах необходимо устанавливать 32-битные версии некоторых библиотек, поэтому нам приходится их указывать. Если они не нужны, просто определите переменную обычным способом.
Теперь для пакетов .deb нам понадобятся только следующие строки внутри функции пакет ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Как видите, в этом случае нам нужно всего 3 строки для создания пакета. Если необходимо что-то еще (например, копирование файла, который не входит в пакет, или изменение его содержимого), вам просто нужно поместить его, как и любой другой пакет.
И вуаля, у нас есть пакет Multilib или созданный из пакета deb, готовый к использованию.
Надеюсь, вам понравилось и что я хорошо объяснил