Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- http://irclogs.ubuntu.com/2012/08/28/%23ubuntu-classroom.html
- More specifically: To fix a bug in Ubuntu, you would first get the source code for the package, then work on the fix, document it so it is easy to understand for other developers and users, then build the package to test it.
- apt-get source <package> `or` bzr branch ubuntu:<package>
- apport-retrace is a very nice tool - what it does for us is that if a program crashes and it saves a core dump with the current state of the program's used memory, apport-retrace can get us a human-readable output of the crash stacktrace, so the functions which were called in which part of the code, which line, which variables and so on
- https://wiki.ubuntu.com/DebuggingProgramCrash
- sudo apt-get install packaging-dev
- - gnupg – GNU Privacy Guard contains tools you will need to create a cryptographic key with which you will sign files you want to upload to Launchpad.
- - pbuilder – a tool to do a reproducible builds of a package in a clean and isolated environment.
- - ubuntu-dev-tools (and devscripts, a direct dependency) – a collection of tools that make many packaging tasks easier.
- - bzr-builddeb (and bzr, a dependency) – distributed version control with Bazaar, a new way of working with packages for Ubuntu that will make it easy for many developers to collaborate and work on the same code while keeping it trivial to merge each others work.
- - apt-file provides an easy way to find the binary package that contains a given file.
- Open ~/.bashrc
- add following to end :
- export DEBFULLNAME="Clayton Casciato"
- export DEBEMAIL="cc11rocks@yahoo.com"
- gpg --gen-key //GPG stands for GNU Privacy Guard and it implements the OpenPGP standard which allows you to sign and encrypt messages and files. you can sign files with your key so they can be identified as something that you worked on. If you upload a source package to Launchpad, it will only accept the package if it can absolutely determine who uploaded the package. 2048 okay, 4096 best
- ssh-keygen -t rsa
- pbuilder allows you to build packages locally on your machine. - The build will be done in a minimal and clean environment. This helps you make sure your builds succeed in a reproducible way, but without modifying your local system. - There is no need to install all necessary build dependencies locally - You can set up multiple instances for various Ubuntu and Debian releases.
- to set up pbuilder, run "pbuilder-dist <release> create" for quantal : "pbuilder-dist quantal create"
- https://wiki.ubuntu.com/PbuilderHowto
- pub 4096R/43CDE61D 2010-12-06
- Key fingerprint = 5C28 0144 FB08 91C0 2CF3 37AC 6F0B F90F 43CD E61D
- uid Daniel Holbach <dh@mailempfang.de>
- sub 4096R/51FBE68C 2010-12-06
- KEY-ID would be "43CDE61D"
- gpg --send-keys <KEY ID>
- gpg --fingerprint <email@address.com>
- Go to https://launchpad.net/~/+editpgpkeys and copy "Key fingerprint" to text box, "Import key"
- https://help.launchpad.net/YourAccount/ImportingYourPGPKey
- open https://launchpad.net/~/+editsshkeys open ~/.ssh/id_rsa.pub
- copy contents, "Add an SSH key", "import public key"
- https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair
- Backup ~/.pnupg dir, copy back if have to reinstall, etc
- Bazaar is the tool to store code changes in a logical way, to exchange proposed changes and merge them, even if development is done concurrently. It is used for the new Ubuntu Distributed Development method of working with Ubuntu packages.
- bzr whoami "Clayton Casciato <cc11rocks@yahoo.com>"
- bzr launchpad-login cc11rocks
- https://launchpad.net/~ << Where is redirects you is Lauchpad ID
- Open "software properties", check "Sources"
- Run this to check working :
- bzr branch ubuntu:hello
- cd hello
- bzr bd -- -S //build source package from branch the "Debian/Ubuntu way"
- ls //Output similiar to "hello_2.8-2.debian.tar.gz hello_2.8-2_source.changes \n hello_2.8-2.dsc hello_2.8.orig.tar.gz"
- pbuilder-dist quantal build ../hello_2.8.2.dsc
- package available in ~/pbuilder/quantal_result/
- http://developer.ubuntu.com/packaging/html/
- Grab source of Ubuntu packages : "pull-lp-source <PackageName>"
- what-patch //How package represents patches
- if "what-patch" returns "quilt", run "quilt new <MyPatchName>"
- quilt edit <FileName>
- quilt refresh //Builds patch
- http://packages.qa.debian.org/$PackageName
- http://packages.qa.debian.org/hello #Example for package "hello"
- PTS - Package Tracking System
- http://developer.ubuntu.com/packaging/html/
- https://wiki.ubuntu.com/UbuntuDevelopment/BugFixingInitiative
- on PTS, find list of debian bugs in top right corner. See maintainer in top left. Upload history in middle. If find something related to bug working on, see progress and see if there is a patch and if it has been forwarded upstream
- Two other patch systems (fading out) : dpatch and cdbs-simple-patch
- Make change, add new changelog entry with dch, build source package
- debdiff foobar_0.1-1.dsc foobar_0.1-1ubuntu1.dsc //Get pactch that shows the difference between them
- if it's debian packaging bug, forward it to debian. If affecting debian stable release, forward to Debian. If don't have reason to forward to debian, forward to upstream authors. Can file bug with them and give them created patch
- If Debian/upstream dev doesn't respond, fix issue directly in Ubuntu
- If devs stop responding and/or producing new packages, eventually remove it from Debian/Ubuntu unless someone takes over it
- Add changelog entry, patch with quilt, generate new source with "debuild -us -us -S", then "debdiff" //-S builds source package only, no binary packages
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement