U

Ubuntu_PPA_Packaging

Master repository to manage Ubuntu PPA

SMC Ubuntu PPA

SMC maintains an Ubuntu PPA that is intended to provide latest versions of fonts, hyphenation rules and other tools developed by SMC. The PPA can be added using the command
$ sudo apt-add-repository ppa:smcproject/repo

Packages that are available in the repo are

  • Individual packages for all fonts maintained by SMC
  • fonts-smc metapackage that installs all fonts
  • Hyphenation rules for Indic languages

Steps to update package

  1. Install the packages devscripts and git-buildpackage using the command $ sudo apt-get install devscripts git-buildpackage
  2. Create tarball containing necessary files. Example - fonts-smc-anjalioldlipi-6.1.2.tar.gz
  3. Clone the corresponding package using the command $ gbp clone --verbose --pristine-tar <path to repo> and change directory to the cloned directory.
  4. Import the new version using the command $ gbp import-orig --pristine-tar <path to created tarball>
  5. Make necessary changes to contents in side debian subdirectory, if any.
  6. Add a changelog entry using the command $ dch --team
  7. Build the package using the command $ debuild It will generate .changes file in the parent directory
  8. Check for errors using lintian $ lintian -iIEv --pedantic --color auto <path to changes file generated>
  9. Correct all errors and warnings
  10. Build source only package for uploading to Ubuntu using the command $ debuild -S -sa . This will generate a source.changes file in the parent directory.

Steps to push the package to PPA

  1. Install the package dput using the command $ sudo apt-get install dput
  2. Create ~/.dput.cf with the following content [smc-repo] fqdn = ppa.launchpad.net method = ftp incoming = ~smcproject/ubuntu/repo/ login = anonymous allow_unsigned_uploads = 0
  3. Get the GPG key associated with SMC Repo from Balu or Anivar. Also get added to repo@smc.org.in email forward list to get notifications.
  4. Sign the source.changes file generated by the debuild command using the command debsign -k <key id> <path to source.changes file>
  5. Publish the package to the repository using the dput tool dput smc-repo <path source.changes file>
  6. From the launchpad web interface copy the package to different versions of Ubuntu (For fonts/hyphenation rules, use "Copy existing binaries" option)