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 i386w swoim controlpliku ź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, rulesktó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/copyrightPlik może być również użyteczny dla informowania użytkowników o pozwoleniach związanych z pakietem. Nie sądzę, że potrzebujesz postinstskryptu, ponieważ musisz tylko wyodrębnić niektóre pliki. compatpowinien zawierać poziom kompatybilności debhelpera, powiedz „8”. ( więcej szczegółów znajduje się na stronie podręcznika debhelpera )
changelogPlik można edytować z dchpoleceniem, dostępny z devscriptspakietem. 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 dhpolecenia 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 -bmoż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ć myplugini włożyć /usr/share/rhythmbox/plugins/mypluginfolder. Ponadto utwórz DEBIANkatalog (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/controlktó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>.debw tym przykładzie myplugin_1.0-1_all.deb. Możesz użyć lessprogramu, aby zajrzeć do pliku. Na przykład less myplugin_1.0-1_all.deb.