<br><div class="gmail_quote">On Wed, Oct 17, 2012 at 2:04 AM, Hans-Christoph Steiner <span dir="ltr"><<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>On 10/16/2012 06:23 PM, András Murányi wrote:<br>
> On Fri, Sep 28, 2012 at 9:24 PM, Hans-Christoph Steiner <<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>>wrote:<br>
><br>
>> On 09/28/2012 12:10 PM, András Murányi wrote:<br>
>>>> It could be a useful way to provide Debian/squeeze packages.<br>
>>>>>> If you want to try my new Pd-extended proper debian support, run:<br>
>>>>>><br>
>>>>>> $<br>
>>>><br>
>> ~/auto-build/pd-extended/scripts/auto-build/pd-extended-source-tarball.sh<br>
>>>>>> $ mv /tmp/Pd-extended_0.43.1~20120926-source.tar.bz2<br>
>>>>>> ~/auto-build/pd-extended_0.43.1~20120926.orig.tar.bz2<br>
>>>>>> $ cd ~/auto-build/pd-extended<br>
>>>>>> $ debuild -S -uc -us<br>
>>>>>><br>
>>>>> Hm, I don't have this script yet in ~auto-build/ ... It seems it<br>
>> doesn't<br>
>>>>> work if I just download it to any place along with its whole folder,<br>
>> but<br>
>>>> I<br>
>>>>> cannot run it from the main run-automated-builder script either,<br>
>> because<br>
>>>>> rsync cannot reach the server.<br>
>>>> you need to get them from SVN:<br>
>>>><br>
>>>> cd ~/auto-build/pd-extended/scripts<br>
>>>> svn up<br>
>>>> cd ..<br>
>>>> svn up<br>
>>>><br>
>>> That did the trick!<br>
>>> The script itself didn't succeed at the first run but the third run<br>
>>> completed clean.<br>
>>> And it deletes the file at the end so I needed to copy it before it<br>
>>> finished :o)<br>
>><br>
>> I just committed some fixes for that. :) But you can also get a source<br>
>> tarball that's generated each night:<br>
>><br>
>> <a href="http://blinky.at.or.at/auto-build/2012-09-28/" target="_blank">http://blinky.at.or.at/auto-build/2012-09-28/</a><br>
>><br>
><br>
> Cool. The only inconvenience is that the folder and the file name has the<br>
> date so I cannot have the OBS pull the freshest one automatically. An url<br>
> without "variables", like<br>
> /auto-build/latest/Pd-extended_0.43.4-source.debian.tar.bz2 would do the<br>
> trick...<br>
<br>
</div></div>I do this with a script in Jenkins:<br>
<br>
#!/bin/sh<br>
<br>
VERSION=0.43.4<br>
DEBIAN_SOURCE_DATE=`date +%Y%m%d`<br>
URL_DATE=`date +%Y-%m-%d`<br>
ORIG=Pd-extended_${VERSION}~$DEBIAN_SOURCE_DATE-source.tar.bz2<br>
DEBIAN=Pd-extended_${VERSION}~$DEBIAN_SOURCE_DATE-source.debian.tar.bz2<br>
<br>
wget <a href="http://blinky.at.or.at:8888/auto-build/$URL_DATE/$%7BORIG%7D" target="_blank">http://blinky.at.or.at:8888/auto-build/$URL_DATE/${ORIG}</a><br>
wget <a href="http://blinky.at.or.at:8888/auto-build/$URL_DATE/$%7BORIG%7D.md5" target="_blank">http://blinky.at.or.at:8888/auto-build/$URL_DATE/${ORIG}.md5</a><br>
wget <a href="http://blinky.at.or.at:8888/auto-build/$URL_DATE/$%7BDEBIAN%7D" target="_blank">http://blinky.at.or.at:8888/auto-build/$URL_DATE/${DEBIAN}</a><br>
wget <a href="http://blinky.at.or.at:8888/auto-build/$URL_DATE/$%7BDEBIAN%7D.md5md5sum" target="_blank">http://blinky.at.or.at:8888/auto-build/$URL_DATE/${DEBIAN}.md5<br>
md5sum</a> -c ${ORIG}.md5<br>
md5sum -c ${DEBIAN}.md5<br>
ln -s $ORIG `echo $ORIG | sed 's,^P,p,' | sed 's,-source,.orig,'`<br>
tar xjf ${ORIG}<br>
cd pd-extended<br>
tar xjf ../${DEBIAN}<br>
debuild -uc -us<br>
<div><br></div></blockquote><div><br>Eh, I don't see a way do do this on the OBS. For the record, these are the operations allowed on sources:<br><br>Convert non-tar-archives to tar.gz<br>Automated packaging of via maven central<br>
Download files as specified in spec file<br>Create spec file for cpan sources<br>Extract files from archive<br>Verify a file<br>Create a tar ball from SCM repository<br>Updates version in spec file<br>Change File Compression<br>
Download and extract a src.rpm<br>Update sources<br>Download a file<br>Validate sources<br>Format the spec files<br><br>The source has to be either online with a static name, or in an SCM tree, or a statically uploaded file.<br>
I think I'll have to go with the latter now.<br><br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
<br>
> BTW, would it be possible to make up the tar.gz which comes from<br>
> sourceforge in a way that it has the proper /debian folder instead of the<br>
> seemingly less proper /packages/linux_make/debian/? Why cannot it have all<br>
> the superpower that the one from the auto-build repo has? Sorry, perhaps<br>
> there is a reason, I'm just too dumb for this source package business yet.<br>
<br>
</div>Done :) That's what the Pd-extended*-source.debian.tar.bz2 tarball is.<br>
Its also checked into pure-data SVN in the pd-extended/0.43 branch, and<br>
will ultimately wind up in trunk/debian.<br>
<div><br>
<br>
> Btw, /packages/redhat_rpm/pd-extended.spec in the source package seems<br>
> outdated (Version: 0.39.2)... It's an earlier (2006) version of the spec<br>
> file by Fernando Lopez-Lezcano. However, it has the advantage that it<br>
> generates separate packages for the externals (if it still works), while<br>
> the last (2010) version generated a core and an extra package only.<br>
<br>
</div>yeah, that's quite old. Can you get the latest from Fernando?<br></blockquote><div><br>The latest is the 2010 one which he used with FC17/PlanetCCRMA, which I used as a template for the OBS. Find it in the source RPM here:<br>
<a href="http://rpm.pbone.net/index.php3/stat/4/idpl/18289555/dir/fedora_17/com/pd-extended-debuginfo-0.42.5-2.fc17.ccrma.i686.rpm.html" target="_blank">http://rpm.pbone.net/index.php3/stat/4/idpl/18289555/dir/fedora_17/com/pd-extended-debuginfo-0.42.5-2.fc17.ccrma.i686.rpm.html</a><br>
<br>Again, this creates a core package plus a separate "extra" package. If you prefer the monolithic package and some improvements, use mine from the OBS (address at the end of the mail).<br> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>
<br>
>>>> The rsync method is gone for now, and perhaps permanently. I'm trying<br>
>>>> to see if I can make the cleaning process work without rsync.<br>
>>>><br>
>>>>>> (the -uc -us) means ignore the whole signing procedure, including the<br>
>>>>>> name in the debian/changelog)<br>
>>>>>> Also, its great that you are taking on the spec file for RPMs! Once<br>
>> you<br>
>>>>> get 'puredata' working, then it would be very handy if you could make<br>
>>>>>> one for the externals/template. Then it'll be easy to make RPMs for<br>
>>>>>> most of the libraries in Pd-extended, just like what's in Debian.<br>
>>>>>><br>
>>>>>> I've never made RPMs before, but I've done a lot of other packaging,<br>
>> so<br>
>>>>>> I'll help where I can.<br>
>>>>>><br>
>>>>> Well, the deb thing is stuck at this line now:<br>
>>>>><br>
>>>>>> dpkg-source: error: unrecognized file for a v1.0 source package:<br>
>>>>>> Pd-0.42.5-extended.tar.gz<br>
>>>>>><br>
>>>>> The file is pulled from<br>
>>>>><br>
>>>><br>
>> <a href="http://sourceforge.net/projects/pure-data/files/pd-extended/0.42.5/Pd-0.42.5-extended.tar.gz" target="_blank">http://sourceforge.net/projects/pure-data/files/pd-extended/0.42.5/Pd-0.42.5-extended.tar.gz</a><br>
>>>>> (It has a packages/linux_make/debian folder but still no good.)<br>
>>>>> Is there a .tar.gz for pd-extended online which is suitable for deb<br>
>>>>> packaging and I could link to it? I don't want to reinvent the wheel...<br>
>>>>> BTW, Is there a Pd-0.42.5-extended-dev.deb (or alike) that I could<br>
>> study<br>
>>>> or<br>
>>>>> use for parts?<br>
>>>>><br>
>>>>> The rpm is losing it here:<br>
>>>>><br>
>>>>>> `test -f<br>
>>>>>><br>
>>>><br>
>> /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs<br>
>>>>>> && cat<br>
>>>>>><br>
>>>><br>
>> /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs`<br>
>>>>>> /usr/bin/ld: cannot find -lmp3lame<br>
>>>>>><br>
>>>>> As far as I understood lame-devel is not available in Fedora. How do I<br>
>>>>> proceed?<br>
>>>>><br>
>>>>> András<br>
>>>>><br>
>>>> For Debian/squeeze, we rely on the libmp3lame-dev that's in<br>
>>>> squeeze-backports. Previously, it was required that people downloaded<br>
>>>> it from <a href="http://deb-multimedia.org" target="_blank">deb-multimedia.org</a>. I guess you'd need to get it from<br>
>> somewhere<br>
>>>> else, but I don't know enough about Fedora to say. Does PlanetCCRMA<br>
>>>> include lame? I think that would be the best place for dependencies.<br>
>>>><br>
>>> Planet CCRMA does have lame, but the OBS doesn't have Planet CCRMA.<br>
>>> It is possible to fetch and build the lame sources into with pd but then<br>
>> we<br>
>>> would have the lame binary bundled into pd which is not something we<br>
>> want,<br>
>>> do we?<br>
>>> So my best idea right now is to disable the external(s) that use lame.<br>
>><br>
>> That's easiest for now. I think only 'unauthorized' and maybe 'iemlib'<br>
>> require lame.<br>
>><br>
><br>
> I've tried this in /externals/unauthorized/Makefile:<br>
><br>
>> TARGETS=$(filter-out $(wildcard mp3*/*.*),$(TARGETS))<br>
>><br>
> but it doesn't work. How can I effectively disable building<br>
> /externals/unauthorized/mp3* ?<br>
<br>
<br>
</div></div>Try adding a test target to see why its not working:<br>
<br>
showtargets:<br>
echo "TARGETS $(TARGETS)"<br>
echo "filter-out: $(filter-out $(wildcard mp3*/*.*),$(TARGETS))"<br>
echo "mp3: $(wildcard mp3*/*.*)"<br>
<div><div><br></div></div></blockquote><div><br>Thanks for the tip!<br>Turned out that wildcard is not like sed, but it always works on the file list of the working directory, so it has to be used earlier, like this:<br>
TARGETS=$(subst .tk,.tk2c,$(wildcard */*.tk)) $(subst .c,.$(EXT),$(filter-out $(wildcard mp3*/*.*),$(wildcard */*.c)))<br><br>This sets TARGETS as desired but the mp3 externals are still built - it seems that they are enumerated long before /externals/unauthorized/Makefile is used. (see <a href="https://build.opensuse.org/package/rawlog?arch=i586&package=pd-extended&project=home%3Amuranyia1&repository=Fedora_16">https://build.opensuse.org/package/rawlog?arch=i586&package=pd-extended&project=home%3Amuranyia1&repository=Fedora_16</a>) I shall test if this is OBS specific.<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div>
<br>
>>>> I think it'll be a lot easier if you start with just 'puredata' and the<br>
>>>> libs based on the Library Template. Then once you get the hang of basic<br>
>>>> RPM packaging, you can take on the whole pd-extended, which can be<br>
>>>> painful. Also, I think that Pd-extended 0.43.1 will be a lot easier to<br>
>>>> package since I've fixed all of the problems that came up during the<br>
>>>> proper debian packaging.<br>
>>>><br>
>>>><br>
>>> Well... I'm actually enjoying RPM packaging, it's a nice compact thing<br>
>> with<br>
>>> everything controlled from a single spec file, and at the moment the<br>
>>> simpler way for me is to try to get pd-extended build, and to get into<br>
>> the<br>
>>> Library Template, which I'm completely unfamiliar with, at a later point.<br>
>>> The problems which I'm having are with some individual externals, but<br>
>> this<br>
>>> way when I solve one, the next one comes up, so it's easy to go through<br>
>> all<br>
>>> of them. At least I hope so.<br>
>>> I'd even say: let me finish packaging 0.42.5-extended as a monolith now<br>
>>> (according to the original topic), and let's do 0.43 with the Library<br>
>>> Template approach later. Is that OK?<br>
>>><br>
>>> Again, I'm focusing more on the RPM side and I'd by happy if I could<br>
>> feed a<br>
>>> debian-ready source tar.gz to the OBS, and I'd provide only the dsc. The<br>
>>> less cool way is to upload a static file (like the one generated by<br>
>>> pd-extended-source-tarball.sh), the more cool way would be to link to one<br>
>>> which is online somewhere. Is there one?<br>
>><br>
>> You should do it how you want to do it. I suggested starting with the<br>
>> library template because I think it would be a lot easier, since the<br>
>> Makefile was custom made to work well with Debian packaging by providing<br>
>> very standard names for commands "make clean", "make", "make install",<br>
>> "make dist", etc.<br>
>><br>
>><br>
> I've started to set up 0.43 too on the OBS and I'll definitely try to go<br>
> into separating packages when I'm there.<br>
><br>
> I'll have to figure out how to handle the source (and MD5s!) for the debian<br>
> builds and then I can evolve them along with the RPMs.<br>
><br>
> If anyone wants to join the party, of course I'll be happy to add them as<br>
> admins.<br>
<br>
<br>
</div></div>Is there a link to the OBS service so we can see it?<br>
<span><font color="#888888"></font></span><br></blockquote></div><br>For 0.42.5:<br><a href="https://build.opensuse.org/package/show?package=pd-extended&project=home%3Amuranyia1" target="_blank">https://build.opensuse.org/package/show?package=pd-extended&project=home%3Amuranyia1</a><br>
For 0.43 (not much to see there yet):<br><a href="https://build.opensuse.org/package/show?package=pd-extended_0.43&project=home%3Amuranyia1" target="_blank">https://build.opensuse.org/package/show?package=pd-extended_0.43&project=home%3Amuranyia1</a><br>
I can add you to the project by OBS user name.<br clear="all"><br>András<br>