First try

I never worked with OBS neither ever made any packages other than for myself. So I just decided to give it a try.

For my attempt I choose Ultimate++, an IDE for programming in C++ because

a) it is useful,
b) it is rather modern,
c) it is adapted for OpenSUSE and RPM,
d) it does not exist in any OpenSUSE repo.

I uploaded this file:
Download U++ from SourceForge.net

but OBS said the package in broken because there is no spec file. But thiere IS a spec file inside the archive. What am I doing wrong here?

Ansus wrote:
> What am I doing wrong here?

maybe didn’t spend enough time reading how to do it right?


palladium

Ansus wrote:
> but OBS said the package in broken because there is no spec file. But
> thiere IS a spec file inside the archive. What am I doing wrong here?

perhaps i posted too quickly–sorry, instead i probably should have asked:

Does the included spec file meet the requirements laid out in:

http://en.opensuse.org/Packaging/SUSE_Package_Conventions ?

that section is intended to help folks who are already experienced in
creating RPM packages to create packages that conform to SUSE
specifications…

what is your experience with creating RPM packages?

i believe experience is a requirement which might be satisfied by
reading, instruction, self-study and the clarifying of hazy sections
though pointed questions here (or in the mail list/IRC, as suggested)…

but, probably not by ‘trying’ as your subject indicates is your
current technique…

nor is it likely it come through asking: “What am I doing wrong here?”
and waiting for someone to point you to a comprehensive step-by-step
other than the one already available…


palladium

So it is impossible to add a tarball or a link to SVN?

Does the included spec file meet the requirements laid out in:

I do not know. OBS simply cannot find the spec file. I suppose, because it is inside the tarball.

Build Service/Tutorial - openSUSE

SUSE build tutorial - openSUSE

SUSE Package Conventions

Ansus wrote:
> So it is impossible to add a tarball or a link to SVN?

no idea, but i would guess the answer is within the documentation, or
in the previous experience you bring to this point:

http://en.opensuse.org/Build_Service


palladium

From the tutorial:

Get the project’s source files necessary to build the package. Most projects provide source files in compressed tarballs.

So I should unpack the tarball and upload all the files one by one?

Also from the tutorial (directly below):

Step Four - Get project source files

Get the project’s source files necessary to build the package. Most projects provide source files in compressed tarballs.

**Step Five - Create the spec file

Now that you have the source you follow the usual RPM creation process. Create a specfile for the package.**

But I think it boils down to this:

Prerequisites

You should have a general understanding about RPMs and how they are created (see also packaging conventions for SUSE), or else a similar understanding of another supported packaging system such as dpkg. This document is not meant to be a replacement for packaging documentation, which can be found at the above links.

So maybe you should start by learning how to build (openSUSE-)RPM packages in the first place (and do that locally) before you start with OBS.

Akoellh wrote:
> So maybe you should start by learning how to build (openSUSE-)RPM
> packages in the first place (and do that locally) before you start with
> OBS.

i mentioned that in a different way and was ignored…
lets see if the routine of ignore and try try try try try try etc
eventually produces an installable openSUSE package for Ultimate++.

when you say “do that locally” i believe you mean he should first
learn how to build RPM packages on his own machine, as is explained
here: http://en.opensuse.org/SUSE_Build_Tutorial


palladium

Now that you have the source you follow the usual RPM creation process. Create a specfile for the package.

THE TARBALL ALREADY INCLUDES THE SPEC FILE. I cannot understand why do you advise me to learn how to create spec files if one already exists. Did you read the tread?

So maybe you should start by learning how to build (openSUSE-)RPM packages in the first place (and do that locally) before you start with OBS.

I can easily build this package locally.

Ansus wrote:

> THE TARBALL ALREADY INCLUDES THE SPEC FILE.

i read that the first time you said it…

> I cannot understand why
> do you advise me to learn how to create spec files if one already
> exists. Did you read the tread?

is the spec file you have openSUSE specific?

or is it designed for (say) installation on a Red Hat system? or
CentOS? or Slackware? or Vector Linux? or just what is it setup for?

apparently you didn’t create or change it, did you? if so something
must be incorrect or you wouldn’t be having these problems…

> I can easily build this package locally.

ok, if you have built the RPM locally then what do you want to do with
it?

install it on your machine? or have it included in the repos, or what?


palladium

No, the tarball contains some SPEC file (as pointed out by palladium already).

The user palladium already told you why, twice by now.

Yes, but you obvoiusly didn’t read the documentation.

A “rpmbuild -tb whatever.tar.gz/bz2” is certainly not enough to get a result which can be distributed via OBS, very often it would not even be enough to get something that actually BUILDS in OBS.

is the spec file you have openSUSE specific?

The issue is that i CANNOT FIND the spec file inside the tarball. If to place spec file separately, it cannot process it, but cannot find the rest of source. It simply cannot open tarball. So I have to upload all the hundreeds of files inside the tarball manually.

install it on your machine? or have it included in the repos, or what?

How can I add an already built RPM to a repo in OBS?

The user palladium already told you why, twice by now.

And what if there IS a suitable SPEC file if OBS cannot locate the source inside the tarbal??? It is very disturbing to receive such comments, much worser than no comment at all.

Hi
Maybe you should look at codeblocks on the OBS??

Now, you need to unpack the source on you local machine to obtain the
spec file (On gnome i can rightclick and open with file-roller and
just exract the one file), which is what the other users are trying to
elude to. Then you can modify the spec file to meet your
requirements then upload to the OBS. Note you should at least bz2 the
file and modify the spec file Source0 entry.

I suggest you look at codeblocks, eclipse or netbeans…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.45-0.1-default
up 5 days 4:08, 4 users, load average: 0.16, 0.15, 0.17
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 190.53

Now, you need to unpack the source on you local machine to obtain the spec file

Yes, of course I can and I already did it and I already wrote here that I already did it! But aside the SPEC file I also have to unpack and upload manually all the other hundreds of files inside the tarball!!!

Because OBS cannot look inside a tarball. That is what I am saying about. Obviously nobody understands me because of my poor English.

Hi
Of course it can. Just upload the tarball and your modified spec
file, look at an example here;
https://build.opensuse.org/package/show?package=mudlet&project=home%3Amalcolmlewis%3AMiscellanous

There are source files, spec file, diff and rpmlintrc types here…


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.45-0.1-default
up 5 days 4:34, 4 users, load average: 1.30, 1.13, 0.63
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 190.53

Oh I see, I should specify source in the spec file, thank you. Even if I will not succeed, I now understand.

Hi
Have a look here;
https://build.opensuse.org/package/show?package=Ultimate%2B%2B&project=home%3Amalcolmlewis%3AMiscellanous


Cheers Malcolm °¿° (Linux Counter #276890)
SUSE Linux Enterprise Desktop 11 (x86_64) Kernel 2.6.27.45-0.1-default
up 6 days 2:50, 4 users, load average: 0.36, 0.23, 0.19
GPU GeForce 8600 GTS Silent - CUDA Driver Version: 190.53