Około rok temu wyjaśniłem, jak to zrobić tworzyć pakiety dla Archlinux. Cóż, dzisiaj wyjaśnię, jak je utworzyć z pakietów deb, te używane w Debian / Mint / Ubuntu / etc.
Ten artykuł powstał po przeczytaniu pytania od użytkownika na forum jorgegc ponieważ nie mogłem zainstalować pakietu z AUR, głównie dlatego, że jest nieaktualny i używał wersji przerwane PKGBUILD (na szczęście wcześniej robiłem pakiety w ten sposób), wyjaśnię również, jak tworzyć pakiety programów, które wymagają Biblioteki 32-bitowez zamknięty kod o już skompilowane i że ma różne pakiety do pobrania.
Podstawa PKGBUILD jest taka sama, z kilkoma zmianami.
Pierwszą zmianą będzie użycie zdania jeśli elif przez Bash
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")
W tym przykładzie została zdefiniowana zmienna, która będzie później używana do zmiany URL gdzie jest pakiet (w tym przypadku architektura pakietu do pobrania).
Ponadto w zależności od architektury Sumy MD5 więc zmienimy je na odpowiednie.
Wreszcie widzimy, że w przykładzie zmieniamy zależności. W niektórych programach 64-bitowych konieczna jest instalacja 32-bitowe wersje niektórych bibliotek więc musimy je wskazać. Jeśli nie są potrzebne, wystarczy zdefiniować zmienną w zwykły sposób.
Teraz dla pakietów .deb będziemy potrzebować tylko następujących wierszy wewnątrz funkcji pakiet ():
cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}
Jak widać, w tym przypadku potrzebujemy tylko 3 wierszy, aby wygenerować pakiet. Jeśli konieczne jest coś innego (na przykład skopiowanie pliku, który nie jest dołączony do pakietu lub modyfikacja zawartości jednego z nich), wystarczy umieścić go tak, jak w przypadku każdego innego pakietu.
I voila, mamy już pakiet multilib lub utworzony z pakietu deb gotowego do użycia.
Mam nadzieję, że Ci się spodoba i że dobrze mi to wyjaśniło 😀
Czy nie jest łatwiej używać checkinstall?
Checkinstall służy do łatwiejszego tworzenia pakietów deb, rpm lub Slackware.
Dobry. Zobaczmy, czy znajdę trochę czasu, aby dodać Iceweasel do repozytorium slacky.eu.
Co jest nie tak z Firefoksem? : p
którego nie ma w Debianie: str
Nie do końca to miałem na myśli xD
Ponieważ Firefox nie ma oficjalnej wersji dla Debiana, a jeśli korzystam z repozytoriów Ubuntu lub Mint, ich opublikowanie zajmuje tyle samo czasu co Iceweasel; Ponadto stale pytają, czy chcesz przesłać swoje dane, czy nie (naprawdę trywialna funkcja dla przeglądarki, która chroni prywatność).
Nie jestem przeciwny Firefoksowi, a prawda jest taka, że prawie nie używam Firefox ESR w Slackware i Firefox Release w Windows (Iceweasel używam go tylko w Debianie, ale ponieważ Arch daje mi wspaniałą zaletę instalacji go, będę Zainstaluj to). Kwestia gustu, nic więcej.
Cześć. Mam kilka skryptów basha. Jeden do generowania podstawowych folderów i plików dla pakietu deb. I ostatni, który generuje pakiet ze wszystkich plików i folderów. Jeśli jesteś zainteresowany, mogę to udostępnić.
Pewnie, że możesz, przy płatności XD
Oczywiście, że to interesuje ... przynajmniej mnie.
Teraz, gdy jestem z Manjaro, doceniam wszystkie możliwe informacje.
Jaki jesteś wspaniały, partnerze.
Chciałem ci powiedzieć na forum, że gdybyś mógł mi wytłumaczyć, jak skompilować pakiety .deb, a nie powiedziałem ci nic, aby nie nadużywać twojej hojności…. i przechodzę na stronę i widzę, że wgrałeś artykuł wyjaśniający cały proces.
To pokazuje, że jesteś hojną osobą.
Powiedziałem, że jesteś crack.
pozdrowienia
Dziękuję i jeszcze raz dziękuję za pytanie, podając mi pomysł ^^
To świetny przyjaciel, raz wypróbowałem soft, którego nazwy nie pamiętam, która zmieniła się z .deb na .rpm, ale nie działała dobrze dla mnie.
Mógłby ktoś z testem łuku, czy ten soft jest dobrze przekazany do rpm i instalacja dobrze się otwiera?
http://www.justcloud.com/download/linux-64
To kopia zapasowa w chmurze, już od jakiegoś czasu zapłaciłem i mam ponad 40 GB w chmurze =)
Musieliby tego spróbować ludzie, którzy używają Fedory, Red Hata lub innych pochodnych.
Z opisu, który podasz, przypuszczam, że masz na myśli kosmitę (i nie ma to nic wspólnego z pewnym Xenoformem)
Świetny! Zawsze powtarzałem sobie, że pewnego dnia chciałem zrobić paczkę, choćby po to, żeby wiedzieć, jak to zrobić :).
W tego typu postach byłbym wdzięczny za to, że blog zaimplementował opcję dodawania takich wpisów w "ulubionych" na moim koncie
Całkowicie się zgadzam, zasadziłem to, ale nic
Dobrze byłoby też móc śledzić niektórych użytkowników
Świetny staruszku, używam manjaro od kilku dni i do badań muszę zainstalować pakiet śledzenia pakietów z cisco, ale ma on tylko pakiet .deb najnowszej wersji, a ke jest w AUR zawsze daje mi błąd podczas kompilacji , Mam nadzieję, że dzięki tym krokom uda mi się go zainstalować, ponieważ siłą używam linux mint, dziękuję bardzo
aby sprawdzić, czy ktoś odważy się wprowadzić AUR Multisystem
zależy od bibliotek deb, które nie są w archiwum
Ale jeśli to działa, jego funkcją jest tworzenie wielu pendrive'ów ISO z grub2 lepiej niż unetbootin, który robi tylko jeden.
W tej chwili mam ubuntu ISO w jego wnętrzu, które pozwala mi dodawać obrazy, jeśli chcę uruchomić z niego na samym USB
ale jeśli nikt nie odważy się zachować mojego biletu
Przepraszam, jest już multisystem i myślę, że nie
W multisystemie ...
ale fatresize, ponieważ twój stwarza problemy, a oni uznają to za opcjonalne
Świetnie 😀 zatwierdzić za pomocą "Purrr" program do masowej zmiany nazw plików.
Pozdrawiam,
Obecnie w AUR eliminują pakiety, które nie mają funkcji package (), skąd mam wiedzieć, jakie linie tam umieścić? To znaczy, mam kilka paczek i zrobiłem to w ten sposób, ale nie wiem, czy jest w porządku https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD to, co naprawdę zrobiłem, to przekazanie tego, co było w build () do package (), ale jak powiedziałem, nie wiem, czy wszystko jest w porządku ... Czy możesz przekazać mi swoje komentarze i sugestie?
Dzięki 😀
Wewnątrz build () przejdzie do części kompilacyjnej programu, aw package () do części, która generuje pakiet.
Aby umieścić krótki przykład w build (), to: ./configure, ./autogen.sh, cmake, make iw package () make install, itd.
Hej, dziękuję bardzo… Zamierzam edytować moje pakiety 😀
Dziękuję za informację, którą dodam do zakładek do wykorzystania w przyszłości.
Ktoś może mi wyjaśnić, co to jest, jestem nowy i nie wiem, czy to pomoże mi zainstalować pakiet .deb, ale lokalnie w manjaro, a dokładniej grze. Tak to działa?
Szukam i każą mi zainstalować pakiet deb2targz ale wyskakuje mi błąd przy instalacji go z terminala i nie wiem czy da się
To samo dzieje się ze mną; Muszę zainstalować program Kademar oparty na Arch; kilka pakietów, które dostaję tylko w .deb
Czy ktoś może mi pomóc?
Jeśli masz na myśli awarię w instalacji deb2targz, właśnie skończyłem ją instalować poleceniem yaourt -S deb2targz. Oczywiście w ArchLinux.
Bardzo pouczający post. Dzięki za udostępnienie.
Dobry post. Dziękujemy za podzielenie się tą przydatną informacją.
Dzięki za ten pomocny post. To bardzo pomoże.
cześć, czy możesz zostawić skrypt do konwersji i jak go używać? jest to ze tak w czesciach to troche mylace, mam juz deb ktory chce przekonwertowac i wiem ze jest to mozliwe bo Google chrome z AUR to deb ale nie wiem jak zrobic "MAKEPKG SI" z inny deb 🙁