[Cs-dev] Scripts for creating Linux RPM package
Date | 2005-10-31 18:25 |
From | Istvan Varga |
Subject | [Cs-dev] Scripts for creating Linux RPM package |
I have committed the following files that can be used to create an RPM distribution of Csound 5 on Linux: csound5/installer/linux/csound.spec.in csound5/installer/linux/makespec.sh csound5/installer/linux/mkpackage.py Building the package consists of these steps (for a non-RPM distribution, only steps 1 to 4 are relevant): 1. enter the csound5 source directory 2. edit ./installer/linux/mkpackage.py to change settings 3. run ./installer/linux/mkpackage.py to compile Csound (this will take quite a while, as multiple different configurations are built). Once the build is complete, the directory ../__csound5 will contain the files to be packaged. 4. copy any required shared libraries that should be distributed with the package (e.g. libportaudio.so or libportmidi.so) to ../__csound5/usr/local/lib/Csound/lib 5. edit ./installer/linux/csound.spec.in to set RPM header information (do not change the last line) 6. run ./installer/linux/makespec to create the actual spec file for the new package 7. build the RPM file; this may depend on the distribution, the one I use requires running 'rpmbuild -bb csound.spec' and the package is written to /usr/src/packages/RPMS/i586 Note that these scripts are experimental, and will probably need some changes; any feedback and suggestions are welcome. Currently, the distribution includes Csound executables, plugins, utilities, API library (both static and shared), header files, csoundapi~ for PD, Python interface, string databases, and some documentation files. Most of the binaries are included with both single and double precision, with the exception of the PD object (always 32 bit) and the Python module (always 64 bit). An example file list: /usr/lib/pd/extra/csoundapi~.pd_linux /usr/lib/python/csnd.py /usr/lib/python/csnd.pyc /usr/lib/python/csnd.pyo /usr/lib/python/lib-dynload/_csnd.so /usr/local/bin/cs /usr/local/bin/csb64enc /usr/local/bin/csound /usr/local/bin/csound64 /usr/local/bin/cvanal /usr/local/bin/cvanal64 /usr/local/bin/dnoise /usr/local/bin/dnoise64 /usr/local/bin/envext /usr/local/bin/envext64 /usr/local/bin/extract /usr/local/bin/extractor /usr/local/bin/extractor64 /usr/local/bin/het_export /usr/local/bin/het_export64 /usr/local/bin/het_import /usr/local/bin/het_import64 /usr/local/bin/hetro /usr/local/bin/hetro64 /usr/local/bin/lpanal /usr/local/bin/lpanal64 /usr/local/bin/lpc_export /usr/local/bin/lpc_export64 /usr/local/bin/lpc_import /usr/local/bin/lpc_import64 /usr/local/bin/makecsd /usr/local/bin/mixer /usr/local/bin/mixer64 /usr/local/bin/pvanal /usr/local/bin/pvanal64 /usr/local/bin/pvlook /usr/local/bin/pvlook64 /usr/local/bin/scale /usr/local/bin/scale64 /usr/local/bin/scsort /usr/local/bin/sndinfo /usr/local/bin/sndinfo64 /usr/local/bin/srconv /usr/local/bin/srconv64 /usr/local/include/Csound/cfgvar.h /usr/local/include/Csound/CppSound.hpp /usr/local/include/Csound/cscore.h /usr/local/include/Csound/csdl.h /usr/local/include/Csound/csoundCore.h /usr/local/include/Csound/CsoundFile.hpp /usr/local/include/Csound/csound.h /usr/local/include/Csound/csound.hpp /usr/local/include/Csound/cwindow.h /usr/local/include/Csound/filebuilding.h /usr/local/include/Csound/msg_attr.h /usr/local/include/Csound/OpcodeBase.hpp /usr/local/include/Csound/pstream.h /usr/local/include/Csound/pvfileio.h /usr/local/include/Csound/soundio.h /usr/local/include/Csound/sysdep.h /usr/local/include/Csound/text.h /usr/local/include/Csound/version.h /usr/local/lib/Csound/bin/csound /usr/local/lib/Csound/bin/csound64 /usr/local/lib/Csound/plugins64/libambicode.so /usr/local/lib/Csound/plugins64/libbabo.so /usr/local/lib/Csound/plugins64/libbbcut.so /usr/local/lib/Csound/plugins64/libbiquad.so /usr/local/lib/Csound/plugins64/libbus.so /usr/local/lib/Csound/plugins64/libbutter.so /usr/local/lib/Csound/plugins64/libclfilt.so /usr/local/lib/Csound/plugins64/libcontrol.so /usr/local/lib/Csound/plugins64/libcross2.so /usr/local/lib/Csound/plugins64/libcvanal.so /usr/local/lib/Csound/plugins64/libdam.so /usr/local/lib/Csound/plugins64/libdcblockr.so /usr/local/lib/Csound/plugins64/libdnoise.so /usr/local/lib/Csound/plugins64/libdssi4cs.so /usr/local/lib/Csound/plugins64/libenvext.so /usr/local/lib/Csound/plugins64/libextractor.so /usr/local/lib/Csound/plugins64/libfilter.so /usr/local/lib/Csound/plugins64/libflanger.so /usr/local/lib/Csound/plugins64/libfluidOpcodes.so /usr/local/lib/Csound/plugins64/libfollow.so /usr/local/lib/Csound/plugins64/libfout.so /usr/local/lib/Csound/plugins64/libfreeverb.so /usr/local/lib/Csound/plugins64/libftconv.so /usr/local/lib/Csound/plugins64/libftest.so /usr/local/lib/Csound/plugins64/libftgen.so /usr/local/lib/Csound/plugins64/libgab_gab.so /usr/local/lib/Csound/plugins64/libgab_vectorial.so /usr/local/lib/Csound/plugins64/libgrain4.so /usr/local/lib/Csound/plugins64/libgrain.so /usr/local/lib/Csound/plugins64/libhet_export.so /usr/local/lib/Csound/plugins64/libhet_import.so /usr/local/lib/Csound/plugins64/libhetro.so /usr/local/lib/Csound/plugins64/libhrtferX.so /usr/local/lib/Csound/plugins64/libifd.so /usr/local/lib/Csound/plugins64/liblocsig.so /usr/local/lib/Csound/plugins64/liblowpassr.so /usr/local/lib/Csound/plugins64/liblpanal.so /usr/local/lib/Csound/plugins64/liblpc_export.so /usr/local/lib/Csound/plugins64/liblpc_import.so /usr/local/lib/Csound/plugins64/libmetro.so /usr/local/lib/Csound/plugins64/libmidiops2.so /usr/local/lib/Csound/plugins64/libmidiops3.so /usr/local/lib/Csound/plugins64/libmixer.so /usr/local/lib/Csound/plugins64/libmixer_util.so /usr/local/lib/Csound/plugins64/libmodal4.so /usr/local/lib/Csound/plugins64/libnewfils.so /usr/local/lib/Csound/plugins64/libnlfilt.so /usr/local/lib/Csound/plugins64/liboscbnk.so /usr/local/lib/Csound/plugins64/libosc.so /usr/local/lib/Csound/plugins64/libpartials.so /usr/local/lib/Csound/plugins64/libphisem.so /usr/local/lib/Csound/plugins64/libphysmod.so /usr/local/lib/Csound/plugins64/libpitch.so /usr/local/lib/Csound/plugins64/libpluck.so /usr/local/lib/Csound/plugins64/libpmidi.so /usr/local/lib/Csound/plugins64/libpsynth.so /usr/local/lib/Csound/plugins64/libpvanal.so /usr/local/lib/Csound/plugins64/libpvlook.so /usr/local/lib/Csound/plugins64/libpvsbasic.so /usr/local/lib/Csound/plugins64/libpvscent.so /usr/local/lib/Csound/plugins64/libpvsdemix.so /usr/local/lib/Csound/plugins64/libpy.so /usr/local/lib/Csound/plugins64/librepluck.so /usr/local/lib/Csound/plugins64/libreverbsc.so /usr/local/lib/Csound/plugins64/librtalsa.so /usr/local/lib/Csound/plugins64/librtjack.so /usr/local/lib/Csound/plugins64/librtpa.so /usr/local/lib/Csound/plugins64/libscale.so /usr/local/lib/Csound/plugins64/libscansyn.so /usr/local/lib/Csound/plugins64/libscansynx.so /usr/local/lib/Csound/plugins64/libseqtime.so /usr/local/lib/Csound/plugins64/libsfont.so /usr/local/lib/Csound/plugins64/libsndinfo.so /usr/local/lib/Csound/plugins64/libsndloop.so /usr/local/lib/Csound/plugins64/libsndwarp.so /usr/local/lib/Csound/plugins64/libspace.so /usr/local/lib/Csound/plugins64/libspat3d.so /usr/local/lib/Csound/plugins64/libsrconv.so /usr/local/lib/Csound/plugins64/libsyncgrain.so /usr/local/lib/Csound/plugins64/libugens7.so /usr/local/lib/Csound/plugins64/libugens9.so /usr/local/lib/Csound/plugins64/libugensa.so /usr/local/lib/Csound/plugins64/libuggab.so /usr/local/lib/Csound/plugins64/libugmoss.so /usr/local/lib/Csound/plugins64/libugnorman.so /usr/local/lib/Csound/plugins64/libugsc.so /usr/local/lib/Csound/plugins64/libwave-terrain.so /usr/local/lib/Csound/plugins64/libwidgets.so /usr/local/lib/Csound/plugins/libambicode.so /usr/local/lib/Csound/plugins/libbabo.so /usr/local/lib/Csound/plugins/libbbcut.so /usr/local/lib/Csound/plugins/libbiquad.so /usr/local/lib/Csound/plugins/libbus.so /usr/local/lib/Csound/plugins/libbutter.so /usr/local/lib/Csound/plugins/libclfilt.so /usr/local/lib/Csound/plugins/libcontrol.so /usr/local/lib/Csound/plugins/libcross2.so /usr/local/lib/Csound/plugins/libcvanal.so /usr/local/lib/Csound/plugins/libdam.so /usr/local/lib/Csound/plugins/libdcblockr.so /usr/local/lib/Csound/plugins/libdnoise.so /usr/local/lib/Csound/plugins/libdssi4cs.so /usr/local/lib/Csound/plugins/libenvext.so /usr/local/lib/Csound/plugins/libextractor.so /usr/local/lib/Csound/plugins/libfilter.so /usr/local/lib/Csound/plugins/libflanger.so /usr/local/lib/Csound/plugins/libfluidOpcodes.so /usr/local/lib/Csound/plugins/libfollow.so /usr/local/lib/Csound/plugins/libfout.so /usr/local/lib/Csound/plugins/libfreeverb.so /usr/local/lib/Csound/plugins/libftconv.so /usr/local/lib/Csound/plugins/libftest.so /usr/local/lib/Csound/plugins/libftgen.so /usr/local/lib/Csound/plugins/libgab_gab.so /usr/local/lib/Csound/plugins/libgab_vectorial.so /usr/local/lib/Csound/plugins/libgrain4.so /usr/local/lib/Csound/plugins/libgrain.so /usr/local/lib/Csound/plugins/libhet_export.so /usr/local/lib/Csound/plugins/libhet_import.so /usr/local/lib/Csound/plugins/libhetro.so /usr/local/lib/Csound/plugins/libhrtferX.so /usr/local/lib/Csound/plugins/libifd.so /usr/local/lib/Csound/plugins/liblocsig.so /usr/local/lib/Csound/plugins/liblowpassr.so /usr/local/lib/Csound/plugins/liblpanal.so /usr/local/lib/Csound/plugins/liblpc_export.so /usr/local/lib/Csound/plugins/liblpc_import.so /usr/local/lib/Csound/plugins/libmetro.so /usr/local/lib/Csound/plugins/libmidiops2.so /usr/local/lib/Csound/plugins/libmidiops3.so /usr/local/lib/Csound/plugins/libmixer.so /usr/local/lib/Csound/plugins/libmixer_util.so /usr/local/lib/Csound/plugins/libmodal4.so /usr/local/lib/Csound/plugins/libnewfils.so /usr/local/lib/Csound/plugins/libnlfilt.so /usr/local/lib/Csound/plugins/liboscbnk.so /usr/local/lib/Csound/plugins/libosc.so /usr/local/lib/Csound/plugins/libpartials.so /usr/local/lib/Csound/plugins/libphisem.so /usr/local/lib/Csound/plugins/libphysmod.so /usr/local/lib/Csound/plugins/libpitch.so /usr/local/lib/Csound/plugins/libpluck.so /usr/local/lib/Csound/plugins/libpmidi.so /usr/local/lib/Csound/plugins/libpsynth.so /usr/local/lib/Csound/plugins/libpvanal.so /usr/local/lib/Csound/plugins/libpvlook.so /usr/local/lib/Csound/plugins/libpvsbasic.so /usr/local/lib/Csound/plugins/libpvscent.so /usr/local/lib/Csound/plugins/libpvsdemix.so /usr/local/lib/Csound/plugins/libpy.so /usr/local/lib/Csound/plugins/librepluck.so /usr/local/lib/Csound/plugins/libreverbsc.so /usr/local/lib/Csound/plugins/librtalsa.so /usr/local/lib/Csound/plugins/librtjack.so /usr/local/lib/Csound/plugins/librtpa.so /usr/local/lib/Csound/plugins/libscale.so /usr/local/lib/Csound/plugins/libscansyn.so /usr/local/lib/Csound/plugins/libscansynx.so /usr/local/lib/Csound/plugins/libseqtime.so /usr/local/lib/Csound/plugins/libsfont.so /usr/local/lib/Csound/plugins/libsndinfo.so /usr/local/lib/Csound/plugins/libsndloop.so /usr/local/lib/Csound/plugins/libsndwarp.so /usr/local/lib/Csound/plugins/libspace.so /usr/local/lib/Csound/plugins/libspat3d.so /usr/local/lib/Csound/plugins/libsrconv.so /usr/local/lib/Csound/plugins/libsyncgrain.so /usr/local/lib/Csound/plugins/libugens7.so /usr/local/lib/Csound/plugins/libugens9.so /usr/local/lib/Csound/plugins/libugensa.so /usr/local/lib/Csound/plugins/libuggab.so /usr/local/lib/Csound/plugins/libugmoss.so /usr/local/lib/Csound/plugins/libugnorman.so /usr/local/lib/Csound/plugins/libugsc.so /usr/local/lib/Csound/plugins/libwave-terrain.so /usr/local/lib/Csound/plugins/libwidgets.so /usr/local/lib/Csound/xmg/American.xmg /usr/local/lib/Csound/xmg/csound.xmg /usr/local/lib/Csound/xmg/English.xmg /usr/local/lib/libcsound64.a /usr/local/lib/libcsound64.so /usr/local/lib/libcsound64.so.5.1 /usr/local/lib/libcsound.a /usr/local/lib/libcsound.so /usr/local/lib/libcsound.so.5.1 ------------------------------------------------------- This SF.Net email is sponsored by the JBoss Inc. Get Certified Today * Register for a JBoss Training Course Free Certification Exam for All Training Attendees Through End of 2005 Visit http://www.jboss.com/services/certification for more information _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2005-11-02 16:42 |
From | Istvan Varga |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Any comments ? Istvan Varga wrote: > I have committed the following files that can be used to create an > RPM distribution of Csound 5 on Linux: > > csound5/installer/linux/csound.spec.in > csound5/installer/linux/makespec.sh > csound5/installer/linux/mkpackage.py > > Building the package consists of these steps (for a non-RPM > distribution, only steps 1 to 4 are relevant): > > 1. enter the csound5 source directory > 2. edit ./installer/linux/mkpackage.py to change settings > 3. run ./installer/linux/mkpackage.py to compile Csound (this will > take quite a while, as multiple different configurations are > built). Once the build is complete, the directory ../__csound5 > will contain the files to be packaged. > 4. copy any required shared libraries that should be distributed with > the package (e.g. libportaudio.so or libportmidi.so) to > ../__csound5/usr/local/lib/Csound/lib > 5. edit ./installer/linux/csound.spec.in to set RPM header > information (do not change the last line) > 6. run ./installer/linux/makespec.sh to create the actual spec file > for the new package > 7. build the RPM file; this may depend on the distribution, the > one I use requires running 'rpmbuild -bb csound.spec' and the > package is written to /usr/src/packages/RPMS/i586 > > Note that these scripts are experimental, and will probably need > some changes; any feedback and suggestions are welcome. Currently, > the distribution includes Csound executables, plugins, utilities, > API library (both static and shared), header files, csoundapi~ for > PD, Python interface, string databases, and some documentation files. > Most of the binaries are included with both single and double > precision, with the exception of the PD object (always 32 bit) and > the Python module (always 64 bit). An example file list: > > ... ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |
Date | 2005-11-02 17:38 |
From | Istvan Varga |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Any comments ? Istvan Varga wrote: > I have committed the following files that can be used to create an > RPM distribution of Csound 5 on Linux: > > csound5/installer/linux/csound.spec.in > csound5/installer/linux/makespec.sh > csound5/installer/linux/mkpackage.py > > Building the package consists of these steps (for a non-RPM > distribution, only steps 1 to 4 are relevant): > > 1. enter the csound5 source directory > 2. edit ./installer/linux/mkpackage.py to change settings > 3. run ./installer/linux/mkpackage.py to compile Csound (this will > take quite a while, as multiple different configurations are > built). Once the build is complete, the directory ../__csound5 > will contain the files to be packaged. > 4. copy any required shared libraries that should be distributed with > the package (e.g. libportaudio.so or libportmidi.so) to > ../__csound5/usr/local/lib/Csound/lib > 5. edit ./installer/linux/csound.spec.in to set RPM header > information (do not change the last line) > 6. run ./installer/linux/makespec.sh to create the actual spec file > for the new package > 7. build the RPM file; this may depend on the distribution, the > one I use requires running 'rpmbuild -bb csound.spec' and the > package is written to /usr/src/packages/RPMS/i586 > > Note that these scripts are experimental, and will probably need > some changes; any feedback and suggestions are welcome. Currently, > the distribution includes Csound executables, plugins, utilities, > API library (both static and shared), header files, csoundapi~ for > PD, Python interface, string databases, and some documentation files. > Most of the binaries are included with both single and double > precision, with the exception of the PD object (always 32 bit) and > the Python module (always 64 bit). An example file list: > > ... |
Date | 2005-11-02 21:04 |
From | Steven Yi |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Attachments | None |
Date | 2005-11-03 04:44 |
From | Steven Yi |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Attachments | None |
Date | 2005-11-03 10:27 |
From | Istvan Varga |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Attachments | csound.spec.in |
Steven Yi wrote: > I'm not sure what to do for __package. Besides that, everything seems > to have gotten built just fine. I made some changes to installer/linux/csound.spec.in so that the directory is now explicitly created (apparently it was created automatically by rpmbuild on my distribution, so I did not get the error). The modified file is attached; it probably still needs some changes, and a better, more detailed package description text is also needed. By the way, are these directories correct on your distribution ? I somehow expect that they do not work everywhere. # csnd.py pythonDir = '/usr/lib/python' # _csnd.so pythonDir2 = '/usr/lib/python/lib-dynload' # csoundapi~.pd_linux pdDir = '/usr/lib/pd/extra' > One thought, I think I'd prefer to > have things installed into /usr/local/lib/csound (lowercase) rather > than .../Csound. It seems better to me to have: > > #include |
Date | 2005-11-03 17:34 |
From | Steven Yi |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Attachments | None |
Date | 2005-11-04 02:55 |
From | Steven Yi |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Attachments | None |
Date | 2005-11-04 10:21 |
From | Istvan Varga |
Subject | Re: [Cs-dev] Scripts for creating Linux RPM package |
Steven Yi wrote: > I managed to build and install an RPM. I had to change: > > # csnd.py > pythonDir = '/usr/lib/python' > # _csnd.so > pythonDir2 = '/usr/lib/python/lib-dynload' > > to: > > # csnd.py > pythonDir = '/usr/lib/python2.4' > # _csnd.so > pythonDir2 = '/usr/lib/python2.4/lib-dynload' I have /usr/lib/python2.3 and /usr/lib/python2.3/lib-dynload, but there is a symlink from python2.3 to python. However, it seems that not all distributions have the symlink. > Some notes: > > -lib_csnd.so was installed, but csnd.py was not (due to settings?) Perhaps it was not built for some reason (did you add 'pythonVersion=2.4' to buildOpts ?). > -csnd.jar was not made or installed (due to settings?) It is not included yet, as I do not have Java installed, and do not know exactly what files should be installed where. > -I think most RPM's install to /usr/lib, /usr/bin, etc. and when > installing, allow options to install to a different prefix (--prefix). > I think the spec needs to have some kind of option to take in the > prefix and default to /usr unless the user chooses otherwise The package is not relocatable yet, because there are hardcoded (although automatically generated from the settings in mkpackage.py) paths in some files, e.g. the shell scripts that launch Csound after setting OPCODEDIR and other environment variables. Also, the fact that there are modules included for other packages like PD or Python limits the possibility for relocations. Installing to /usr instead of /usr/local should be possible, but there is more risk of conflicting with other packages (for example, /usr/bin/sndinfo is also included with JACK). > -we might want to check out what they did for the Planet-CCRMA RPM of > your 4.24.1in terms of how the spec file looks Unfortunately, 4.24.1 is much simpler than Csound 5, particularly because it does not include extra stuff like PD object, wrappers, etc., only the standard Csound command line tools, and headers/libraries. So, it may not be sufficient for use as a base of a Csound 5 installation. > -I think I would much prefer "csound" over "Csound", partially a > reason of laziness when on the commandline shell navigating to those > directories, Well, I am fine with either "Csound" or "csound", so I will change it to "csound". ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ Csound-devel mailing list Csound-devel@lists.sourceforge.net |