View Full Version : EL6 - Mumble Packaging woes
schotty
6th May 2012, 05:42 PM
Greetings all,
I am moving from TS3 to mumble on my linode (prefer to go FLOSS when possible), and am digging it, however I am just about to shoot myself over getting the client working on my CentOS and RHEL workstations.
I figured to see what kind of hell this was going to be to start with the source packages and wow. I then moved onto cheating and peeking at what the Fedora team did, to see if I can reuse anything they had done, and I think I can. But that said, I am running into an issue with solving the deps of one package -- libspeechd.so's speech-dispatcher. It needs some systemd stuff. OK makes sense since F16 is using that now. But before I keep diving in, I was curious if anyone else had any tips for dealing with stuff like this.
It seems like this should be a good lesson in packaging, and doing it right. But I am curious if I am thinking wrong in stealing and modifying spec files from F16, and if I may be better off doing them off another or just building them up from scratch?
Thanks for the help, and I do appreciate any and all help. Its been nearly a decade since I have done any real packing up of anything, so I do feel a little out of step :D
Andrew.
Yellowman
9th May 2012, 12:33 AM
Greetings all,
I am moving from TS3 to mumble on my linode (prefer to go FLOSS when possible), and am digging it, however I am just about to shoot myself over getting the client working on my CentOS and RHEL workstations.
I figured to see what kind of hell this was going to be to start with the source packages and wow. I then moved onto cheating and peeking at what the Fedora team did, to see if I can reuse anything they had done, and I think I can. But that said, I am running into an issue with solving the deps of one package -- libspeechd.so's speech-dispatcher. It needs some systemd stuff. OK makes sense since F16 is using that now. But before I keep diving in, I was curious if anyone else had any tips for dealing with stuff like this.
It seems like this should be a good lesson in packaging, and doing it right. But I am curious if I am thinking wrong in stealing and modifying spec files from F16, and if I may be better off doing them off another or just building them up from scratch?
Thanks for the help, and I do appreciate any and all help. Its been nearly a decade since I have done any real packing up of anything, so I do feel a little out of step :D
Andrew.
Why try to build the F16 srpm? or do you like to make life harder for yourself :blink:
Do yourself a favour and build the F14 srpm instead
https://koji.fedoraproject.org/koji/buildinfo?buildID=244229
schotty
11th May 2012, 04:09 PM
Sorry for the slow reply.
Thanks for the F14 tip. I was thinking of matching up EL6 to the appropriate Fxx release while at work thinking about this the other night.
Now, I am making notes as I go along, and am currently getting the deps resolved for the deps, but I am chugging away nicely this morning as I type :D
Ill post back what I come up with and if any issues arise (probably :D ) beg for more charitable aid. As I alluded to (if not outright stated), its been what feels like forever since I had to do packaging, and never doing it this way. EL packages are a new beast for me, I used to do em for Fedora, but now most anything I could want is repo'ed up now. Not the case for EL6. Almost, but the one biggie for me has been mumble. I really don't want to stick with Teamspeak (closed source) if I don't need to.
Now if worse comes to worse, could I statically build a binary on Fedora, and get it to work ok on EL6 (Red Hat or CentOS) ? I really would prefer not to, but as it stands, I have a half dozen packages already, and I am not even done with half of the dependencies of the dependencies.
Thanks!
Andrew.
Yellowman
11th May 2012, 04:26 PM
Sorry for the slow reply.
Thanks for the F14 tip. I was thinking of matching up EL6 to the appropriate Fxx release while at work thinking about this the other night.
Now, I am making notes as I go along, and am currently getting the deps resolved for the deps, but I am chugging away nicely this morning as I type :D
Ill post back what I come up with and if any issues arise (probably :D ) beg for more charitable aid. As I alluded to (if not outright stated), its been what feels like forever since I had to do packaging, and never doing it this way. EL packages are a new beast for me, I used to do em for Fedora, but now most anything I could want is repo'ed up now. Not the case for EL6. Almost, but the one biggie for me has been mumble. I really don't want to stick with Teamspeak (closed source) if I don't need to.
Now if worse comes to worse, could I statically build a binary on Fedora, and get it to work ok on EL6 (Red Hat or CentOS) ? I really would prefer not to, but as it stands, I have a half dozen packages already, and I am not even done with half of the dependencies of the dependencies.
Thanks!
Andrew.
What's missing, you might get some of the missing deps from the fedora epel repo.
http://fedoraproject.org/wiki/EPEL
schotty
12th May 2012, 04:40 AM
Well for starters, looking at the deps for mumble itself, I needed to install epel and atrpms to get most of it there. Not terrible. But ICE and speech-dispatcher are missing out of the gate. I am running into a build issue with ICE itself right now. Havent looked into speech-dispatcher yet. Oh, and ICE had a half dozen missing deps that I was able to build off of F14 just fine.
---------- Post added at 10:40 PM ---------- Previous post was at 10:25 PM ----------
I fired up my build vm and here is what I got so far:
mumble requires:
qt-devel boost-devel ice-devel alsa-lib-devel alsa-oss-devel pulseaudio-libs-devel speex-devel speech-dispatcher-devel libogg-devel libcap-devel desktop-file-utils openssl-devel libXevie-devel celt-devel protobuf-compiler avahi-compat-libdns_sd-devel libsndfile-devel protobuf-devel
Of which on a stock EL6 install the following are NOT met:
ice-devel (f14)
alsa-oss-devel (ATrpms)
speech-dispatcher-devel (f14 speech-dispatcher package)
celt-devel (f14)
protobuf-compiler (epel)
deps for ice-devel:
db4-devel expat-devel bzip2-devel ant ant-nodeps jpackage-utils db4-java php php-devel ruby-devel python-devel mono-core mono-devel dos2unix java-1.6.0-openjdk-devel jgoodies-forms jgoodies-looks ruby libmcpp-devel ImageMagick
unresolved:
jgoodies-forms (f14)
And as mentioned I am running into a problem getting the ice srpm to rebuild,
make[1]: Leaving directory `/home/andrew/rpmbuild/BUILD/Ice-3.4.0/php'
+ mkdir -p /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java
+ mv /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/lib/ant-ice.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/ant-ice-3.4.0.jar
+ ln -s ant-ice-3.4.0.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/ant-ice.jar
+ mv /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/lib/Ice.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/Ice-3.4.0.jar
+ ln -s Ice-3.4.0.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/Ice.jar
+ mv /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/lib/Freeze.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/Freeze-3.4.0.jar
+ ln -s Freeze-3.4.0.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/java/Freeze.jar
+ mkdir -p /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/Ice-3.4.0
+ mv /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/lib/IceGridGUI.jar /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/Ice-3.4.0
+ mkdir -p /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/icons/hicolor/48x48/apps/
+ cp -p /home/andrew/rpmbuild/BUILD/Ice-3.4.0/java/resources/icons/icegrid.png /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/icons/hicolor/48x48/apps/
+ mkdir -p /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/bin
+ cp -p /home/andrew/rpmbuild/SOURCES/icegridgui /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/bin
+ sed -i -e s#DIR#/usr/share/Ice-3.4.0# /home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/bin/icegridgui
+ desktop-file-install --dir=/home/andrew/rpmbuild/BUILDROOT/ice-3.4.0-3.fc14.x86_64/usr/share/applications --vendor = zeroc /home/andrew/rpmbuild/SOURCES/IceGridAdmin.desktop
Error on file "zeroc": No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.5Ylx92 (%install)
RPM build errors:
InstallSourcePackage at: psm.c:244: Header V4 DSA/SHA1 Signature, key ID fdb36b03: NOKEY
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
user mockbuild does not exist - using root
group mockbuild does not exist - using root
Bad exit status from /var/tmp/rpm-tmp.5Ylx92 (%install)
So I snagged the F14 srpm and looked at what the deps were with rpm, and went and retrieved all of that, either thru yum or srpms themselves which in turn were built first. I presume that is the proper way to make the parent package, correct?
I figured that the last little chunk of user/group stuff isn't a huge deal. Am I wrong there too?
schotty
23rd May 2012, 05:28 PM
OK since ice was the only thing holding me up, I hitup their forums and found that they host their own repo for all the needed stuff for ice. Although I had to try a rebuild (and it failed), I am done now. Once I get how to setup a repo figured out, I will share my rpms I rolled and instructions as to how to get it to run.
vBulletin® v3.8.7, Copyright ©2000-2013, vBulletin Solutions, Inc.