I have large project and I would like to create packages. OpenSuSE Build Service allows me to upload single source file instead tarball. I know, that .src.rpm are supported, but this is probably not normal tarball.
How to upload my sources?
I have large project and I would like to create packages. OpenSuSE Build Service allows me to upload single source file instead tarball. I know, that .src.rpm are supported, but this is probably not normal tarball.
How to upload my sources?
Look at all the other packages in the OBS. Source Tar Balls are widely used
So, I must to read how to create srpm.
You upload source (tar ball or files etc.) and a build description (RPM spec file or DPGK .dsc file etc.) and then the OBS builds binary (.rpm, .deb) and source packages (.srpm) for you.
I have got this message, when building rpm-s:
cp: cannot create regular file '/usr/local/lib64/libsell.so.1.0': Permission denied
The OBS builds as user not as root. You can only create directories/files in the rpm build root. See this example for details rpm: Using a build root
I have reached next step in my package build process, but there’s errors:
59s] RPMLINT report:
59s] ===============
60s] (none): E: badness 11200 exceeds threshold 1000, aborting.
60s] libsell.i586: W: shlib-policy-nonversioned-dir /usr/share/doc/packages/libsell
60s] Your shared library package contains non-versioned directories. Those will not
60s] allow to install multiple versions of the package in parallel.
60s]
60s] libsell.i586: E: shlib-policy-name-error (Badness: 10000) libsell1
60s] Your package contains a single shared library but is not named after its
60s] SONAME.
60s]
60s] libsell.i586: W: no-url-tag
60s] libsell.src: W: no-url-tag
60s] The URL tag is missing. Please add a http or ftp link to the project location.
60s]
60s] libsell.i586: W: no-changelogname-tag
60s] libsell.src: W: no-changelogname-tag
60s] There is no changelog. Please insert a '%changelog' section heading in your
60s] spec file and prepare your changes file using e.g. the 'osc vc' command.
60s]
60s] libsell.i586: E: library-without-ldconfig-postun (Badness: 300) /usr/lib/libsell.so.1.0
60s] libsell.i586: E: library-without-ldconfig-postun (Badness: 300) /usr/lib/libsell.so.1
60s] This package contains a library and provides no %postun scriptlet containing a
60s] call to ldconfig.
60s]
60s] libsell.i586: E: library-without-ldconfig-postin (Badness: 300) /usr/lib/libsell.so.1.0
60s] libsell.i586: E: library-without-ldconfig-postin (Badness: 300) /usr/lib/libsell.so.1
60s] This package contains a library and provides no %post scriptlet containing a
60s] call to ldconfig.
60s]
60s] libsell.i586: W: files-duplicate /usr/lib/libsell.so.1 /usr/lib/libsell.so:/usr/lib/libsell.so.1.0
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so.1.0
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so
60s] libsell.i586: I: binary-or-shlib-calls-gethostbyname /usr/lib/libsell.so.1
60s] The binary calls gethostbyname(). Please port the code to use getaddrinfo().
60s]
60s] 2 packages and 0 specfiles checked; 5 errors, 6 warnings.
60s]
60s] ### WATCHDOG MARKER START ###
63s] 47.440993] SysRq : Power Off
63s] 47.442601] reboot: Power down
75s] ### WATCHDOG MARKER END ###
Previously, when I didn’t create symlinks to my library, I have got another errors. My .spec file looks like this:
Name: libsell
Version: 0.0.1
Release: 1
License: LGPL-3.0
BuildRoot: %{_tmppath}/libsell
Summary: Simple extensible log library
Source: libsell.tar.gz
%description
Simple and extensible log library. Application can configure this library or order this library to read configuration variable called SELL_RULES. By setting SELL_RULES variable, user can filter messages, selecting output files, etc.
%prep
%setup -q
%build
make %{?_smp_mflags}
%install
mkdir -p $RPM_BUILD_ROOT/usr/%_lib
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so.1.0 $RPM_BUILD_ROOT/usr/%_lib/libsell.so.1.0
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so.1 $RPM_BUILD_ROOT/usr/%_lib/libsell.so.1
install -m755 $RPM_BUILD_DIR/libsell-0.0.1/libsell.so $RPM_BUILD_ROOT/usr/%_lib/libsell.so
%files
%defattr(-,root,root)
%doc LICENSE
/usr/%_lib/libsell.so.1.0
/usr/%_lib/libsell.so.1
/usr/%_lib/libsell.so
Thanks for help.
I saw the above post by incident. It is much better to start a new thread when you have a new problem. The title of the new thread should of course communicate the new problem. That is the best thing you can do to draw attention to your new problem. Hanging it at the end of an old one will not realy draw the attention of many people.