Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
This is a simple guide for building and installing new Rhythmbox straight
from upstream using existing debian templates for RB.
Use at your own risk.
Initial setup
- It's suggested to build this using chrooted build system like pbuilder or sbuild. If you do, you don't need to install any other dependencies than devscripts package.
- Alternatively you can use debfoster. Run run it once and answer 'yes' (or no if you know what you're doing) asked questions. This way you set *default* state for installed packages and can easily uninstall all RB build dependencies after building. You can later "reset" debfoster using -n parameter after the whole buildprocess is complete and installed dependencies have been removed.
Configuring build environment
- Install required packages for building
Code:
sudo aptitude install build-essential cdbs devscripts dh-make fakeroot
- Setup your local environment
Code:
mkdir -p ~/packages/rhythmbox
cd ~/packages/rhythmbox
Getting the sources
- We'll use debian's package as base package for the source. Add new source
reposirtory on /etc/apt/sources.list
Code:
deb-src http://ftp.uk.debian.org/debian unstable main contrib non-free
Note!
- Fetch RB's source from debian repository. Don't use sudo while getting the source package!
Before doing this, make sure you're at the rhythmbox directory you created earlier.
Code:
sudo apt-get update && apt-get source rhythmbox
cd rhythmbox-0.9.5
Preparing the new package
- You must edit debian/control and debian/control.in files and replace libgnome-media-dev with gnome-media on Build-Depends: section,
Debian on Ubuntu seem to have difference regarding to package naming.
- Insert new changelog entry
- Insert your own comments about new version
Code:
rhythmbox (0.9.5-1ubuntu1) dapper; urgency=low
* debian/control,
debian/control.in:
- Changed libgnome-media-dev to gnome-media
-- Firstname Lastname <yourname@mail.com> Tue, 20 Jun 2006 22:11:35 +0300
Save file after modifying it (contents will actually be written on debian/changelog)
- If you want to enable experimental ipod writing support, add this to debian/rules
Code:
DEB_CONFIGURE_EXTRA_FLAGS += --enable-ipod-writing
Installing required build dependencies
- Run dpkg-checkbuilddeps and install all listed packages. Those are needed for building this package. For RB 0.9.5 build dependencies are
Code:
sudo aptitude install libgnome2-dev libgtk2.0-dev libgnomeui-dev libgnomevfs2-dev docbook-xsl docbook-utils gnome-pkg-tools libxt-dev libdbus-glib-1-dev libnautilus-burn-dev libhal-dev libtotem-plparser-dev liblircclient-dev libsoup2.2-dev libavahi-client-dev libmusicbrainz4-dev libavahi-glib-dev libtool libgpod-dev libnotify-dev libglade2-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev zlib1g-dev libx11-dev libglib2.0-dev gtk-doc-tools libsexy-dev python-gtk2-dev python-dev
Building the package
- Build rhythmbox packages
Code:
dpkg-buildpackage -rfakeroot -us -uc
- Install new rhythbox
Code:
sudo dpkg -i ../rhythmbox_0.9.5-0ubuntu1_i386.deb
Removing the build dependencies
- If you installed debfoster as suggested in the beginning, you can now clear
all build dependencies by running debfoster again and answering p (as purge) for
all questions regarding to applications and libraries installed on build process.
- Remove/comment debian source repository from/etc/apt/sources.list
[edit]
I changed howto to use debian experimental repository instead, because
changelog contained some important build rules. There's also instructions
to apply launchpad integration pacthes if anyone wants to use the feature.
[edit 2]
- Added suggestion to build using pbuilder
- Changed to use debian unstable repository
- Removed confusing steps about applying launchpad integration patches
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Building music-applet from upstream repository
music-applet package hasn't landed on Ubuntu repositories yet, but
luckily we can use already debianized package directly from upsteam without any
modifications to debian/control or debian/rules. This way we don't have to start
from scratch.
This one of the nice benefits of Ubuntu being Debian derivation
You should use
pbuilder to build the package. Alternatively you can use
debfoster for tracking build dependencies as stated on post above.
- Insert Debian unstable repository in /etc/apt/sources.list
Code:
deb-src http://ftp.uk.debian.org/debian sid main contrib non-free
- Configure build environment like above, exept this time for music-applet
Code:
mkdir -p ~/packages/music-applet
cd ~/packages/music-applet
- Get the source package from debian unstable. At time of writing version was 0.9.2.
Don't use sudo while getting the source package! Before doing this, make sure
you're at the music-applet directory you created earlier.
Code:
sudo apt-get update && apt-get source music-applet
cd music-applet-0.9.2
- Open editor for changelog
- Insert your own build info and save the file
Code:
music-applet (0.9.2-0ubuntu1) unstable; urgency=low
* Ubuntunized
-- Fistname Lastname <yourname@yourmail.com> Wed, 21 Jun 2006 18:57:08 +0300
- Check build dependencies
Code:
dpkg-checkbuilddeps
Install any missing packages using aptitude or apt-get (like above). Version 0.9.2 required no changes
to debian/control regarding to dependencies.
- Build package (by default, this process will also build deprecated rhythmbox-applet, but can prevent this by
removing rhythmbox-applet package information from debian/control file. Removing isn't required though.)
Code:
dpkg-buildpackage -rfakeroot -us -uc
- Install music-applet
Code:
sudo dpkg -i ../music-applet_0.9.2-0ubuntu1_i386.deb
- Remove Debian unstable repository from /etc/apt/sources.list
- Clear build dependencies using debfoster
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Great howto. Bravo.=D>
If you want just to download and install the debs, you can find info here.
http://www.mikesplanet.net/?p=37
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Quote:
Originally Posted by Mike
Thanks Mike :)
New RB with all new features and bugfixes sure feels great!
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
I get this when I run dpkg-buildpackage -rfakeroot -us -uc
dpkg-buildpackage: source package is rhythmbox
dpkg-buildpackage: source version is 0.9.5-0ubuntu1
dpkg-buildpackage: source changed by X <X@localhost.localdomain>
dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean
/usr/bin/dpkg-buildpackage: line 175: fakeroot: command not found
Any Ideas?
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Quote:
Originally Posted by kupajava
I get this when I run dpkg-buildpackage -rfakeroot -us -uc
dpkg-buildpackage: source package is rhythmbox
dpkg-buildpackage: source version is 0.9.5-0ubuntu1
dpkg-buildpackage: source changed by X <X@localhost.localdomain>
dpkg-buildpackage: host architecture i386
fakeroot debian/rules clean
/usr/bin/dpkg-buildpackage: line 175: fakeroot: command not found
Any Ideas?
oops.. fakeroot package must be installed, I thought it was part of devscripts package. I'll update the requirements, thanks.
try doing
Code:
sudo aptitude install fakeroot
and then continue
/edit typo
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
spoke too soon, now I get this...
checking for RHYTHMBOX... configure: error: Package requirements ( gtk+-2.0 >= 2.6.0 libgnomeui-2.0 libglade-2.0 launchpad-integration gnome-vfs-2.0 >= 2.7.4 gnome-vfs-module-2.0) were not met:
Package glitz was not found in the pkg-config search path.
Perhaps you should add the directory containing `glitz.pc'
to the PKG_CONFIG_PATH environment variable
Package 'glitz', required by 'cairo', not found
Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.
Alternatively, you may set the environment variables RHYTHMBOX_CFLAGS
and RHYTHMBOX_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.
make: *** [config.status] Error 1
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
Quote:
Originally Posted by kupajava
spoke too soon, now I get this...
checking for RHYTHMBOX... configure: error: Package requirements ( gtk+-2.0 >= 2.6.0 libgnomeui-2.0 libglade-2.0 launchpad-integration gnome-vfs-2.0 >= 2.7.4 gnome-vfs-module-2.0) were not met:
Package glitz was not found in the pkg-config search path.
Perhaps you should add the directory containing `glitz.pc'
to the PKG_CONFIG_PATH environment variable
Package 'glitz', required by 'cairo', not found
[config.status] Error 1
hmm.. You're building this for Dapper right ?
Did you install all packages that were listed on "Installing required build dependencies" ?
There are total of 33 dependecy packages that you must install on that step.
I just tested building RB myself from clean table and everything worked as expected.
Re: Quick and dirty HOWTO for Rhythmbox 0.9.5 for Dapper
yep, definately using dapper and did cut and paste on every step.
is there a way to undo the whole process and start over? I imagine I must have done something wrong somewhere and maybe I can just clean it out and redo the whole thing.
Thanks!