Upstream

Differences between revisions 28 and 29
Revision 28 as of 2010-01-20 20:15:19
Size: 4714
Editor: c-76-112-233-201
Comment:
Revision 29 as of 2010-01-20 20:35:25
Size: 5626
Editor: c-76-112-233-201
Comment:
Deletions are marked like this. Additions are marked like this.
Line 43: Line 43:
=== Integration with Ubuntu ===

Generally speaking if you're a GNOME or KDE application then you should follow the conventions for those projects. However we have some useful things that you might want to consider integrating into your application:

 * Use [[Apport/|apport]] to get crash information on your software by writing your own [[/Apport/DeveloperHowTo|apport hooks]].
 * [[https://edge.launchpad.net/launchpad-integration|Launchpad integration]] is a library that adds an entry to the help menu so people can file bugs and find out more information about a package.
 * [[MessagingMenu|Messaging Menu]] - The messaging menu provides quick access to messages concerning you that you may not have seen.
 * [[/DesktopExperienceTeam/ApplicationIndicators|Application Indicators]] - our plan to clean up the notification area.
 * [[NotifyOSD|Notify-OSD]] - slick-looking notification bubbles.

In Ubuntu it's important to us to have a good relationship with our Upstream projects and an efficient workflow we both benefit from.

The Upstream namespace on the wiki is all about:

  • best practices for collaboration between Ubuntu and Upstream
  • giving Upstreams better visibility into what's happening in Ubuntu
  • recommendations for engaging and working with an Upstream project

How Ubuntu Works

How to Get In Ubuntu

If your existing software is not available in Ubuntu then here are some steps to get your package in there. This is the recommended method for getting your packages into the distribution. Once you're in Ubuntu and Debian, then maintenance of the package becomes just a matter of updating it.

  • Packaging Guide - Your software needs to be packaged up in .deb format. This page has information for new packages that is important.

  • Getting Started - After you have packages you should get ahold of a MOTU to peer review your work. Remember that this is done on a volunteer basis, so please have realistic expectations on how quickly your package will be reviewed. It helps tremendously if someone from your existing upstream community can help out with packaging, do bug workflow, and do general upstream contact work. If you are serious about maintaining your software in Ubuntu, then we recommend you just become and Ubuntu Developer by following Ubuntu development.

  • Most software lives in the universe component of Ubuntu, which is synced from Debian on a regular basis. Getting your software packaged in Debian has many benefits.
    • Debian has a large developer community, and also more [[http://wiki.debian.org/Teams development teams]. It is likely that you will be able to integrate an existing team, that will help you get your software packaged.

    • Your software will be in both distros at once, available to more users. You avoid duplicating efforts.
    • Your software will benefit from all the Quality Assurance efforts done in Debian, as well as from those in Ubuntu.
    • Please note that if your software packaging has licensing issues or glaring flaws that skipping the Debian requirements will likely mean that it won't meet Ubuntu requirements.

How to Get Packages Out Fast (aka. quick and dirty)

Launchpad provides a service called Personal Package Archives(PPA). Launchpad will build packages for i386, AMD64, and armel and can build for multiple Ubuntu releases for you automatically, so it's a great way to get your stuff "out there" quickly. The drawback is that it doesn't come with Ubuntu by default so people who want to use your packages will need to run a command to add the repository. You can also have multiple PPAs, so if you want to do something like have a stable one for your stable releases and a more crackful (or daily!) PPA builds for developers/testers then that's also available.

Remember that PPAs are great for getting things out there, but getting your packages into Ubuntu in the long term will end up being less work and easier for users to find; however they are a great playground for risky branches or features you might want tested.

Integration with Ubuntu

Generally speaking if you're a GNOME or KDE application then you should follow the conventions for those projects. However we have some useful things that you might want to consider integrating into your application:

  • Use apport to get crash information on your software by writing your own apport hooks.

  • Launchpad integration is a library that adds an entry to the help menu so people can file bugs and find out more information about a package.

  • Messaging Menu - The messaging menu provides quick access to messages concerning you that you may not have seen.

  • Application Indicators - our plan to clean up the notification area.

  • Notify-OSD - slick-looking notification bubbles.

Knowledge Base


CategoryUpstream

Upstream (last edited 2017-11-27 15:47:17 by bryanquigley)