Poniżej zakładam, że źródło jest otwarte (np. Skrypty Pythona), które w związku z tym nie są powiązane z żadną architekturą (np. Amd64 lub i386), stąd „wszystko”. Jeśli masz jakieś źródło C, musisz użyć Architecture: amd64 i386
w swoim control
pliku źródłowym .
tworzenie pakietu gotowego na Launchpad
To ostatecznie stanie się serią indywidualnych pakietów PPA startera.
To, co wolę (ale może nie być w stanie osiągnąć ...), to ograniczenie mojego opakowania do minimum - stwórz serię pakietów na podstawie szablonu i dostosuj absolutne minimum (dziennik zmian + plik tar).
Launchpad akceptuje tylko pakiety źródłowe, więc utwórz plik, rules
który instaluje pliki we właściwych miejscach. Dla wygody skorzystam z debhelpera . Katalog z twoimi plikami powinien wyglądać następująco:
debian/changelog
debian/control
debian/rules
debian/compat
mypluginfolder/...
debian/copyright
Plik może być również użyteczny dla informowania użytkowników o pozwoleniach związanych z pakietem. Nie sądzę, że potrzebujesz postinst
skryptu, ponieważ musisz tylko wyodrębnić niektóre pliki. compat
powinien zawierać poziom kompatybilności debhelpera, powiedz „8”. ( więcej szczegółów znajduje się na stronie podręcznika debhelpera )
changelog
Plik można edytować z dch
poleceniem, dostępny z devscripts
pakietem. rules
( Za pomocą debhelpera) powinien zawierać:
#!/usr/bin/make -f
%:
dh $@
override_dh_install:
dh_install mypluginfolder/ /usr/share/rhythmbox/plugins
Zrób to za pomocą chmod 755 debian/rules
. Pakiet źródłowy można zbudować za pomocą debuild -S
. Pamiętaj, aby znajdować się w katalogu o nazwie <package-name>-<version>
. Więcej informacji na temat override_
zachowania i dh
polecenia można znaleźć na stronie podręcznika .
Przewodnik dla nowych opiekunów pakietów Debiana był dla mnie bardzo cenny, aby to zrozumieć, zaleca się przeczytanie. Przykładowe opakowanie można znaleźć na https://github.com/Bumblebee-Project/bumblebee-ppa .
tworzenie pakietu z istniejącego drzewa plików
dpkg-deb -b
może być użyty do tworzenia tarballi z istniejącego drzewa plików. Najpierw zacznij od utworzenia katalogu, który powinien nosić nazwę od twojego pakietu. Zakładam, że chcesz to nazwać myplugin
i włożyć /usr/share/rhythmbox/plugins/mypluginfolder
. Ponadto utwórz DEBIAN
katalog (wielkie litery!) Do przechowywania informacji o pakiecie:
mkdir -p myplugin/usr/share/rhythmbox/plugins/mypluginfolder
mkdir myplugin/DEBIAN
Skopiuj swoje pliki:
cp -r ~/mypluginsfolder myplugin/usr/share/rhythmbox/plugins
Następnie potrzebujesz tak zwanego pliku kontrolnego , w myplugin/DEBIAN/control
którym znajduje się opis pakietu. Zawartość takiego pliku znajduje się poniżej:
Package: myplugin
Version: 1.0-1
Maintainer: You <whatever@contact.address>
Architecture: all
Description: plugins for Rhythmbox
Longer description here
.
As you can see, new paragraph are split by a single dot,
and lines have to be indented by one space.
Teraz możesz opcjonalnie zweryfikować zawartość paczki. Następne polecenie wyświetla listę wpisów w pliku i katalogu myplugin
:
find myplugin -ls
Jeśli jesteś zadowolony, skompiluj pakiet w bieżącym katalogu:
dpkg-deb -b myplugin .
Pojawi się nowy plik o nazwie jak <package>_<version>_<architecture>.deb
w tym przykładzie myplugin_1.0-1_all.deb
. Możesz użyć less
programu, aby zajrzeć do pliku. Na przykład less myplugin_1.0-1_all.deb
.