On Sat, Dec 14, 2013 at 5:06 AM, Dirk Brünig
Am 12.12.2013 21:50, schrieb Greg Freemyer:
On Thu, Dec 12, 2013 at 3:08 PM, Dirk Brünig
wrote: Hello
I try to packaging the mono application Tracer2Server for openSUSE.
https://build.opensuse.org/package/show/home:dBruenig:Tracer2Server/Tracer2S... But I still have some issues I don't understand.
1. EXE-File of mono application is not included The generation of i586 package ends with succeeded. But in the RPM file the tracer2server.exe is not included. I don't know way this happens. Because the compilation succeeded (13 warnings).
To be included the binary has to be both built and installed. You say the compile worked, so the install must not have.
Your specfile has:
===================================================== %install rm -rf $RPM_BUILD_ROOT make install DESTDIR=$RPM_BUILD_ROOT
#install -m 755 -d $RPM_BUILD_ROOT/%{_sbindir} #ln -s ../bin/trace2server $RPM_BUILD_ROOT/%{_sbindir} =====================================================
I found this in a spec file some were else.
It looks you (or someone) tried to explicitly install trace2server, but then changed their mind. That effort may have failed because "ln -s" makes a symbolic link which is not what you want in this case. You want the file to be copied. The typical explicit tool for that would be "install" without the -d argument on the second call.
This isn't working. install: missing destination file operand after '/home/abuild/rpmbuild/BUILDROOT/tracer2server-1.2-85.1.i386/usr/sbin'
Anyway, either "make install" has to but the binary in the final install location (eg. $RPM_BUILD_ROOT/%{_sbindir}) or you have to do it by calling "install" explicitly.
Can you give me a more detailed description how this can be done via install. Because the make file is generated by MonoDevelop. And I don't fond a switch to turn it on.
If you're going to package RPMs for openSUSE (or any linux) you will need to learn to read a man page (eg. man install) In this case this might work for you: #create the /usr/sbin directory install -m 755 -d $RPM_BUILD_ROOT/%{_sbindir} # put trace2server in /usr/sbin install -m 744 ../bin/trace2server $RPM_BUILD_ROOT/%{_sbindir} I picked 744 because 7 means read/write/execute for "root". The 4's mean read only for group and all. If this is going into /usr/sbin, then I assume it should be executable by root only. If it is should be executable by all, then it should go into %{_bindir} and have permissions 755. Also, I'm just assuming that ../bin/trace2server is the right place to find the pre-installed copy. Greg -- To unsubscribe, e-mail: opensuse-packaging+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-packaging+owner@opensuse.org