On 09/27/2012 06:11 PM, András Murányi wrote:
On Thu, Sep 27, 2012 at 6:47 PM, Hans-Christoph Steiner hans@at.or.atwrote:
On 09/27/2012 10:30 AM, András Murányi wrote:
On Thu, Sep 27, 2012 at 1:20 AM, András Murányi muranyia@gmail.com
wrote:
On Sun, Sep 23, 2012 at 8:22 PM, Hans-Christoph Steiner <hans@at.or.at
wrote:
launchpad only builds packages for the Ubuntu releases, but you could
use
one of the Ubuntu packages on Debian if you find an Ubuntu release
that is
close to your Debian release.
I hear that OpenSUSE's build server will build Debian packages, but
I've
never used it. It would be very useful if someone set that up, I
think can
also build Fedora and SUSE packages.
I played around with OpenSUSE's OBS but it's not a success yet. It needs a something.spec file for building RPMs and a something.dsc
file
for DEBs. Both files serve to define a source package. For the spec file, I started from one well worked out for Planet CCRMA
by
Fernando Lopez-Lezcano. It's looking good for the OBS right now except
that
I'm struggling with the source definition, i.e. it doesn't seem to be
able
to grab the tar.gz from sourceforge. For the debian dsc file, I used Paul Brossier's one. The dsc is much simpler, but it cannot accept source urls, only local files. That's
where
OBS's so-called "Source Service" comes into the picture, which can
download
a tar.gz or even checkout an svn repo and tar.gz it for me. I'm
struggling
with this too, because (1) I'm unable to grab the resulting tar.gz from
the
dsc (it's created with an odd name that contains a colon) and (2) in the dsc an MD5 checksum of the tar.gz needs to be present which is unknown
in
the case of an archive newly created from SVN. I'll try to grow smarter with OBS, but in the meantime, any advice is highly appreciated. :)
Update: both source access problems are solved for now. The deb build at the moment is stuck at the point where it doesn't recognize the source package as a valid one. Dunno why. The rpm build got as far as where it would have needed mp3lame - seems
that
it's only available with Planet CCRMA (?). GEM builds fine. I'm playing around with conditionals for requires for different CPU capabilities, because OBS's spec file parser is somewhat limited. More news soon, hopefully.
Deb source packages are too tricky to create manually, use the Debian tools. If you are working from a git repo, like for puredata, the use "git-buildpackage -S". For any repo with the debian/ folder there, you can use "debuild -S"
You will need to change the debian/changelog to have your name and email in it, so that the signing part works, if opensuse requires signed packages. Launchpad, Debian, and Ubuntu all do.
At the very least, you'll want to do:
sudo apt-get install dpkg-dev devscripts debhelper cdbs
You can also download the source packages from the Debian or Ubuntu official packages, but they'll be signed by the original uploaders key. That wouldn't work with Launchpad but might with OBS, if it has looser signing restrictions.
Cool, I've actually paid less attention to the deb process on OBS knowing that it's already worked out and up-to-date somewhere else. I'll take a look at how I can reuse those packages. OBS doesn't need signed packages, an I haven't tried if it accepts packages signed by someone else.
It could be a useful way to provide Debian/squeeze packages.
If you want to try my new Pd-extended proper debian support, run:
$ ~/auto-build/pd-extended/scripts/auto-build/pd-extended-source-tarball.sh $ mv /tmp/Pd-extended_0.43.1~20120926-source.tar.bz2 ~/auto-build/pd-extended_0.43.1~20120926.orig.tar.bz2 $ cd ~/auto-build/pd-extended $ debuild -S -uc -us
Hm, I don't have this script yet in ~auto-build/ ... It seems it doesn't work if I just download it to any place along with its whole folder, but I cannot run it from the main run-automated-builder script either, because rsync cannot reach the server.
you need to get them from SVN:
cd ~/auto-build/pd-extended/scripts svn up cd .. svn up
The rsync method is gone for now, and perhaps permanently. I'm trying to see if I can make the cleaning process work without rsync.
(the -uc -us) means ignore the whole signing procedure, including the name in the debian/changelog)
Also, its great that you are taking on the spec file for RPMs! Once you
get 'puredata' working, then it would be very handy if you could make
one for the externals/template. Then it'll be easy to make RPMs for most of the libraries in Pd-extended, just like what's in Debian.
I've never made RPMs before, but I've done a lot of other packaging, so I'll help where I can.
Well, the deb thing is stuck at this line now:
dpkg-source: error: unrecognized file for a v1.0 source package: Pd-0.42.5-extended.tar.gz
The file is pulled from http://sourceforge.net/projects/pure-data/files/pd-extended/0.42.5/Pd-0.42.5... (It has a packages/linux_make/debian folder but still no good.) Is there a .tar.gz for pd-extended online which is suitable for deb packaging and I could link to it? I don't want to reinvent the wheel... BTW, Is there a Pd-0.42.5-extended-dev.deb (or alike) that I could study or use for parts?
The rpm is losing it here:
test -f /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs && cat /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs
/usr/bin/ld: cannot find -lmp3lameAs far as I understood lame-devel is not available in Fedora. How do I proceed?
András
For Debian/squeeze, we rely on the libmp3lame-dev that's in squeeze-backports. Previously, it was required that people downloaded it from deb-multimedia.org. I guess you'd need to get it from somewhere else, but I don't know enough about Fedora to say. Does PlanetCCRMA include lame? I think that would be the best place for dependencies.
I think it'll be a lot easier if you start with just 'puredata' and the libs based on the Library Template. Then once you get the hang of basic RPM packaging, you can take on the whole pd-extended, which can be painful. Also, I think that Pd-extended 0.43.1 will be a lot easier to package since I've fixed all of the problems that came up during the proper debian packaging.
.hc