Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Miejsce, w którym użytkownicy forum mogą zaprezentować swoje własne projekty programistyczne.
prymula
Sędziwy Jeż
Sędziwy Jeż
Posty: 42
Rejestracja: 06 sty 2023, 20:41
Wersja Ubuntu: inny OS
Architektura: ARM
Kontakt:

Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: prymula »

Dzień dobry w tą ciężko-pogodową sobotę

Niech mnie ktoś nakieruje, bo w przeciwnym wypadku zwariuję ! Od jakiegoś czasu, nie jestem w stanie zbudować pakietów ‘deb’ dla testowego Debiana ani dla Ubuntu 26.04. Dzisiaj znowu się z tym próbuję. Korzystam z ‘automatu’ na Open Suse Build Service. Pisałem już w tej sprawie na angielsko języcznym dziale forum OpenSuse. Forumowicze próbowali jak najbardziej pomóc i pomogli. Jednak pojawiły się inne problemy. Wynikające ze sposobu interpretacji przez narzędzia debiana, plików w katalogu ‘debian’. Zasadniczo mam problem z prawidłowym formatowaniem w pliku ‘changelog’. Tak, OBS zwraca błędy, ale co bym nie zrobił to i tak jest źle !

Kod: Zaznacz cały


40s] -----------------------------------------------------------------
[   40s] ----- building whatchord_1.261003-0.dsc (user abuild)
[   40s] -----------------------------------------------------------------
[   40s] -----------------------------------------------------------------
[   41s] dpkg-buildpackage: warning:     debian/changelog(l3): badly formatted heading line
[   41s] LINE: * Last release
[   41s] dpkg-buildpackage: warning:     debian/changelog(l5): badly formatted heading line
[   41s] LINE: -- Przemyslaw Pietraszczyk  <XXXXX@prymula.ct8.pl>  Sat, 03 Oct 2026 12:58:00 +0200
[   41s] dpkg-buildpackage: warning:     debian/changelog(l7): found start of entry where expected start of change data
[   41s] LINE: whatchord (1.261002-1) unstable; urgency=low
[   41s] dpkg-buildpackage: warning:     debian/changelog(l7): found end of file where expected start of change data
[   41s] dpkg-buildpackage: error: cannot parse maintainer email address "" from changelog entry
[   41s] dpkg-buildpackage: info: source package whatchord
[   41s] dpkg-buildpackage: info: source version 1.261003-0
[   41s] dpkg-buildpackage: info: source distribution unstable
[   41s] dpkg-buildpackage: info: source changed by 
[   41s] ### VM INTERACTION START ###
[   41s] [   33.706735][    T1] sysrq: Power Off
[   41s] [   33.707999][  T403] reboot: Power down
[   41s] ### VM INTERACTION END ###
[   41s] 
[   41s] i03-ch2d failed "build whatchord_1.261003-0.dsc" at Sat Oct  3 12:00:14 UTC 2026.
Mój plik changelog:

Kod: Zaznacz cały

whatchord (1.261003-0) unstable; urgency=low

* Last release

-- Przemyslaw Pietraszczyk  <XXXXX@prymula.ct8.pl>  Sat, 03 Oct 2026 12:58:00 +0200

whatchord (1.261002-1) unstable; urgency=low

* Last release

-- Przemyslaw Pietraszczyk  <XXXXXX@prymula.ct8.pl>  Fri, 02 Oct 2026 18:11:00 +0200
Nazwe konta w adresie email celowo zaiksowalem, aby wyszukiwarki jej nie wyświetlały.

Pakiety
https://software.opensuse.org/download ... whatchord

Źródła

https://gitlab.com/pietraszczyk/whatchord
https://prymula.ct8.pl
Awatar użytkownika
kobrawerde
Gibki Gibbon
Gibki Gibbon
Posty: 2333
Rejestracja: 10 wrz 2006, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 24.04
Środowisko graficzne: Cinnamon
Architektura: x86_64
Kontakt:

