• Home
  • About
  • Blog Archives
  • Contact Me
  • FAQ
  • The Big 101
Subscribe: Posts | Comments | E-mail

jonobacon@home

Posted on October 17, 2007 - by jono

First Shot at Packaging

Ubuntu

One of the most important projects in the Ubuntu community is MOTU – a project to produce Ubuntu packages for the many and various Linux applications out there. MOTU is not only for producing packages, but is also the place where people actually learn to package, eventually becoming MOTU contributors (people who produce packages for the universe repository) or core-dev (people who produce packages in the main repository).

For a while now I have had an item on my TODO list:

  • learn how to produce Ubuntu packages, and maybe learn to become a MOTU

Well, yesterday evening while trying to sleep I developed a cold, and as the day continued, I felt progressively worse. After meeting up with a mate last night, I tried to sleep and failed. So, instead of laying in bed wishing for sleep (I hate that), I figured I would use the time to learn how to package.

To get started I followed the excellent Ubuntu Packaging Guide. As I worked through it, I made some notes about bits of the guide that need fixing, and posted them to ubuntu-motu where they are planned to be merged in. After I had produced the hello packages with the different techniques, I then tried my hand at packaging something. I decided to try and package the new PiTiVi 0.11.0 release.

This resulted in this package. It works on my system, and is built for gutsy. Give it a shot, but this is my first package, so if it eats your important documents, don’t expect sympathy. :) And as for hardcore packaging nutters, yes, I used CDBS for this package, and used the existing PiTiVi package to learn from, and I am new, so don’t kick me too hard. :)

I do plan on continuing to learn how to produce a package using debhelper and not using CDBS. Thanks to everyone in #ubuntu-motu for their help; you are a fine bunch of people. :)

To be frank, I was a bit worried that packaging would be a bit too hardcore for me, but it was easier than I expected, the the tools available are excellent – from the tools to automate creating the package control files, to the pbuilder which helps build the binary package and ensures it pulls in the right dependencies. Obviously, I am at the start the journey, but has gone much smoother than I expected.

Also, don’t forget the range of sessions at Ubuntu Open Week next week for those of you who want to learn to contribute to Ubuntu as packagers. :)



This entry was posted on Wednesday, October 17th, 2007 at 9:05 am and is filed under Ubuntu. You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, or trackback from your own site.

14 Comments

