Changes between Version 1 and Version 2 of UbuntuPpa


Ignore:
Timestamp:
08/03/11 14:18:35 (7 years ago)
Author:
joshuadf
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • UbuntuPpa

    v1 v2  
    1 PPA  
     1== Ubuntu Personal Package Archives (PPA) == 
    22 
    3 https://wiki.ubuntu.com/PackagingGuide/Recipes/Debdiff 
     3Sometimes, such as when [https://bugs.launchpad.net/ubuntu/+source/opensaml2/+bug/817199 updating a community-supported package], it's useful to build your own Ubuntu packages and put them on the web. The Ubuntu Launchpad infrastructure supports this through Personal Package Archives (PPA). 
    44 
    5 # Upload to personal PPA  
    6 # https://launchpad.net/~joshuadfranklin 
    7 # takes about an hour to appear when you first sign up! 
     5Prerequisites: 
    86 
    9 https://help.launchpad.net/Packaging/PPA/Uploading 
     7 1. [https://help.ubuntu.com/community/GnuPrivacyGuardHowto Create a GnuPG key] if you don't already have one, and upload it to the Ubuntu keyserver with a command like `gpg --send-keys --keyserver keyserver.ubuntu.com $GPGKEY` 
     8 1. Sign up for [https://login.launchpad.net/+login Launchpad], use your GPG key to sign the Ubuntu Code of Conduct, and [https://help.launchpad.net/Packaging/PPA activate a PPA on your Launchpad profile page] 
    109 
     10After you activate the PPA, it can take about an hour to show up, so now's a good time to install build tools and work on building your package.  Much of this information is condensed from https://wiki.ubuntu.com/PackagingGuide/Recipes/Debdiff  and https://help.launchpad.net/Packaging 
    1111 
    1212 
    1313{{{ 
    14 apt-get -y install  bzr-builddeb 
    15 apt-get -y install devscripts build-essential wget fakeroot cdbs patchutils debhelper 
     14apt-get -y install bzr-builddeb devscripts build-essential wget fakeroot cdbs patchutils debhelper 
    1615bzr whoami "Joshua Daniel Franklin <joshuadfranklin@yahoo.com>" 
    1716bzr launchpad-login joshuadfranklin 
     
    2120mkdir src 
    2221cd src 
    23  
    24 # https://help.launchpad.net/Packaging/PPA/Uploading 
    2522apt-get source opensaml2 
    2623# creates opensaml2-2.3 opensaml2_2.3-1build2.dsc  
    2724cd opensaml2-2.3 
    28 # edit files in opensaml2 
    29 patch -p0 < ../foo/x 
    30 # edit changelog, add "ppa1" to version number 
     25# edit files in opensaml2, or apply a patch 
     26patch -p0 < ~/$SOME_PATCH 
     27}}} 
     28 
     29Next use `dch` to edit the changelog, adding "ppa1" to version number based on [https://help.launchpad.net/Packaging/PPA/Uploading the guidelines], and then `dbuild` to generate the necessary files and sign the package: 
     30{{{ 
    3131dch -i 
    3232debuild -S 
    3333cd .. 
    3434debdiff opensaml2_2.3-1build2.dsc opensaml2_2.3-1build2ppa1.dsc  > mydebdiff 
    35 #  And we're done. You can now attach the debdiff to a bug report or send it to the relevant person.  
    36  
     35# You can attach the debdiff to a bug report or send it to the relevant person.  
     36# This will prompt for GnuPG passphrase  
    3737dput ppa:joshuadfranklin:ppa opensaml2_2.3-1build2ppa1_source.changes  
    3838}}} 
    3939 
    40 After it builds you can install it: 
     40After uploading the the PPA, the package will build after a while and you can install it. You'll need to add the PPA key to your system 
    4141{{{ 
    42 # https://bugs.launchpad.net/ubuntu/+source/opensaml2/+bug/817199 
     42# find Fingerprint at https://launchpad.net/~joshuadfranklin/+archive/ppa under "Technical Details" 
     43gpg --recv-keys 75BA62B3B973066B 
     44gpg --export --armor 75BA62B3B973066B | apt-key add - 
     45# create the sources.list entry 
    4346cat <<EOF > /etc/apt/sources.list.d/joshuadfranklin-ppa.list 
    4447deb http://ppa.launchpad.net/joshuadfranklin/ppa/ubuntu lucid main 
    4548deb-src http://ppa.launchpad.net/joshuadfranklin/ppa/ubuntu lucid main 
    4649EOF 
    47 gpg --recv-keys 75BA62B3B973066B 
    48 gpg --export --armor 75BA62B3B973066B | apt-key add - 
    4950apt-get update 
    5051apt-get upgrade