Re: Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: kobrawerde »

Powiem Ci że też nie jestem jakimś znawcą / programistą i też miałem problemy przy tworzeniu pakietu .deb ... ale Gemini bardzo szybko wszystko wyjaśniło i nawet jest programik którym sprawdzasz czy utworzony pakiet .deb jest zgodny z regułami np. debiana :-) ...chodzi o : lintian
Lintian to darmowe narzędzie do statycznej analizy i kontroli jakości pakietów instalacyjnych Debiana (plików .deb, .dsc czy .changes), działające w systemach operacyjnych Linux
Służy przede wszystkim do sprawdzania, czy przygotowana paczka z oprogramowaniem jest zgodna z oficjalnymi wytycznymi dystrybucji (Debian Policy) oraz czy nie zawiera typowych błędów, literówek czy luk bezpieczeństwa
Mialem także problem np. z plikiem control : w którym informujemy o wersji programu / dodatkowych pakietach / twórcach itd ..wystarczyło tam wstawić kropkę nie tam gdzie trzeba i lipa :-) ...szkoda się samemu męczyć i szukać jak możesz spytać osobistego programistę np : Gemini :-)
Ostatnio zmieniony 03 paź 2026, 17:36 przez kobrawerde, łącznie zmieniany 1 raz.
Serwer: LinuxMint/Ubuntu 22.04/HWE kernel/Vsftpd/Kodi/Jellyfin/iptv-dvbt2/etc.
CPU: Intel N100 / RAM: 32GB DDR5
Storage: Lexar NM620 2TB M.2 - (x2)
Mobo: MiniPC (Topton X6C )
Laptop: Lenovo Legion 5 Pro 16ITH6H /Ram32GB/ssd500GB/ssd1TB
prymula
Sędziwy Jeż
Sędziwy Jeż
Posty: 42
Rejestracja: 06 sty 2023, 20:41
Wersja Ubuntu: inny OS
Architektura: ARM
Kontakt:

Re: Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: prymula »

Prawidłowo sformułowane/sformatowane pliki w katalogu 'debian'. Muszą mieć odpowiednią ilość spacji w odpowiednich miejscach. Wydaje mi się że udało mi się to ogarnąć, jednak 'dpkg-buildpackage' zwraca teraz taki komunikat:

Kod: Zaznacz cały

37s] -----------------------------------------------------------------
[   37s] ----- building whatchord_1.261003-1.dsc (user abuild)
[   37s] -----------------------------------------------------------------
[   37s] -----------------------------------------------------------------
[   37s] dpkg-buildpackage: info: source package whatchord
[   37s] dpkg-buildpackage: info: source version 1.261003-1
[   37s] dpkg-buildpackage: info: source distribution unstable
[   37s] dpkg-buildpackage: info: source changed by Przemyslaw Pietraszczyk <XXXXX@prymula.ct8.pl>
[   37s]  dpkg-source --before-build .
[   37s] dpkg-buildpackage: info: host architecture amd64
[   37s] dpkg-source: error: cannot parse Maintainer field value "Przemyslaw Pietraszczyk"
[   37s] dpkg-buildpackage: error: dpkg-source --before-build . subprocess failed with exit status 25
[   37s] ### VM INTERACTION START ###
[   37s] [   30.694836][    T1] sysrq: Power Off
[   37s] [   30.695746][ T9280] reboot: Power down
[   37s] ### VM INTERACTION END ###
[   37s] 
[   37s] h02-ch2c failed "build whatchord_1.261003-1.dsc" at Sat Oct  3 15:27:14 UTC 2026.
Celowo nie używam polskich ogonków - ponieważ już nie wolno ich stosować...
Odnoszę wrażenie że komuś, nie podobają się moje personalia.
https://prymula.ct8.pl
prymula
Sędziwy Jeż
Sędziwy Jeż
Posty: 42
Rejestracja: 06 sty 2023, 20:41
Wersja Ubuntu: inny OS
Architektura: ARM
Kontakt:

