Ubuntu Forums ubuntu.com - launchpad.net - ubuntu help  

Go Back   Ubuntu Forums > The Ubuntu Forum Community > Other Community Discussions > Tutorials & Tips
Register Reset Password Forum Help Forum Council Search Today's Posts Mark Forums Read

Tutorials & Tips
The place to find Ubuntu related Tips & Tricks.

 
Thread Tools Display Modes
Old September 30th, 2006   #1
jdong
Ultimate Coffee Grinder
 
jdong's Avatar
 
Join Date: Oct 2004
Location: Cambridge. MA
Beans: 5,070
Ubuntu 8.10 Intrepid Ibex
Build (backport) an newer Ubuntu package to run on an older Ubuntu version

You are running the tried-and-true Dapper stable release. You notice that Edgy has a newer version of a package you want. What do you do? Well, prior to this, your would head over to the Backports folks and ask for the package. Some packages are deemed by Backporters to be too bleeding-edge or incompatible to be considered for backporting to Dapper. Now what? Welcome prevu! prevu is like your personal Backports developer, building backports with just a single command.

This is a quick guide to using prevu. We will use gdebi as an example package.


1. Get Prevu! Debs are available at http://sourceforge.net/project/showf...kage_id=206140

2. Edit your /etc/apt/sources.list. You need a deb-src line for the development distro of Ubuntu, such as:
Code:
deb-src http://archive.ubuntu.com/ubuntu feisty main restricted universe multiverse
Of course, run apt-get update afterwards.

3. Initialize prevu. You need to run sudo prevu-init when you install prevu for the first time. You don't need to run this again -- only the first time.

4. Build package. Run prevu gdebi
5. Wait patiently. Sit and twiddle your thumbs while your machine compiles away.

6. When completed, look in /var/cache/prevu/edgy-debs. There, you will find freshly generated deb packages! This location is also an APT repository, which can be added to your sources.list like so:
Code:
deb file:/var/cache/prevu/edgy-debs ./
Replace edgy with whatever distro you are running.


Note that not all packages will build. If you don't know how to fix it to build, you probably shouldn't try to do it, because chances are you'll screw up your computer

Also, note that building our own backports is an unsupported thing to do. Please do not bug Ubuntu developers about your broken system or packages if prevu could be the cause.


By default, prevu will build debs for the current distro version you are running. If you would like to build for another distro, just run, for example, DIST=breezy prevu gdebi. Note you need to run DIST=breezy prevu-init first.


Filing bugs
Prevu is hosted on Launchpad. Please file bugs to launchpad, product 'prevu'.

-----

Uninstallation:

Prevu does take up some space. Mine takes up around 100MB of space. Depending on how many packages you have, /var/cache/pbuilder/aptcache might be quite full, too. To remove prevu:

