<br><div class="gmail_quote">On Wed, Oct 17, 2012 at 2:04 AM, Hans-Christoph Steiner <span dir="ltr">&lt;<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>&gt;</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>
&gt; On Fri, Sep 28, 2012 at 9:24 PM, Hans-Christoph Steiner &lt;<a href="mailto:hans@at.or.at" target="_blank">hans@at.or.at</a>&gt;wrote:<br>
&gt;<br>
&gt;&gt; On 09/28/2012 12:10 PM, András Murányi wrote:<br>
&gt;&gt;&gt;&gt; It could be a useful way to provide Debian/squeeze packages.<br>
&gt;&gt;&gt;&gt;&gt;&gt; If you want to try my new Pd-extended proper debian support, run:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; $<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt; ~/auto-build/pd-extended/scripts/auto-build/pd-extended-source-tarball.sh<br>
&gt;&gt;&gt;&gt;&gt;&gt; $ mv /tmp/Pd-extended_0.43.1~20120926-source.tar.bz2<br>
&gt;&gt;&gt;&gt;&gt;&gt; ~/auto-build/pd-extended_0.43.1~20120926.orig.tar.bz2<br>
&gt;&gt;&gt;&gt;&gt;&gt; $ cd ~/auto-build/pd-extended<br>
&gt;&gt;&gt;&gt;&gt;&gt; $ debuild -S -uc -us<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Hm, I don&#39;t have this script yet in ~auto-build/ ... It seems it<br>
&gt;&gt; doesn&#39;t<br>
&gt;&gt;&gt;&gt;&gt; work if I just download it to any place along with its whole folder,<br>
&gt;&gt; but<br>
&gt;&gt;&gt;&gt; I<br>
&gt;&gt;&gt;&gt;&gt; cannot run it from the main run-automated-builder script either,<br>
&gt;&gt; because<br>
&gt;&gt;&gt;&gt;&gt; rsync cannot reach the server.<br>
&gt;&gt;&gt;&gt; you need to get them from SVN:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; cd ~/auto-build/pd-extended/scripts<br>
&gt;&gt;&gt;&gt; svn up<br>
&gt;&gt;&gt;&gt; cd ..<br>
&gt;&gt;&gt;&gt; svn up<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; That did the trick!<br>
&gt;&gt;&gt; The script itself didn&#39;t succeed at the first run but the third run<br>
&gt;&gt;&gt; completed clean.<br>
&gt;&gt;&gt; And it deletes the file at the end so I needed to copy it before it<br>
&gt;&gt;&gt; finished :o)<br>
&gt;&gt;<br>
&gt;&gt; I just committed some fixes for that. :)  But you can also get a source<br>
&gt;&gt; tarball that&#39;s generated each night:<br>
&gt;&gt;<br>
&gt;&gt; <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>
&gt;&gt;<br>
&gt;<br>
&gt; Cool. The only inconvenience is that the folder and the file name has the<br>
&gt; date so I cannot have the OBS pull the freshest one automatically. An url<br>
&gt; without &quot;variables&quot;, like<br>
&gt; /auto-build/latest/Pd-extended_0.43.4-source.debian.tar.bz2 would do the<br>
&gt; 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 &#39;s,^P,p,&#39; | sed &#39;s,-source,.orig,&#39;`<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&#39;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&#39;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>
&gt; BTW, would it be possible to make up the tar.gz which comes from<br>
&gt; sourceforge in a way that it has the proper /debian folder instead of the<br>
&gt; seemingly less proper /packages/linux_make/debian/? Why cannot it have all<br>
&gt; the superpower that the one from the auto-build repo has? Sorry, perhaps<br>
&gt; there is a reason, I&#39;m just too dumb for this source package business yet.<br>
<br>
</div>Done :)  That&#39;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>
&gt; Btw, /packages/redhat_rpm/pd-extended.spec in the source package seems<br>
&gt; outdated (Version: 0.39.2)... It&#39;s an earlier (2006) version of the spec<br>
&gt; file by Fernando Lopez-Lezcano. However, it has the advantage that it<br>
&gt; generates separate packages for the externals (if it still works), while<br>
&gt; the last (2010) version generated a core and an extra package only.<br>
<br>
</div>yeah, that&#39;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 &quot;extra&quot; 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>
&gt;&gt;&gt;&gt; The rsync method is gone for now, and perhaps permanently.  I&#39;m trying<br>
&gt;&gt;&gt;&gt; to see if I can make the cleaning process work without rsync.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; (the -uc -us) means ignore the whole signing procedure, including the<br>
&gt;&gt;&gt;&gt;&gt;&gt; name in the debian/changelog)<br>
&gt;&gt;&gt;&gt;&gt;&gt; Also, its great that you are taking on the spec file for RPMs!  Once<br>
&gt;&gt; you<br>
&gt;&gt;&gt;&gt;&gt; get &#39;puredata&#39; working, then it would be very handy if you could make<br>
&gt;&gt;&gt;&gt;&gt;&gt; one for the externals/template.  Then it&#39;ll be easy to make RPMs for<br>
&gt;&gt;&gt;&gt;&gt;&gt; most of the libraries in Pd-extended, just like what&#39;s in Debian.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ve never made RPMs before, but I&#39;ve done a lot of other packaging,<br>
&gt;&gt; so<br>
&gt;&gt;&gt;&gt;&gt;&gt; I&#39;ll help where I can.<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; Well, the deb thing is stuck at this line now:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; dpkg-source: error: unrecognized file for a v1.0 source package:<br>
&gt;&gt;&gt;&gt;&gt;&gt; Pd-0.42.5-extended.tar.gz<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The file is pulled from<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt; <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>



