vbox-runner on fedora 11
I just built my first RPM for fedora! w000t!
In this post I will document the steps I took to make it build. I’ll start from the very beginning.
Tools used:
yum groupinstall "Development Tools"
yum install rpmdevtools
as stated here.
Then I installed rpmlint because I wanted to check on my .spec file to make sure it was in good condition, usage:
rpmlint -i specfile
Ran rpmbuild-setuptree which will create an “rpmbuild” directory in your $HOME directory. Underneath “rpmbuild” are a set of subdirectories (such as SPECS and BUILD), which you will use for creating your packages. The “rpmdev-setuptree” also creates an “~/.rpmmacros” file which will cause rpm and rpmbuild to use them when appropriate. /quote
Got the source from Kde-Look and put it in ~/rpmbuild/SOURCES, and then cd to ~/rpmbuild/SPECS folder and ran
rpmdev-newspec vbox-runner
This creates the file vboxrunner.spec file, that need to be edited to suit the program. Since I had no idea about how to install a package without a configure and/or make file (this one doesn’t) I grabbed another file from the archlinux user repositories (AUR), because I have used that one before when I was using Archlinux, had a look at the PKGBUILD for clues of what to fill the spec file with.
This is the PKGBUILD:
Contributor: Jan Zitnik <jan@zitnik.org>
pkgname=vbox-runner
pkgver=0.2
pkgrel=1
arch=(i686 x86_64)
pkgdesc="Run Virtualbox machines in KRunner"
url="http://www.kde-look.org/content/show.php/VBox+Runner?content=107926"
license="GPL"
depends=('kdebase')
makedepends=('cmake' 'gcc' 'automoc4')
source=(http://www.kde-look.org/CONTENT/content-files/107926-vbox-runner-$pkgver.tar.gz)
md5sums=('0c9c34bed0001b17ee882a3764ef047d')
build() {
cd $startdir/src/vbox-runner-$pkgver
mkdir build
cd build
cmake ../ || return 1
make || return 1
make DESTDIR=$startdir/pkg install || return 1
And this is the vbox-runner.spec file before:
Name: test
Version:
Release: 1%{?dist}
Summary:
Group:
License:
URL:
Source0:
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:
Requires:
%description
%prep
%setup -q
%build
%configure
make %{?_smp_mflags}
%install
rm -rf $RPM_BUILD_ROOT
make install DESTDIR=$RPM_BUILD_ROOT
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc
%changelog
And the completed one, after I scratched my head a while:
Name: vbox-runner
Version: 0.2
Release: 1%{?dist}
Summary: Run Virtualbox machines in KRunner
Group: User Interface/Desktops
License: GPL
URL: http://www.kde-look.org/content/show.php/VBox+Runner?content=107926
Source0: http://www.kde-look.org/CONTENT/content-files/107926-vbox-runner-%{version}.tar.gz
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: cmake gcc automoc4 kdebase-devel
Requires: kdebase
%description
vbox-runner is a plugin for krunner, virtualbox machines can be started directly from krunner with this plugin.
%prep
%setup -q
%build
%install
rm -rf %{buildroot}
cmake -DCMAKE_INSTALL_PREFIX=/usr
make install DESTDIR=%{buildroot}
%clean
rm -rf %{buildroot}
%files
%defattr(-,root,root,-)
%doc
%{_libdir}/kde4/krunner_vbox.so
%{_datadir}/kde4/services/*.desktop
%{_datadir}/pixmaps/*
%changelog
* Sun Jul 26 2009 Magnus Tuominen magnus.tuominen@gmail.com 0.2-1
- Initial RPM for fedora.
The build will complain about some rpath issue with krunner_vbox.so so it has to be built with these options:
QA_RPATHS=$[0x0001|0x0010 ] rpmbuild -ba vbox-runner.spec
otherwise it will fail with this error message:
ERROR 0001: file '/usr/lib/kde4/krunner_vbox.so' contains a standard rpath '/usr/lib' in [/usr/lib:/usr/lib/kde4/devel]
error: Bad exit status from /var/tmp/rpm-tmp.gL6Psw (%install)
The result is this:
Pretty sweet huh?
You can grab the RPMs with the source from here.
http://rubbad.com/files/fedora/11/
Remember, all commands are to be run as user, except for the installation of the tools part, do NOT run these as root, ever!
Many thanks to Konqui and Jan Zitnik, whom without this would never had been built..
That's all folks! Comments and pointers appreciated, this is my first attempt at building RPMs after all, and I'm sure there are some things that could have been done differently?
UPDATE: version 0.2-2 is done, I fixed the issue with rpath and rebuilt the rpm according to the fedora package guidelines.
Added
chrpath --delete %{buildroot}%{_libdir}/kde4/krunner_vbox.so to the %install section in the spec file.
UPDATE2 version 0.2-3: addedd
%doc, %post, %postun and %find_lang to spec file.
UPDATE3 (heh) version 0.2-4 is done, now rpmlint and mock are really happy.
some changes to spec file to make rpmlint and mock happy.
Android
The Android livecd v.02 is out. I grabbed a copy from http://code.google.com/p/live-android/ and booted it up inside virtualbox to have a look.
Seems pretty sweet to me! Now I want a Android phone…
Settings to use for creating the virtualmachine should be Linux and Linux2.6, I gave it 256MB of memory and enabled 3d acceleration, but it surely works with far less than that.
I’m impressed and I’m looking forward to see how this develops!
VirtualBox 3.0 in Fedora 11
How to get VirtualBox 3.0 installed with USB support on Fedora 11.
We need to install a little something to get the module to actually build before we install Virtualbox.
As root:
# yum install dkms kernel-devel make automake autoconf gcc
Then install VirtualBox:
32bit:
# rpm -Uhv http://download.virtualbox.org/virtualbox/3.0.0/VirtualBox-3.0.0_49315_fedora11-1.i586.rpm
64bit
# rpm -Uhv http://download.virtualbox.org/virtualbox/3.0.0/VirtualBox-3.0.0_49315_fedora11-1.x86_64.rpm
Right, now for the usb part. Got to find out the Group ID for vboxusers now. Go to Administration -> Users and Groups.
Select the vboxusers group and press properties, add yourself to this group.
Now we just have to add this little line to /etc/fstab
none /sys/bus/usb/drivers usbfs devgid=501,devmode=664 0 0
note that 501 was the Group ID for vboxusers, which you are a member of, this grants you usb inside VirtualBox.
Now, reboot and try out your virtual boxes!
Thanks to readysleep for the fstab info!
Got to stop…
..My seemingly endless distrohopping.
If anyone’s got some tips how to stop hopping, please do share them! ![]()
Anywhoo I’m back to Ubuntu.
Gnome with Dust Sand theme. Still need to install vmware server 2 on the laptop, so I can study Windows servers + networking and AD and WSUS and Exchange and all the other buggy stuff. Vmware server 2 is good in the sense that it actually shares the NAT between virtual machines, unlike VirtualBox. Otherwise I’d use that. Vmware server 2 is fast run through a local net too, no mentionable lag as I first suspected there would be. Anyhow I’m just rambling, I’ll get back to my whiskey on the rocks now.
Thanks for reading.
Fedora 10 Preview #2
4 days until release! This release is gonna rock hard! Only issue I have is with pulseaudio, choppy sound for some strange reason, but other than that, nothing.
Just wating for virtualbox to support fedora 10 so I can test running CentOS using my favorite virtualization product. I haven’t tried installing it from the tar.gz yet
But on the other hand, I might just want to check out what is supported directly from fedora too… but not tonight.













