Mailinglist Archive: opensuse-buildservice (153 mails)

< Previous Next >
Re: AW: [opensuse-buildservice] Build C++ Files for different distributions
  • From: Edgar Aichinger <edogawa@xxxxxx>
  • Date: Tue, 25 Nov 2014 11:43:44 +0100
  • Message-id: <1433222.OUCY4mVeM0@edpc>
Am Dienstag, 25. November 2014, 10:13:56 schrieb Tobias Lauterbach:
Hi Stefan, hi Greg,

thank you very much for your reply.

With your help I managed to compile a hello World example with success on a
few distributions.
But I have two problems:


1. The built packages are empty. I guess I have to somehow add an instruction
how to build the package(define which binaries should be installed with the
package)?

have you looked at any other packages, as inspiration, yet?

You have to add an %install section, install (or copy) the built binary over to
$RPM_BUILDROOT%{_bindir}/hello_world_1, make sure its x-bit is set, and list
that in your %files section, with the path it will have when finally installed
to your system, i.e. %{_bindir}/hello_world_1.

My workspace:

https://build.opensuse.org/package/view_file/home:tol_qosmotec/helloWorld/helloWorld.spec?expand=1

https://build.opensuse.org/source/home:tol_qosmotec/helloWorld/helloWorld-1.tar.gz

2. Only CentOS Builds are started at the moment. The Debian and Ubuntu builds
are marked as "excluded". I haven´t figured out why yet. Do you have any idea?

Because Debian/Ubuntu packages are .deb packages that require different control
files than the spec you already have, again look at other projects/packages,
and watch out for additional debian files (usually there's a small tar.gz
holding a folder with meta information, and a .dsc file, the information in the
.spec file is spread across these)


One last thing for my understanding:
Do I have to create an archive of my sources every time? Cause on our build
server we have a source folder. I think it seems a bit unnecessary to do that
every time when it needs to be unpacked shortly after that in the build
distribution.

for a single .cpp file that might make sense, but i doubt you will continue
working on just a hello world example - imagine your software source tree
grows, has subdirs and hundreds of files in it... Even a small GUI application
usually consists of dozens of sources and quickly takes up a few hundred
kilobytes. also the tarball should have a versioned name, like
HelloWorld-0.0.1.tar.bz2 and accordingly a directory HelloWorld-0.0.1 inside -
a sort of convention to avoid future confusion, make this "release" unique and
distinguishable, and keep the packager's workflow easy ;)

2€cents,

Edgar

--
To unsubscribe, e-mail: opensuse-buildservice+unsubscribe@xxxxxxxxxxxx
To contact the owner, e-mail: opensuse-buildservice+owner@xxxxxxxxxxxx

< Previous Next >