&gt;&gt;&gt;&gt;&gt; (It has a packages/linux_make/debian folder but still no good.)<br>
&gt;&gt;&gt;&gt;&gt; Is there a .tar.gz for pd-extended online which is suitable for deb<br>
&gt;&gt;&gt;&gt;&gt; packaging and I could link to it? I don&#39;t want to reinvent the wheel...<br>
&gt;&gt;&gt;&gt;&gt; BTW, Is there a Pd-0.42.5-extended-dev.deb (or alike) that I could<br>
&gt;&gt; study<br>
&gt;&gt;&gt;&gt; or<br>
&gt;&gt;&gt;&gt;&gt; use for parts?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; The rpm is losing it here:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; `test -f<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt; /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs<br>
&gt;&gt;&gt;&gt;&gt;&gt; &amp;&amp; cat<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt; /home/abuild/rpmbuild/BUILD/Pd-0.42.5-extended/externals/unauthorized/mp3live~/../linux/mp3streamin~.libs`<br>
&gt;&gt;&gt;&gt;&gt;&gt; /usr/bin/ld: cannot find -lmp3lame<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; As far as I understood lame-devel is not available in Fedora. How do I<br>
&gt;&gt;&gt;&gt;&gt; proceed?<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; András<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; For Debian/squeeze, we rely on the libmp3lame-dev that&#39;s in<br>
&gt;&gt;&gt;&gt; squeeze-backports.  Previously, it was required that people downloaded<br>
&gt;&gt;&gt;&gt; it from <a href="http://deb-multimedia.org" target="_blank">deb-multimedia.org</a>.  I guess you&#39;d need to get it from<br>
&gt;&gt; somewhere<br>
&gt;&gt;&gt;&gt; else, but I don&#39;t know enough about Fedora to say.  Does PlanetCCRMA<br>
&gt;&gt;&gt;&gt; include lame?  I think that would be the best place for dependencies.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; Planet CCRMA does have lame, but the OBS doesn&#39;t have Planet CCRMA.<br>
&gt;&gt;&gt; It is possible to fetch and build the lame sources into with pd but then<br>
&gt;&gt; we<br>
&gt;&gt;&gt; would have the lame binary bundled into pd which is not something we<br>
&gt;&gt; want,<br>
&gt;&gt;&gt; do we?<br>
&gt;&gt;&gt; So my best idea right now is to disable the external(s) that use lame.<br>
&gt;&gt;<br>
&gt;&gt; That&#39;s easiest for now.  I think only &#39;unauthorized&#39; and maybe &#39;iemlib&#39;<br>
&gt;&gt; require lame.<br>
&gt;&gt;<br>
&gt;<br>
&gt; I&#39;ve tried this in /externals/unauthorized/Makefile:<br>
&gt;<br>
&gt;&gt; TARGETS=$(filter-out $(wildcard mp3*/*.*),$(TARGETS))<br>
&gt;&gt;<br>
&gt; but it doesn&#39;t work. How can I effectively disable building<br>
&gt; /externals/unauthorized/mp3* ?<br>
<br>
<br>
</div></div>Try adding a test target to see why its not working:<br>
<br>
showtargets:<br>
        echo &quot;TARGETS $(TARGETS)&quot;<br>
        echo &quot;filter-out: $(filter-out $(wildcard mp3*/*.*),$(TARGETS))&quot;<br>
        echo &quot;mp3:  $(wildcard mp3*/*.*)&quot;<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&amp;package=pd-extended&amp;project=home%3Amuranyia1&amp;repository=Fedora_16">https://build.opensuse.org/package/rawlog?arch=i586&amp;package=pd-extended&amp;project=home%3Amuranyia1&amp;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>
&gt;&gt;&gt;&gt; I think it&#39;ll be a lot easier if you start with just &#39;puredata&#39; and the<br>
&gt;&gt;&gt;&gt; libs based on the Library Template.  Then once you get the hang of basic<br>
&gt;&gt;&gt;&gt; RPM packaging, you can take on the whole pd-extended, which can be<br>
&gt;&gt;&gt;&gt; painful.  Also, I think that Pd-extended 0.43.1 will be a lot easier to<br>
&gt;&gt;&gt;&gt; package since I&#39;ve fixed all of the problems that came up during the<br>
&gt;&gt;&gt;&gt; proper debian packaging.<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt; Well... I&#39;m actually enjoying RPM packaging, it&#39;s a nice compact thing<br>
&gt;&gt; with<br>
&gt;&gt;&gt; everything controlled from a single spec file, and at the moment the<br>
&gt;&gt;&gt; simpler way for me is to try to get pd-extended build, and to get into<br>
&gt;&gt; the<br>
&gt;&gt;&gt; Library Template, which I&#39;m completely unfamiliar with, at a later point.<br>
&gt;&gt;&gt; The problems which I&#39;m having are with some individual externals, but<br>
&gt;&gt; this<br>
&gt;&gt;&gt; way when I solve one, the next one comes up, so it&#39;s easy to go through<br>
&gt;&gt; all<br>
&gt;&gt;&gt; of them. At least I hope so.<br>
&gt;&gt;&gt; I&#39;d even say: let me finish packaging 0.42.5-extended as a monolith now<br>
&gt;&gt;&gt; (according to the original topic), and let&#39;s do 0.43 with the Library<br>
&gt;&gt;&gt; Template approach later. Is that OK?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Again, I&#39;m focusing more on the RPM side and I&#39;d by happy if I could<br>
&gt;&gt; feed a<br>
&gt;&gt;&gt; debian-ready source tar.gz to the OBS, and I&#39;d provide only the dsc. The<br>
&gt;&gt;&gt; less cool way is to upload a static file (like the one generated by<br>
&gt;&gt;&gt; pd-extended-source-tarball.sh), the more cool way would be to link to one<br>
&gt;&gt;&gt; which is online somewhere. Is there one?<br>
&gt;&gt;<br>
&gt;&gt; You should do it how you want to do it.  I suggested starting with the<br>
&gt;&gt; library template because I think it would be a lot easier, since the<br>
&gt;&gt; Makefile was custom made to work well with Debian packaging by providing<br>
&gt;&gt; very standard names for commands &quot;make clean&quot;, &quot;make&quot;, &quot;make install&quot;,<br>
&gt;&gt; &quot;make dist&quot;, etc.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt; I&#39;ve started to set up 0.43 too on the OBS and I&#39;ll definitely try to go<br>
&gt; into separating packages when I&#39;m there.<br>
&gt;<br>
&gt; I&#39;ll have to figure out how to handle the source (and MD5s!) for the debian<br>
&gt; builds and then I can evolve them along with the RPMs.<br>
&gt;<br>
&gt; If anyone wants to join the party, of course I&#39;ll be happy to add them as<br>
&gt; 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&amp;project=home%3Amuranyia1" target="_blank">https://build.opensuse.org/package/show?package=pd-extended&amp;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&amp;project=home%3Amuranyia1" target="_blank">https://build.opensuse.org/package/show?package=pd-extended_0.43&amp;project=home%3Amuranyia1</a><br>


I can add you to the project by OBS user name.<br clear="all"><br>András<br>