Archlinux: Създайте пакети за различни платформи и от .deb пакети

Преди около година обясних как създаване на пакети за Archlinux. Е, днес ще обясня как да ги създавам от пакети дебютантка, използваните в Debian / Mint / Ubuntu / и др.
Тази статия възникна след четене на въпрос от потребителя във форума jorgegc защото не можах да инсталирам пакет от AUR, главно защото е остарял и използва версия прекратено на PKGBUILD (за щастие вече съм правил пакети по този начин), ще обясня и как да правя пакети от програми, които се нуждаят 32-битови библиотекиНа затворен код o вече съставен и че има различни пакети за изтегляне.

Основата за PKGBUILD е същата, само с няколко промени.
Първата промяна ще бъде използването на изречение ако elif от Баш


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 суми така че ще ги променим на съответните.

Когато използвате makepkg -g за генериране на MD5суми Това ще генерира само тази, съответстваща на архитектурата, която използвате. За да знаете MD5 сумата на другия пакет, изтеглете го и използвайте командата md5sum file.deb да знаеш твоята

Накрая виждаме, че в примера променяме зависимостите. В някои 64-битови програми е необходимо да се инсталира 32-битови версии на някои библиотеки затова трябва да ги посочим. Ако не са необходими, просто дефинирайте променливата по обичайния начин.

Сега за .deb пакетите ще ни трябват само следните редове във функцията пакет ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

Както можете да видите, в този случай са ни необходими само 3 реда, за да генерираме пакета. Ако е необходимо нещо друго (например, копирайте файл, който не се доставя с пакета, или модифицирайте съдържанието на такъв), просто трябва да го поставите както при всеки друг пакет.

Същото може да се приложи (с някои промени), ако вместо .deb ще използваме пакети оборота в минута или други видове опаковки. Функцията изграждане () не е необходимо, така че не е нужно да го добавяме.

И voila, вече имаме multilib пакет или създаден от deb пакет, готов за използване.
Надявам се да ви хареса и че ми е обяснил добре 😀


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.

  1.   улис каза той

    Не е ли по-лесно да използвате checkinstall?

  2.   Лучано Лагаса каза той

    Здравей Имам някои bash скриптове. Един за генериране на основните папки и файлове за deb пакет. И последният, който генерира пакета от всички файлове и папки. Ако се интересувате, мога да го споделя.

    1.    jorgecg каза той

      Разбира се, интересува ... поне за мен.

      Сега, когато съм с Манджаро, оценявам цялата възможна информация.

  3.   jorgecg каза той

    Колко си страхотен, партньор.

    Щях да ви кажа във форума, че ако можете да ми обясните как да компилирам .deb пакети и не съм ви казал нищо, за да не злоупотребя с вашата щедрост .... и отивам на страницата и виждам, че сте качили статия, обясняваща целия процес.

    Това показва, че сте щедър човек.

    Казах, че си пукнатина.

    поздравления

  4.   Анибал каза той

    Страхотен приятел, след като опитах софт, който не помня името, преобразувано от .deb в .rpm, но не ми се отрази добре.

    Може ли някой с арх тест, ако този софтуер се предаде добре на rpm и инсталацията се отвори добре?

    http://www.justcloud.com/download/linux-64

    Това е за архивиране в облака, вече платих за известно време и имам повече от 40gb в облака =)

  5.   Inspiron каза той

    Страхотен! Винаги съм си казвал, че един ден искам да направя пакет, дори и да е, за да знам как да го направя :).

    В тези типове публикации бих се радвал на възможността да добавя записи като този в „любими“ в моя акаунт.

    1.    хинолоко каза той

      Напълно съгласен, засадих го, но нищо 🙂
      Също така би било добре да можете да следвате определени потребители

  6.   РабБа каза той

    Много добър старец, използвам манджаро от няколко дни и за проучвания трябва да инсталирам пакет за проследяване от Cisco, но той има само .deb пакет от най-новата версия и ke е в AUR, винаги ми дава грешка при компилиране, надявам се с тези стъпки да мога да го инсталирам тъй като насила използвам linux mint, благодаря ви много

  7.   митко каза той

    за да видим дали някой се осмелява да сложи AUR Multisystem

    зависи от deb библиотеките, които не са в arch

    Но ако работи, функцията му е да създава множество ISO pendrives с grub2 по-добре от unetbootin, който прави само едно.

    В момента имам ubuntu ISO от него, който ми позволява да добавя изображения, ако искам да стартирам от него на самия USB

    но ако никой не смее да спаси билета ми

  8.   митко каза той

    За съжаление вече има мултисистема и мисля, че не

    1.    митко каза той

      В мултисистемата ...

      но fatresize, тъй като yaourt създава проблеми и те го определят като незадължителен

  9.   Маркос каза той

    Чудесно 😀 да одобрите с „Purrr“ програма за преименуване на файлове в насипно състояние.

  10.   Apr4xas каза той

    С уважение,

    В момента в AUR елиминират пакетите, които нямат функцията package (), как мога да знам какви редове да сложа там? Тоест имам няколко пакета и го направих по този начин, но не знам дали е добре https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD това, което наистина направих, е да предам какво е в build () на package (), но както казах, не знам дали е добре ... Можете ли да ми дадете вашите коментари и предложения?

    Благодаря 😀

  11.   Азазел каза той

    Благодаря за информацията, ще я маркирам за бъдещи справки.

  12.   клерафел каза той

    Може ли някой да ми обясни какво е, аз съм нов и не знам дали това ми помага да инсталирам .deb пакет, но локално в manjaro, игра, за да бъдем точни. Да, работи ли?

    Търся и те ми казват да инсталирам пакета deb2targz, но получавам грешка при инсталирането му от терминала и не знам дали може да бъде

    1.    Герман каза той

      Същото се случва и на мен; Трябва да инсталирам Kademar, който е базиран на Arch; няколко пакета, които получавам само в .deb
      Може ли някой да ми помогне?

      1.    Валдо каза той

        Ако това, което имате предвид, е неуспех в инсталацията на deb2targz, току-що приключих с инсталирането с командата yaourt -S deb2targz. Разбира се, в ArchLinux.

  13.   Безплатно съхранение в облак каза той

    Много информативен пост. Благодаря за споделянето.

  14.   Ядосани птици каза той

    Добър пост. Благодарим ви, че споделихте тази полезна информация.

  15.   Приложения за компютър каза той

    Благодаря за тази полезна публикация. Ще помогне много.

  16.   Джейкъб каза той

    здравей, можеш ли да оставиш скрипта за преобразуване и как да го използваш? така че на части обърква малко, вече имам деб, който искам да конвертирам и знам, че е възможно, защото google chrome на AUR е деб, но не знам как да направя "MAKEPKG SI" с друг деб 🙁