Hi! > For a new package, what should I do once I feel that it is ready to be > uploaded? Should I go ahead and create the project in .. > Also, what's the right procedure for updating an existing package?
The only clearly "right" thing to do is what the Debian Policy says because it has a clear process on how changes are voted on and it is actively mantained and enforced. A lot of people have contributed to the Developer's Reference, and certain generally agreed upon conventions, such as how to salvage a package, are documented in it. However it, the Debian website, the Debian wiki and various team documents are not always actively maintained, so as somebody new to Debian, you unfortunately will read a lot of docs only to discover that things aren't actually as the docs say. Some docs are outdated because nobody cared enough to maintain them. Others are outdated because there is no formal voting or decision process defined, and nobody knows who is actually authorized to update what, and people feel safer writing an entirely new doc instead of trying to coordinate on update existing ones. Asking on a mailing list what the "latest" way to do something is usually a good approach. As you are not a DD, you should find a mentor, follow their guidance, and have them upload your stuff. My personal process for creating new packages right now is to run something along: curl -LO https://salsa.debian.org/otto/dh-make-golang/-/jobs/7890897/artifacts/raw/debian/output/dh-make-golang_0.8+git20250727.a6fe7fa-1~otto+salsaci+20250729+35_amd64.deb apt install -y ./dh-make-golang*.deb dh-make-golang make -dep14 -pristine-tar -type library -upstream_git_history -wrap-and-sort ast github.com/gonvenience/idem git push git checkout -b import/$(dpkg-parsechangelog -SVersion) git add debian git commit -m "Initial debian/ by dh-make-golang" # iterate until packaging is correct git push --verbose # open MR for import/x branch to be merged into debian/latest You can see a full example at https://salsa.debian.org/go-team/packages/golang-github-gonvenience-idem/-/merge_requests/1. The real work happened in https://salsa.debian.org/go-team/packages/golang-github-gonvenience-idem/-/merge_requests/2, which I uploaded to NEW on Sept 8th and it passed and entered Debian unstable on Sept 28th. As a new thing in Go team we now also have https://salsa.debian.org/go-team/flight-deck for managing repos but the place to start is still by running `dh-make-golang make`, and adding a repo via Flight Deck or enrolling and existing one into it can happen later. For updating existing packages the process is much easier, just fork the repo, gbp clone it locally, run gbp import-orig --uscan, fix what is needed, gbp push to your fork and open a MR on the branch that had the actual Debian changes (e.g. debian/latest or debian/sid). The DD who uploads will merge by running locally gbp pull from your fork and gbp push to the repo and gbp tag to upload. You can find more examples of MRs I've reviewed and uploaded at https://salsa.debian.org/dashboard/merge_requests?scope=all&state=all&reviewer_username=otto Here are some recent and hopefully usefully explained posts relevant to people trying to learn how Debian packaging (and git-buildpackage) works: https://optimizedbyotto.com/post/debian-source-package-git/ explains the git-buildpackage branches https://optimizedbyotto.com/post/debian-packaging-from-git/ explains how to create the debian/latest branch when debianizing an upstream project and submit a MR https://optimizedbyotto.com/post/debian-salsa-merge-request-best-practices/ general tips on MRs https://optimizedbyotto.com/post/debian-maintainer-habits/ general tips on how to become a Debian Maintainer https://optimizedbyotto.com/mentoring/ info about my mentoring