Re: Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: prymula »

Lintian to darmowe narzędzie do statycznej analizy i kontroli jakości pakietów instalacyjnych Debiana (plików .deb, .dsc czy .changes), działające w systemach operacyjnych Linux
Służy przede wszystkim do sprawdzania, czy przygotowana paczka z oprogramowaniem jest zgodna z oficjalnymi wytycznymi dystrybucji (Debian Policy) oraz czy nie zawiera typowych błędów, literówek czy luk bezpieczeństwa
Tak ! @kobrawerde, masz rację! Dziękuję za odświeżenie pamięci !

PS. Znam Gemini, znam :)
Ostatnio zmieniony 03 paź 2026, 17:41 przez prymula, łącznie zmieniany 1 raz.
https://prymula.ct8.pl
Awatar użytkownika
kobrawerde
Gibki Gibbon
Gibki Gibbon
Posty: 2333
Rejestracja: 10 wrz 2006, 16:00
Płeć: Mężczyzna
Wersja Ubuntu: 24.04
Środowisko graficzne: Cinnamon
Architektura: x86_64
Kontakt:

Re: Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: kobrawerde »

OK spytałem programisty jw :-)
Jak to naprawić

Otwórz plik debian/control.

Zlokalizuj w pierwszej sekcji (sekcji pakietu źródłowego) linię zaczynającą się od Maintainer:.

Zmień:

Kod: Zaznacz cały

  Plaintext

    Maintainer: Przemyslaw Pietraszczyk
na pełną formę z adresem e-mail:

Kod: Zaznacz cały

 Plaintext

    Maintainer: Przemyslaw Pietraszczyk <XXXXX@prymula.ct8.pl>
Zapisz plik i ponownie uruchom budowanie pakietu.

Jak sprawdzić poprawność:

Kolejna próba budowania powinna przejść krok dpkg-source --before-build . bez błędu parsowania i przejść bezpośrednio do kolejnych etapów (np. debian/rules build).

Błąd wynika z niepoprawnego formatu pola Maintainer w pliku debian/control:
Plaintext

dpkg-source: error: cannot parse Maintainer field value "Przemyslaw Pietraszczyk"

Standard Debiana wymaga, aby pole Maintainer zawierało zarówno imię i nazwisko (lub pseudonim), jak i adres e-mail ujęty w nawiasy ostrokątne (< >):
Chcesz więcej :-) ...czytaj :
lintian potrafi sprawdzać nie tylko gotowe paczki .deb, ale również katalog źródłowy jeszcze przed zbudowaniem pakietu. Oprócz niego istnieje dedykowane narzędzie do walidacji samej składni plików sterujących.

Oto metody weryfikacji przed i po zbudowaniu:
Metoda 1: Uruchomienie lintian bezpośrednio na źródłach (przed budową)

lintian analizuje katalog debian/ bezpośrednio w drzewie źródeł, zgłaszając błędy w debian/control, debian/changelog czy debian/copyright.

Przejdź do głównego katalogu projektu (tam, gdzie znajduje się katalog debian):
Bash

cd /sciezka/do/whatchord-1.261003

Uruchom lintian:
Bash

lintian

Wskazówka: Jeśli chcesz zobaczyć pełne objaśnienia kodów błędów i ostrzeżeń, dodaj flagi:
Bash

lintian -i -I

Weryfikacja: Narzędzie wypisze linie oznaczone tagami E: (błędy/Errors) oraz W: (ostrzeżenia/Warnings). Jeśli wszystko jest w porządku, polecenie zakończy się z kodem wyjścia 0 i brakiem wpisów E:.
Metoda 2: Szybka walidacja składni za pomocą dpkg-source

Możesz przetestować sam parser Debiana bez uruchamiania pełnego procesu kompilacji:
Bash