1. Uninstall the prevu package
2. Run sudo rm -rf /var/cache/prevu
3. Run sudo rm /var/cache/pbuilder/aptcache/*

Last edited by jdong; November 8th, 2006 at 01:07 AM..
jdong is offline   Reply With Quote
Old September 30th, 2006   #2
matthew
Bubbleheaded Star Child
 
matthew's Avatar
 
Join Date: Apr 2005
Location: Parts Unknown
Beans: 8,910
Ubuntu 9.10 Karmic Koala
Re: Build (backport) an Edgy package to run on Dapper

When I have free time I'll play around with it and will file any bugs I find on Launchpad. Thanks for doing this!
__________________
Forum FAQ | Forum CoC | what's a troll? | are you imposing?
my blog | my writing

Don't ask support questions in PMs--post a thread so everyone can benefit!


matthew is offline   Reply With Quote
Old September 30th, 2006   #3
jdong
Ultimate Coffee Grinder
 
jdong's Avatar
 
Join Date: Oct 2004
Location: Cambridge. MA
Beans: 5,070
Ubuntu 8.10 Intrepid Ibex
Re: Build (backport) an Edgy package to run on Dapper

I have uploaded a new version of prevu that does not need the build command to be executed as root. This prevents malicious build scripts from screwing with your system.

Note the new .deb download link. After installing the update, run sudo prevu-update to effect the changes. Now, you can just do prevu gdebi, no sudo, but you need to be in the admin group.

Note that sudo is _still_ used to enter the build environment, but root access is dropped as soon as it's possible.
jdong is offline   Reply With Quote
Old September 30th, 2006   #4
domino
Way Too Much Ubuntu
 
domino's Avatar
 
Join Date: Oct 2005
Location: Southeast Asia
My beans are hidden!
Ubuntu 7.04 Feisty Fawn
Re: Build (backport) an Edgy package to run on Dapper

Thanks for this tut! I was able to build gdebi but I'm not sure I got it to build correctly. Can anyone provide the MD5 for the two?

Code:
dcdd3ff33fd849bb2f2aca62a4772695  gdebi_0.1.6ubuntu1~6.06prevu1.tar.gz

f57d9a92178be9683ff4fe3bea3d7c2c  gdebi_0.1.6ubuntu1~6.06prevu1_all.deb
I'm also try to build the Edgy version of firefox-themes-ubuntu (2.0b2) but it keeps building the older firefox version. Any clue?

Last edited by domino; September 30th, 2006 at 09:17 PM..
domino is offline   Reply With Quote
Old September 30th, 2006   #5
jdong
Ultimate Coffee Grinder
 
jdong's Avatar
 
Join Date: Oct 2004
Location: Cambridge. MA
Beans: 5,070
Ubuntu 8.10 Intrepid Ibex
Re: Build (backport) an Edgy package to run on Dapper

I get:
Code:
e32a3c1206811bdbb57276b066e7db03  gdebi_0.1.6ubuntu1~6.06prevu1_all.deb
As far as building firefox-themes-ubuntu, it seems like it first needs human-icon-theme. This is a two-step backport, and prevu 0.2.1 and below do not support it yet. Please wait for prevu 0.2.2 to be released.

Subscribe to bug https://launchpad.net/products/prevu/+bug/63255 for notification.

When upgrading prevu, you need to run "sudo prevu-update". You also need to run this command between two-step backports for the debs repository to refresh.
jdong is offline   Reply With Quote
Old September 30th, 2006   #6
domino
Way Too Much Ubuntu
 
domino's Avatar
 
Join Date: Oct 2005
Location: Southeast Asia
My beans are hidden!
Ubuntu 7.04 Feisty Fawn
Re: Build (backport) an Edgy package to run on Dapper

Thanks for the prompt reply. It looks like I'm not building correctly since our checksum don't match. I'm thinking I'll need to retry the steps again. Thanks for the heads up on firefox-themes-ubuntu and I'll wait for an updated prevu version.
domino is offline   Reply With Quote
Old November 8th, 2006   #7
jdong
Ultimate Coffee Grinder
 
jdong's Avatar
 
Join Date: Oct 2004
Location: Cambridge. MA
Beans: 5,070
Ubuntu 8.10 Intrepid Ibex
Re: Build (backport) an newer Ubuntu package to run on an older Ubuntu version

I rebuilt and re-posted version 0.4.1-0ubuntu1 on Sourceforge. This new release fixes two significant issues, and users are encouraged to upgrade:

(1) Prevu always copies the sources to a temporary working directory. Any sources you unpack will not be modified (this prevents prevu from inserting unwanted changelog entries into your own work)

(2) Prevu now invokes pdebuild differently, which prevents some erroneous build failures due to build-deps not being present on the host. (for example, the absence of cdbs causes lots of packages to fail backporting even though they backport fine)
jdong is offline   Reply With Quote
Old November 10th, 2006   #8
foxy123
Dark Roasted Ubuntu
 
Join Date: Apr 2005
Beans: 1,129
Re: Build (backport) an newer Ubuntu package to run on an older Ubuntu version

I've got a problem with version 0.4.1. It works fine and reports building a package:
Code:
dpkg-deb: building package `dvd+rw-tools' in `../dvd+rw-tools_6.1-2ubuntu1~6.06prevu1_i386.deb'.
 dpkg-genchanges
dpkg-genchanges: not including original source code in upload
dpkg-buildpackage: binary and diff upload (original source NOT included)
Copying back the cached apt archive contents
 -> unmounting dev/pts filesystem
 -> unmounting proc filesystem
 -> unmounting /var/cache/prevu/src/5849 filesystem
 -> unmounting /var/cache/prevu/dapper-debs filesystem
 -> cleaning the build env
    -> removing directory /var/cache/prevu/builds/5929 and its subdirectories
** Success!. You can find source packages and .debs at /var/cache/prevu/dapper-debs **
but /var/cache/prevu/dapper-debs is empty

I tried a couple of times and even removed /var/cache/prevu and reinitialised prevu, still no avail. Should I file a bug?
__________________
NEC Versa M400 Laptop, Intel Pentium 4 2.8GHz, 768Mb memory, 855GM Graphic Chip, RT2500 wireless chip
Ubuntu Karmic
foxy123 is offline   Reply With Quote
Old November 10th, 2006   #9
jdong
Ultimate Coffee Grinder
 
jdong's Avatar
 
Join Date: Oct 2004
Location: Cambridge. MA
Beans: 5,070
Ubuntu 8.10 Intrepid Ibex
Re: Build (backport) an newer Ubuntu package to run on an older Ubuntu version

That is a known and fixed bug with the initial 0.4.1 release. It's been fixed, and the 0.4.1 package has been re-released. Please re-download the package from Sourceforge.
jdong is offline   Reply With Quote
Old November 11th, 2006   #10
foxy123
Dark Roasted Ubuntu
 
Join Date: Apr 2005
Beans: 1,129
Re: Build (backport) an newer Ubuntu package to run on an older Ubuntu version

Quote:
Originally Posted by jdong View Post
That is a known and fixed bug with the initial 0.4.1 release. It's been fixed, and the 0.4.1 package has been re-released. Please re-download the package from Sourceforge.
thanks a lot, it fixed it!
__________________
NEC Versa M400 Laptop, Intel Pentium 4 2.8GHz, 768Mb memory, 855GM Graphic Chip, RT2500 wireless chip
Ubuntu Karmic
foxy123 is offline   Reply With Quote

Bookmarks

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 11:52 PM.


vBulletin ©2000 - 2010, Jelsoft Enterprises Ltd. Ubuntu Logo, Ubuntu and Canonical © Canonical Ltd. Tango Icons © Tango Desktop Project. bilberry