Basic checks over Debian packages: mudanças entre as edições

De Eriberto Wiki
Ir para navegação Ir para pesquisar
Sem resumo de edição
 
(9 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 3: Linha 3:
== Packaging status ==
== Packaging status ==


* NEW: verify the ITP.
* NEW:
* Adoption: verify the ITA.
** Verify using apt search.
** Verify using wnpp-check.
** Make an ITP.
** Is changelog closing the ITP?
** Is changelog set to experimental?
* Adoption:
** Verify if is really orphan.
** Make an ITA.
** Is changelog closing the ITA?
* NMU
** Is there a maintainer for the package?
** Only essential changes?
** Is changelog closing the bug?
* QA
** Is the package orphan?
** Is the "QA upload" set?


== Initial check, if not NEW ==
== Initial check ==


* Run debdiff over the last and current .dsc file.
* For *-1 revisions, diff between sources (package x upstream).
* NO-GIT: Run debdiff over the last and current .dsc file.
* GIT: git diff from last debian/<revision> tag.
* debian/changelog: were registered all changes shown by debdiff?
* debian/changelog: were registered all changes shown by debdiff?


Linha 14: Linha 31:


* There are previous works in a VCS?
* There are previous works in a VCS?
* There are previous NMUs? We need ACKs.
* debian/copyright: all data were updated? (dates, maintainers, etc.). [1]
* debian/copyright: all data were updated? (dates, maintainers, etc.). [1]
* debian/patches/: all headers are complete?
* debian/patches/: are all headers complete?
* Can debuild command run twice?
* Is possible to run debuild command twice?
* Is uscan working?
* Is uscan working? (verify com uscan-check)
* Run spell command over debian/changelog and debian/control. [2]
* Run spell command over debian/changelog and debian/control. [2]
* Verify the final structure using tree command. [3]
* Verify the final structure using tree command. [3]
* Are all tests running? Use the autopkgtest. [4]
* Check if some file doesn't have an EOF. (use tail -n1 debian/*)
* If using Salsa, is the CI for Salsa enabled?
* Has a Debian CI test been created?
* Are all CI tests running? Use the autopkgtest. [4] (not needed if using Salsa)
* There are important files provided by upstream and useful for users not used? (README, TODO, etc.)
* There are important files provided by upstream and useful for users not used? (README, TODO, etc.)


Linha 30: Linha 49:
  $ egrep '(@|\[)' debian/changelog > /tmp/copy2
  $ egrep '(@|\[)' debian/changelog > /tmp/copy2


[2] The spell command will search for spelling errors. You can add new word to a personal dictionary ~/.ispell_default
[2] The spell command will search for spelling errors. You can add new words to a personal dictionary at ~/.ispell_default


  $ spell debian/changelog | sort -u
  $ spell debian/changelog | sort -u


[3] You can use tree over generated structure:
[3] You may use tree over generated structure:


  $ tree debian/<package-name>
  $ tree debian/<package-name>
Linha 44: Linha 63:
== Checks in tracker ==
== Checks in tracker ==


{{exclamação1|All checks here are related to http://tracker.debian.org.}}
{{exclamação1|All checks here are related to https://tracker.debian.org.}}


* Verify all itens in '''action needed'''.
* Verify all itens in '''action needed'''.
* Verify the building in '''builld'''. Click over log or exp (experimental).
* Verify the building in '''buildd'''. Click over log or exp (experimental).
* Verify all opened bugs (Debian and Ubuntu). Try to solve some bugs and close them in debian/changelog.
* Verify all opened bugs (Debian and Ubuntu). Try to solve some bugs and close them in debian/changelog.


Linha 53: Linha 72:


* Verify again all files inside debian/ directory.
* Verify again all files inside debian/ directory.
* Run cowbuilder to test the building in a fresh jail. [5][6][7]
* Run cowbuilder to test the building in a fresh jail. [5][6][7] (not needed if using Salsa)
* Run debidiff between .deb (old and current). (or use git diff)
* Install and test the final package.
* Install and test the final package.
* Update (push) the Git repository (if using it).
* Update (push) the Git repository (if using Salsa).
* Verify the .changes content before upload to Debian.
* Verify the .changes content before upload to Debian.



Edição atual tal como às 12h17min de 16 de junho de 2023

by (C) João Eriberto Mota Filho <eriberto (a) eriberto pro br>

Creation date: March 26, 2019.

Last update: see the footer.

Bit.ly: http://bit.ly/pkgcheck



Packaging status

  • NEW:
    • Verify using apt search.
    • Verify using wnpp-check.
    • Make an ITP.
    • Is changelog closing the ITP?
    • Is changelog set to experimental?
  • Adoption:
    • Verify if is really orphan.
    • Make an ITA.
    • Is changelog closing the ITA?
  • NMU
    • Is there a maintainer for the package?
    • Only essential changes?
    • Is changelog closing the bug?
  • QA
    • Is the package orphan?
    • Is the "QA upload" set?

Initial check

  • For *-1 revisions, diff between sources (package x upstream).
  • NO-GIT: Run debdiff over the last and current .dsc file.
  • GIT: git diff from last debian/<revision> tag.
  • debian/changelog: were registered all changes shown by debdiff?

General checks

  • There are previous works in a VCS?
  • debian/copyright: all data were updated? (dates, maintainers, etc.). [1]
  • debian/patches/: are all headers complete?
  • Is possible to run debuild command twice?
  • Is uscan working? (verify com uscan-check)
  • Run spell command over debian/changelog and debian/control. [2]
  • Verify the final structure using tree command. [3]
  • Check if some file doesn't have an EOF. (use tail -n1 debian/*)
  • If using Salsa, is the CI for Salsa enabled?
  • Has a Debian CI test been created?
  • Are all CI tests running? Use the autopkgtest. [4] (not needed if using Salsa)
  • There are important files provided by upstream and useful for users not used? (README, TODO, etc.)


[1] The egrep command can be used to check (in upstream place):

$ egrep -sriA25 '(copyright|public dom)' > /tmp/copy
$ egrep '(@|\[)' debian/changelog > /tmp/copy2

[2] The spell command will search for spelling errors. You can add new words to a personal dictionary at ~/.ispell_default

$ spell debian/changelog | sort -u

[3] You may use tree over generated structure:

$ tree debian/<package-name>

[4] To use autopkgtest (in upstream place):

$ autopkgtest . -- null

Checks in tracker

All checks here are related to https://tracker.debian.org.
  • Verify all itens in action needed.
  • Verify the building in buildd. Click over log or exp (experimental).
  • Verify all opened bugs (Debian and Ubuntu). Try to solve some bugs and close them in debian/changelog.

Final procedures

  • Verify again all files inside debian/ directory.
  • Run cowbuilder to test the building in a fresh jail. [5][6][7] (not needed if using Salsa)
  • Run debidiff between .deb (old and current). (or use git diff)
  • Install and test the final package.
  • Update (push) the Git repository (if using Salsa).
  • Verify the .changes content before upload to Debian.

[5] To create cowbuilder (outside the jail):

# cowbuilder create

[6] To update cowbuilder:

# cowbuilder update

[7] To use the cowbuilder:

# cowbuilder build /patch/name.dsc