dpkg-source --before-build .

Weryfikacja: Jeśli polecenie wykona się po cichu (bez żadnych komunikatów na konsoli) i polecenie echo $? zwróci 0, oznacza to, że pliki debian/control oraz debian/changelog są w pełni parsowalne dla narzędzi Debiana.
Metoda 3: lintian na gotowych plikach (po udanej budowie)

Po poprawnym zbudowaniu paczki pliki wynikowe trafiają zazwyczaj do katalogu nadrzędnego (../). Wtedy możesz sprawdzić pełną paczkę:
Bash

lintian ../whatchord_1.261003-1_*.changes

(Wskazanie pliku .changes automatycznie sprawdzi plik .dsc, archiwum źródeł oraz wszystkie wygenerowane pliki .deb).
Na co zwrócić uwagę w debian/control?

Główne pułapki formatowania w pliku control:

Wcięcia w długim opisie (Description:): Każda linia długiego opisu (pod pierwszą, zwięzłą linią) musi zaczynać się od dokładnie jednej spacji. Pusta linia w opisie musi składać się ze spacji i kropki ( .).

Puste linie: Sekcje (pierwsza to Source:, kolejne to Package:) muszą być rozdzielone dokładnie jedną pustą linią. Niedozwolone są puste linie wewnątrz pojedynczej sekcji.

Przecinki przy zależnościach: Pozycje w Build-Depends: oraz Depends: muszą być oddzielone przecinkami (np. debhelper-compat (= 13), python3).
Ostatnio zmieniony 03 paź 2026, 17:51 przez kobrawerde, łącznie zmieniany 1 raz.
Serwer: LinuxMint/Ubuntu 22.04/HWE kernel/Vsftpd/Kodi/Jellyfin/iptv-dvbt2/etc.
CPU: Intel N100 / RAM: 32GB DDR5
Storage: Lexar NM620 2TB M.2 - (x2)
Mobo: MiniPC (Topton X6C )
Laptop: Lenovo Legion 5 Pro 16ITH6H /Ram32GB/ssd500GB/ssd1TB
prymula
Sędziwy Jeż
Sędziwy Jeż
Posty: 42
Rejestracja: 06 sty 2023, 20:41
Wersja Ubuntu: inny OS
Architektura: ARM
Kontakt:

Re: Jak sformułować poprawnie plik 'debian/changelog' dla Ubuntu 26.04 ?

Post autor: prymula »

Naprawdę dziękuję! Z mojego punktu widzenia to było naprawdę trudne. Tym bardziej że dla wcześniejszych wydań Debiana i Ubuntu. Nie było żadnych problemów z budowaniem pakietów na postawie, mojej pierwotnej konfiguracji. Teraz cały proces kończy się utworzeniem pakietu:

Kod: Zaznacz cały

 43s] h02-ch2c finished "build whatchord_1.261003-1.dsc" at Sat Oct  3 15:47:04 UTC 2026.
[   43s] 
[   43s] ### VM INTERACTION START ###
[   44s] [   37.459376][    T1] sysrq: Power Off
[   44s] [   37.460231][    T9] reboot: Power down
[   44s] ### VM INTERACTION END ###
[   44s] build: extracting built packages...
[   44s] DEBS/whatchord_1.261003-1_amd64.deb
[   44s] DEBS/whatchord_1.261003-1.diff.gz
[   44s] DEBS/whatchord-dbgsym_1.261003-1_amd64.ddeb
[   44s] DEBS/whatchord_1.261003-1.dsc
[   44s] DEBS/whatchord_1.261003.orig.tar.gz
[   44s] DEBS/whatchord_1.261003-1_amd64.buildinfo
[   44s] DEBS/whatchord_1.261003-1_amd64.changes
[   44s] OTHER/_statistics
https://prymula.ct8.pl
ODPOWIEDZ

Wróć do „Nasza twórczość”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości