To upload a package correctly, do the following: * Ensure that your build environment is set up correctly to avoid .git directories being included in your uploads. The following settings in your configuration should do this (assuming 'debuild' is used to build the package): - ~/.bashrc: export DH_ALWAYS_EXCLUDE=CVS:.svn:.git - ~/.devscripts: DEBUILD_DPKG_BUILDPACKAGE_OPTS="-i -I" DEBUILD_PRESERVE_ENVVARS=DH_ALWAYS_EXCLUDE # You may also want to add this setting if you work on D-I components # for which you're not an uploader. DEBCHANGE_AUTO_NMU=no If you use pdebuild from pbuilder the following settings should be used: - ~/.pbuilderrc export DH_ALWAYS_EXCLUDE=CVS:.svn:.git DEBBUILDOPTS="-i -I" * Update from git: git pull * Check that you don't have any uncommitted changes or files that do not belong in the package: git status * Update the translator info in debian/changelog by copying and pasting the output (if any) of the following command: scripts/l10n/output-l10n-changes -d . Take care that you preserve the UTF-8 encoding of the changes! * Change the distribution to unstable: dch -r * Build: debuild * Check the resulting package: debc, debdiff, etc. * Commit and tag the release: debcommit --all --release Since many packages in d-i only contain shell scripts and the like, you can build them even if they aren't for your normal host architecture: just pass -a to most of the devscripts commands (debuild, debsign, debc, and debrelease, but not debcommit and not necessarily debdiff). Be careful not to do this for packages containing compiled C code; if you do this by accident, you'll get a "binary-from-other-architecture" warning from Lintian.