Re: Rpm: provide a static library in package

2022-02-25 Thread Demi Marie Obenour
On 2/22/22 19:47, Kevin Kofler via devel wrote:
> Denis Fateyev wrote:
>> The "ustl" upstream, for which I maintain the RPM package, has recently
>> switched from providing a shared library to a static library.
> 
> Generally, you do not want to follow such a change, but force the build 
> system to build a shared library instead, even if it is not the upstream 
> default.
> 
> Kevin Kofler

Would uSockets be an exception?  That is designed to be used as a
static library with link-time optimization, so that trivial functions
(such as struct getters) can be inlined into users of the library.
Not doing so is (according to their documentation) a huge performance
hit.  That said, should such a library just be shipped as source code?

-- 
Sincerely,
Demi Marie Obenour (she/her/hers)

OpenPGP_0xB288B55FFF9C22C1.asc
Description: OpenPGP public key


OpenPGP_signature
Description: OpenPGP digital signature
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Rpm: provide a static library in package

2022-02-23 Thread Vitaly Zaitsev via devel

On 23/02/2022 02:05, Denis Fateyev wrote:
Unfortunately, the shared library support is explicitly removed by the 
upstream:


You can revert this commit with a downstream patch.


I believe it's not worth to work around this behavior additionally.


From README:

> This library is obsolete. Please use the official gcc C++ standard 
library.


--
Sincerely,
  Vitaly Zaitsev (vit...@easycoding.org)
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Rpm: provide a static library in package

2022-02-23 Thread Vitaly Zaitsev via devel

On 22/02/2022 19:57, Denis Fateyev wrote:
So I'm going to make changes in the package, and provide everything in 
"-devel" subpackage.


No. You must patch the build manifest and force building as a shared 
library, regardless of the upstream choice.


https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries

--
Sincerely,
  Vitaly Zaitsev (vit...@easycoding.org)
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Rpm: provide a static library in package

2022-02-22 Thread Kevin Kofler via devel
Denis Fateyev wrote:
> Unfortunately, the shared library support is explicitly removed by the
> upstream:
> https://github.com/msharov/ustl/issues/100#issuecomment-1040553883
> 
https://github.com/msharov/ustl/commit/7366ab143d9bd0f48c59931c0c58529eb5179c27

This is just lame. I do not understand the explanation at all, since I do 
not see any scenario in which the static library makes things easier for the 
consumer of the library. I have added a commit comment saying so.

And the fact that the library building code is handwritten is a WTF by 
itself. With any reasonable build system, changing a library from static to 
shared is at most a one-line change. But upstream's build system is not 
reasonable.

> As an alternative, I can orphan the "ustl" package in rawhide — I haven't
> checked yet, but suspect that it's not used by other packages nowadays.

Well, if that is the case, considering that upstream themselves consider the 
library obsolete, I guess it is fine to orphan it and let it be retired 
eventually.

Kevin Kofler
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Rpm: provide a static library in package

2022-02-22 Thread Denis Fateyev
On Wed, Feb 23, 2022 at 6:47 AM Kevin Kofler via devel <
devel@lists.fedoraproject.org> wrote:

> Denis Fateyev wrote:
> > The "ustl" upstream, for which I maintain the RPM package, has recently
> > switched from providing a shared library to a static library.
>
> Generally, you do not want to follow such a change, but force the build
> system to build a shared library instead, even if it is not the upstream
> default.
>

Unfortunately, the shared library support is explicitly removed by the
upstream:
https://github.com/msharov/ustl/issues/100#issuecomment-1040553883
https://github.com/msharov/ustl/commit/7366ab143d9bd0f48c59931c0c58529eb5179c27

I believe it's not worth to work around this behavior additionally.

As an alternative, I can orphan the "ustl" package in rawhide — I haven't
checked yet, but suspect that it's not used by other packages nowadays.

-- 
wbr, Denis.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Re: Rpm: provide a static library in package

2022-02-22 Thread Kevin Kofler via devel
Denis Fateyev wrote:
> The "ustl" upstream, for which I maintain the RPM package, has recently
> switched from providing a shared library to a static library.

Generally, you do not want to follow such a change, but force the build 
system to build a shared library instead, even if it is not the upstream 
default.

Kevin Kofler
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure


Rpm: provide a static library in package

2022-02-22 Thread Denis Fateyev
Hello all,

The "ustl" upstream, for which I maintain the RPM package, has recently
switched from providing a shared library to a static library.

So I'm going to make changes in the package, and provide everything in
"-devel" subpackage.
I have looked through
https://docs.fedoraproject.org/en-US/packaging-guidelines/#packaging-static-libraries
requirements — but there are some questions left.

1) Should I preserve debug information for the static library during build,
so the library can be stripped and debug packages can be created? Or, can I
just skip  debug package creation with  "%global debug_package %{nil}" ?
I know it's acceptable for header-only, but not sure for packages with
binary static libraries.

2) Can I use the stripping LDFLAGS option ("-s") right during the static
package build, not to strip anything after build? Or, let the built library
be stripped in terms of RPM package flow?

Thanks!

-- 
wbr, Denis.
___
devel mailing list -- devel@lists.fedoraproject.org
To unsubscribe send an email to devel-le...@lists.fedoraproject.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org
Do not reply to spam on the list, report it: 
https://pagure.io/fedora-infrastructure