table of contents
dpkg-parsechangelog(1) | dpkg suite | dpkg-parsechangelog(1) |
NAAM¶
dpkg-parsechangelog - ontleed Debian changelog-bestanden
OVERZICHT¶
dpkg-parsechangelog [optie...]
BESCHRIJVING¶
dpkg-parsechangelog leest en ontleedt het bestand changelog van een uitgepakte Debian broncodeboom en geeft de informatie eruit in een door een machine te lezen vorm weer op de standaarduitvoer.
OPTIES¶
- -l, --file changelog-bestand
- Geeft het changelog-bestand op waaruit gelezen moet worden. Een ‘-’ kan gebruikt worden om aan te geven dat van de standaardinvoer gelezen moet worden. De standaard is debian/changelog.
- -F changelog-indeling
- Geeft de indeling van het changelog-bestand aan. Standaard wordt die indeling gelezen van een bijzondere regel onderaan het changelog-bestand, anders wordt er teruggevallen op de standaardindeling van debian. Zie ook CHANGELOG-INDELINGEN.
- -L bibliotheekmap
- Een uitgefaseerde optie zonder effect (sinds dpkg 1.18.8). Het instellen van de perl omgevingsvariabelen PERL5LIB of PERLLIB heeft een gelijkaardig effect bij het zoeken naar de perl-modules van de ontleder (parser).
- -S, --show-field veld
- Geeft de naam op van het te tonen veld (sinds dpkg 1.17.0). De naam van het veld wordt niet weergegeven, enkel de inhoud ervan.
- -?, --help
- Info tonen over het gebruik en afsluiten.
- --version
- De versie tonen en afsluiten.
Ontleedopties¶
De volgende opties kunnen gebruikt worden om de uitvoer van de changelog-ontleder te beïnvloeden, zoals bijvoorbeeld het assortiment items of de indeling van de uitvoer.
- --format uitvoerindeling
- De indeling van de uitvoer instellen. Momenteel ondersteunde waarden zijn dpkg en rfc822. dpkg is de klassieke indeling van de uitvoer (van voor het bestaan van deze optie) en ook de standaard. Het bestaat uit één onderdeel volgens het indelingssysteem van Debian control (zie deb-control(5)). Indien meer dan één item opgevraagd wordt, dan worden de meeste velden genomen uit het eerste item (gewoonlijk het meest recente item), tenzij anders vermeld:
- Source: pakketnaam
- De naam van het broncodepakket.
- Version: versie
- Het versienummer van de broncode. Opmerking: Voor releases die uitsluitend binair zijn, is er mogelijk geen overeenkomstige broncoderelease.
- Distribution: doeldistributie
- Een door spaties gescheiden lijst van een of meer namen van distributies waarin deze versie ondergebracht moet worden als ze geüpload wordt.
- Urgency: urgentie
- Van alle opgenomen items wordt de hoogste urgentie gebruikt, gevolgd door de samengevoegde (onderling door spaties gescheiden) commentaar van alle opgevraagde versies.
- Maintainer: auteur
- De naam en het e-mailadres van de persoon die deze wijzigingen heeft voorbereid, dit zijn niet noodzakelijkerwijs die van de uploader of de gebruikelijke pakketbeheerder.
- Date: datum
- De datum van het item als een tekenreeks, zoals die voorkomt in het changelog-bestand. Met een strptime(3)-opmaak "%a, %d %b %Y %T %z", maar waarbij het kan zijn dat de dag van de week niet echt overeenkomt met de werkelijke dag die bekomen wordt uit de rest van de datumtekenreeks. Indien u een meer accurate representatie van de datum nodig heeft, moet u gebruik maken van het Timestamp-veld, maar u moet er rekening mee houden dat het mogelijk is dat het niet meer exact terug omgezet kan worden naar de waarde van dat veld.
- Timestamp: tijdsaanduiding
- De datum van het item, uitgedrukt als een tijdstempel in aantal seconden sinds de epoch (sinds dpkg 1.18.8).
- Closes: bug-nummer
- De velden Closes van alle opgenomen items worden samengevoegd.
- Changes: changelog-items
- De tekst van alle changelog-items wordt samengevoegd. Om van dit veld een geldig veld te maken volgens de indeling van een Debian control-veld dat uit meerdere regels bestaat, worden lege regels vervangen door één enkel punt en springen alle regels in met één spatie. De exacte inhoud hangt af van de changelog-indeling.
De velden Version, Distribution, Urgency, Maintainer en Changes zijn verplicht.
Er kunnen nog bijkomende door de gebruiker aangemaakte velden gebruikt worden.
De indeling volgens rfc822 maakt gebruik van dezelfde velden, maar gebruikt in de uitvoer een apart onderdeel voor elk changelog-item, zodat alle metadata van elk item behouden blijven.
- --reverse
- Alle wijzigingen in omgekeerde volgorde opnemen (sinds dpkg 1.19.1).
Opmerking: voor de indeling dpkg zal het eerste item het oudste item zijn.
- --all
- Alle wijzigingen opnemen. Opmerking: andere opties hebben geen effect als deze optie gebruikt wordt.
- -s, --since versie
- -v versie
- Alle wijzigingen opnemen die recenter zijn dan versie.
- -u, --until versie
- Alle wijzigingen opnemen die aangebracht zijn voor versie.
- -f, --from versie
- Alle wijzigingen uit versie of later opnemen.
- -t, --to versie
- Alle wijzigingen uit versie of vroeger opnemen.
- -c, --count aantal
- -n aantal
- aantal items opnemen, te beginnen bij het begin (of bij het einde als aantal kleiner is dan 0).
- -o, --offset getal
- Het beginpunt voor --count aanpassen, te rekenen vanaf het begin (of het einde als getal lager is dan 0).
CHANGELOG-INDELINGEN¶
Het is mogelijk om een andere indeling te gebruiken dan de standaardindeling door te voorzien in een ontleedprogramma voor die alternatieve indeling.
Om er voor te zorgen dat dpkg-parsechangelog dat nieuw ontleedprogramma uitvoert, moet binnen de laatste 40 regels van het changelog-bestand een regel toegevoegd worden die voldoet aan de Perl reguliere expressie: “\schangelog-format:\s+([0-9a-z]+)\W”. Het deel tussen haakjes moet de naam van de indeling zijn. Bijvoorbeeld:
Een naam voor een changelog-indelingen moet een niet-lege alfanumerieke tekenreeks (“a-z0-9”) zijn.
Indien een dergelijke regel bestaat, zal dpkg-parsechangelog naar het ontleedprogramma zoeken als een Dpkg::Changelog::andere-indeling perl module. Het is een fout als die niet voorhanden is. De parsernaam in de perlmodule zal automatisch in hoofdletters gezet worden. De standaard changelog-indeling is debian en standaard is er voorzien in een programma om ze te ontleden.
Het ontleedprogramma moet ontleend worden aan de Dpkg::Changelog-klasse en moet de vereiste vastgelegde interface implementeren.
Indien de changelog-indeling die ontleed wordt altijd of bijna altijd een witregel heeft tussen aparte notities in verband met wijzigingen, moeten die lege regels weggenomen worden om als resultaat een compacte uitvoer te bekomen.
Indien de changlog-indeling geen informatie bevat over data of pakketnaam, dan moet die informatie in de uitvoer weggelaten worden. Het ontleedprogramma moet niet proberen die informatie samen te stellen of ze in andere bronnen gaan zoeken.
Indien het changelog-bestand niet de verwachte indeling gebruikt, moet het ontleedprogramma afsluiten met een foutmelding, eerder dan te proberen er zich doorheen te slaan en misschien foute uitvoer te genereren.
Een ontleedprogramma voor een changelog-bestand mag helemaal niet met de gebruiker interageren.
OPMERKINGEN¶
Alle Parser Options (ontleedopties) met uitzondering van -v worden slechts sinds dpkg 1.14.16 ondersteund.
Het voor ontleeddoeleinden gebruiken van opties in verkorte notatie met niet-samengebundelde waarden is slechts sinds dpkg 1.18.0 mogelijk.
OMGEVING¶
- DPKG_COLORS
- Stelt de kleurmodus in (sinds dpkg 1.18.5). Waarden die momenteel gebruikt mogen worden zijn: auto (standaard), always en never.
- DPKG_NLS
- Indien dit ingesteld is, zal het gebruikt worden om te beslissen over het activeren van moedertaalondersteuning, ook gekend als internationaliseringsondersteuning (of i18n) (sinds dpkg 1.19.0). Geldige waarden zijn: 0 and 1 (standaard).
BESTANDEN¶
- debian/changelog
- Het changelog-bestand dat gebruikt wordt om versieafhankelijke informatie over het broncodepakket te verkrijgen, zoals de urgentie en de distributie van een upload, de doorgevoerde aanpassingen sinds een bepaalde release en het versienummer van de broncode zelf.
BUGS¶
Het veld Maintainer heeft een verwarrende naam die overeenkomt met het veld in het bestand debian/control, maar niet met zijn exacte semantiek, waarbij de betekenis beter zou worden weergegeven door de veldnaam Changed-By die wordt gebruikt in het bestand .changes.
ZIE OOK¶
2024-08-01 | 1.22.11 |