Jak mogę założyć własne repozytorium

18

Jestem zapalonym programistą, ale tak naprawdę nigdy nie udało mi się założyć własnego PPA - jak ktoś by to zrobił? Często spotykane problemy? Jak mogę skompilować mój kod źródłowy w pakiety na PPA?

Marco Ceppi
źródło

Odpowiedzi:

15

Zarejestruj się na Launchpadzie, jak powiedział txwikinger, a następnie musisz wygenerować klucz GPG

gpg --gen-key

i prześlij go do serwera kluczy Ubuntu

gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYID

Zastępowanie $KEYIDliczbą po ukośniku w wierszu „sec”:

gpg -K --fingerprint

Kliknij zielony + obok części klucza GPG w profilu i podaj mu odcisk palca z wcześniejszego polecenia. Otrzymasz zaszyfrowany e-mail. Odszyfruj go (skonfiguruj klucz GPG w kliencie poczty, aby to ułatwić), a następnie kliknij łącze wewnątrz, aby potwierdzić, że jesteś właścicielem klucza.

Kliknij stronę launchpad.net, aby utworzyć nowy PPA

Postępuj zgodnie ze wskazówkami dotyczącymi pakowania, do których dołączono Source Lab, ale w przeciwieństwie do tego, co powiedział Txwikinger, nie załadujesz deb. To dlatego, że deb jest pakietem binarnym, a PPA pobierają pakiety źródłowe. Po uzyskaniu 4 niezbędnych plików (/ debian / rules / debian / changelog / debian / control i / debian / copyright) w katalogu źródłowym i oryginalnego pliku archiwum źródła poza nim, uruchom

debuild -S -sa

Zostanie wygenerowany pakiet źródłowy składający się z .debian.tar.gz (jeśli używasz formatu źródłowego 3.0) lub .diff.tar.gz wraz z .dsc i plikiem .changes. Pliki .dsc i .changes będą musiały zostać podpisane, dlatego musisz wprowadzić hasło GPG dwa razy. Jest -sato potrzebne tylko przy pierwszym przesłaniu tego pakietu do PPA. Późniejsze wersje można przeżyć.

Następnie uruchomisz:

dput ppa:youruser/ppa *.changes

Oczywiście, wpisując własną nazwę użytkownika, a jeśli wybrałeś niestandardową nazwę dla PPA, wstaw ją po ukośniku. Strona PPA na Launchpad powie ci dokładną składnię ppa:.

maco
źródło
W 1404 gpg --keyserver keyserver.ubuntu.com --publish-keys $KEYIDzakończy się z błędem: gpg: Invalid option "--publish-keys". Należy użyć --send-keyszamiast: gpg --keyserver keyserver.ubuntu.com --send-keys $KEYIDjak za askubuntu.com/questions/220063/... .
landroni
4

Istnieje kilka narzędzi, które pomogą ci załadować pliki źródłowe tarballi + pliki kontrolne debian do PPA na starterze. A to powie ci jak . Ale przesyłanie pakietu to bardzo niewielka część tego wszystkiego ...

Konfigurowanie środowiska kompilacji i infrastruktury pakietu debian (.deb) nie jest prostą sprawą! Wymaga dobrego zrozumienia struktury pakietu i działania różnych typów skryptów (w szczególności skryptów Make i Shell).

Odkryłem, że te dwa przewodniki są bardzo przydatne, kiedy pakuję .deb's
Przewodnik po pakowaniu Ubuntu Przewodnik po
nowych opiekunach Debiana

Przeczytaj uważnie całą instrukcję pakowania Ubuntu i powinieneś być na najlepszej drodze do zwycięstwa!

LassePoulsen
źródło
0

Zarejestrujesz konto w https://launchpad.net na swojej stronie głównej, możesz założyć własną ppa. PPA jest hostowany na starterze.

Kompilujesz źródła, tworząc .debpakiet i przesyłając go do ppa za pomocą dputpolecenia. Pakiet zostanie następnie automatycznie skompilowany przez farmę kompilacji startera i będzie dostępny na wielu platformach.

Więcej informacji na temat opakowań można znaleźć na wiki o opakowaniach .

txwikinger
źródło
Myślę, że to bardziej interesowało mnie. Wiem, że ppa używa Bazaru do kontroli źródła (tak myślę), więc po prostu pcham mój kod do PPA i BLAM! Pakiety, czy ja to upraszczam?
Marco Ceppi
1
Bazar i ppa to dwie różne rzeczy. Możesz użyć bazaru do rewizji kontroli całego pakietu (w tym dodatków .deb do zarządzania pakietami), ale bazar nie potrzebowałby go sam z siebie, ani też opakowania dla ciebie. Bazzar jest w zasadzie centralną gałęzią kontroli wersji BZR, która ma dodatkowe zarządzanie prawami użytkownika za pośrednictwem startera.
txwikinger
bzr jest jak git, ale łatwiej. To nie jest tak naprawdę związane z pakowaniem. Istnieją przepisy na codzienne kompilacje z bzr dostępne teraz dla testerów beta Lauchpad, ale nadal musisz stworzyć gałąź pakowania.
maco