We'd love to hear yours!



  1. Visit My Website

    October 17, 2007

    Permalink

    LT said:

    Installed ty

    Reply


  2. Visit My Website

    October 17, 2007

    Permalink

    Onkar said:

    Why does this package depend on python-zopeinterface? And by the way, it installs but does not run. Following is the error.

    onkar@ps0657:~/Desktop$ pitivi Traceback (most recent call last): File “/usr/bin/pitivi”, line 113, in runpitivi() File “/usr/bin/pitivi”, line 102, in runpitivi import pitivi.pitivi as pitivi File “/usr/lib/pitivi/python/pitivi/pitivi.py”, line 29, in from ui import mainwindow File “/usr/lib/pitivi/python/pitivi/ui/mainwindow.py”, line 49, in from pluginmanagerdialog import PluginManagerDialog File “/usr/lib/pitivi/python/pitivi/ui/pluginmanagerdialog.py”, line 30, in import pitivi.pluginmanager as pluginmanager File “/usr/lib/pitivi/python/pitivi/pluginmanager.py”, line 32, in import pkgresources ImportError: No module named pkgresources

    Reply


  3. Visit My Website

    October 17, 2007

    Permalink

    Jeremy said:

    A good practice would also be to post your .dsc and .diff.gz (and optionally the orig.tar.gz) files as well. :)

    Reply


  4. Visit My Website

    October 17, 2007

    Permalink

    TW said:

    $ pitivi Traceback (most recent call last): File “/usr/bin/pitivi”, line 113, in runpitivi() File “/usr/bin/pitivi”, line 102, in runpitivi import pitivi.pitivi as pitivi File “/usr/lib/pitivi/python/pitivi/pitivi.py”, line 29, in from ui import mainwindow File “/usr/lib/pitivi/python/pitivi/ui/mainwindow.py”, line 49, in from pluginmanagerdialog import PluginManagerDialog File “/usr/lib/pitivi/python/pitivi/ui/pluginmanagerdialog.py”, line 30, in import pitivi.pluginmanager as pluginmanager File “/usr/lib/pitivi/python/pitivi/pluginmanager.py”, line 32, in import pkgresources ImportError: No module named pkgresources

    Reply


  5. Visit My Website

    October 17, 2007

    Permalink

    Josef Assad said:

    I dunno if this is on your priority list, but you might want to look at building your packages on the openSUSE Build Service. Seeing how there are currently xubuntu and Etch repos listed as valid repo targets, shouldn’t take any extra work to get your package building for Ubuntu 7.10 too there.

    Good way to build for archs you don’t have, too.

    Reply


  6. Visit My Website

    October 17, 2007

    Permalink

    Rick Harding said:

    I’ve recently started down the same path as yourself. I have to say the #ubuntu-motu people are amazingly great with helping out guys like us.

    As to the openSuse build service, it sounds something like the launchpad PPA service. I know Jorge and another friend have setup packages with the PPA service and now have their own hosted repositories. Very cool stuff.

    Reply


  7. Visit My Website

    October 17, 2007

    Permalink

    Mark Ginter said:

    I just tried installing your pitivi package. I’m also running gutsy – but when I try to start pitivi it says, Traceback (most recent call last): File “/usr/bin/pitivi”, line 113, in runpitivi() File “/usr/bin/pitivi”, line 102, in runpitivi import pitivi.pitivi as pitivi File “/usr/lib/pitivi/python/pitivi/pitivi.py”, line 29, in from ui import mainwindow File “/usr/lib/pitivi/python/pitivi/ui/mainwindow.py”, line 49, in from pluginmanagerdialog import PluginManagerDialog File “/usr/lib/pitivi/python/pitivi/ui/pluginmanagerdialog.py”, line 30, in import pitivi.pluginmanager as pluginmanager File “/usr/lib/pitivi/python/pitivi/pluginmanager.py”, line 32, in import pkgresources ImportError: No module named pkgresources

    I had 0.10.3 installed previously – so I don’t know if this is a result of trying to upgrade to your package or not.

    Not a critique — most indebted to your packaging efforts — just wanted to offer some feedback :)

    Reply


  8. Visit My Website

    October 17, 2007

    Permalink

    tenshu said:

    congrat’ :mrgreen:

    Packaging look simple but it is hard if you look closer You need to be VERY careful with many details

    Anoying things : _ obtaining a good communication link with the upstream author(s) _ writing a manpage (yeak) _ getting rewied by the REVU team _ shipping your package to debian (debian team is more careful on details than ubuntu MOTU

    My personal advise is to work directly for the debian packaging project Go get a good mentor (i had a bad experience with one of them) Then help ubuntu team to matain your package synced from debian

    My 2cts good luck with packaging Its hard but it’s priceless to see that people are installing it and use it on their system : http://popcon.ubuntu.com/

    Reply


  9. Visit My Website

    October 17, 2007

    Permalink

    Derek Buranen said:

    I installed it on my gutsy here. It works, but the app is still a bit crash happy.

    Importing videos doesn’t work with drag/drop, only via “add” and it crashed when I added an mp3 to the timeline in advanced view.

    Definitely showing progress (not the G. W. Bush progress, but real, verifiable and scientifically demonstrated progress)

    Thanks for packaging Mr. Jono.

    Reply


  10. Visit My Website

    October 17, 2007

    Permalink

    chris said:

    missing dependency on my system: python-setuptools

    Reply


  11. Visit My Website

    October 17, 2007

    Permalink

    Jay R. Wren said:

    You should REALLY use PPA. Eat your own dog food!

    Reply


  12. Visit My Website

    October 18, 2007

    Permalink

    Étienne Bersac said:

    CDBS is good enough. You should make better use of it instead of diving into lower level deb-helper scripts.

    Étienne.

    Reply


  13. Visit My Website

    October 19, 2007

    Permalink

    Stuart said:

    python-zopeinterface a missing dependency on my box.

    Reply


Leave a Reply


Here's your chance to speak.

Click here to cancel reply.

  1. Name (required)

    Mail (required)

    Website

    Message

  • Ad Ad Ad Ad
  • Prepare For Awesome

  • Recent Articles

    • Rest Well, My Friend
    • Incredible Stories Of Free Software and Open Source
    • On Zareason
    • This Friday: Rockridge Ubuntu Global Jam In Berkeley
    • Rocking The Application Indicators
    • Articulating IRC Contributions Concisely
    • Revisiting Ethos
    • Getting More Developers Interested In Participating In Ubuntu
    • 11.04 Ubuntu Developer Summit Announced
    • Help Colin Get His Kids Back
  • Recent Comments

    • Gerv on On Zareason
    • Deborah Lang on Facebook Account Disabled
    • duanedesign on Rest Well, My Friend
    • YADev on Application Indicators In Python
    • Navneeth on Incredible Stories Of Free Software and Open Source
    • Christoffer Holmstedt on Getting More Developers Interested In Participating In Ubuntu
    • Tachyon Feathertail on Getting More Developers Interested In Participating In Ubuntu
    • Neil Wilson on Getting More Developers Interested In Participating In Ubuntu
    • flipefr on Getting More Developers Interested In Participating In Ubuntu
    • Christoffer on Getting More Developers Interested In Participating In Ubuntu
  • Flickr Photos

  •  

    October 2007
    M T W T F S S
    « Sep   Nov »
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • jb@h Rockstars This Year

    • ethana2 (34)
    • Zac (18)
    • nixternal (17)
    • Tachyon Feathertail (15)
    • James Duncan (13)
    • Mackenzie (13)
    • Tom (12)
    • Bruno Girin (11)
    • Jimbo (11)
    • Adam Williamson (10)
© 2008 jonobacon@home - At home with Jono Bacon, Community Manager and Author