From: "Erik Schilling" <erik.schilling@linaro.org>
To: "Manos Pitsidianakis" <manos.pitsidianakis@linaro.org>,
"Linux-GPIO" <linux-gpio@vger.kernel.org>,
"Bartosz Golaszewski" <bartosz.golaszewski@linaro.org>
Cc: "Viresh Kumar" <viresh.kumar@linaro.org>,
"Alex Benné e" <alex.bennee@linaro.org>
Subject: Re: Publishing libgpiod-sys and libgpiod to crates.io
Date: Wed, 31 May 2023 19:25:36 +0200 [thread overview]
Message-ID: <CT0N04S607VA.3M9CI50HMNANO@fedora> (raw)
In-Reply-To: <visj7.k1t7273b5zpe@linaro.org>
On Wed May 31, 2023 at 1:05 PM CEST, Manos Pitsidianakis wrote:
>
> Breaking changes are inevitable. The libc crate follows a nonsemver
> scheme (0.2.144 and bump the patch number by one for every release)
> which breaks stuff all the time, or at least it used to when it was at
> its early stages. There are ways to get around breakages in case of a
> crate lib being a transitive dependency but has different versions:
>
> https://github.com/dtolnay/semver-trick
>
> I believe following libgpiod's version scheme directly is what would be
> best and intuitive. -sys crates are not usual crates and users know
> this. It'd be cool to not have to bump the bindings crate version but I
> don't think it's a problem.
How would you deal with the libgpiod (Rust) -> libgpiod (C) dependency
here? Should we request an exact match via pkg-config (or at least a
lower floor that would equal the version of the C lib?).
I think that there would be no good reason not to support older versions
of the C lib (at least as long as sensible!). But it may be a bit weird
if the Rust crate has a matching version scheme but then automatically
disables features when building against an older system library... A
separate version scheme might make that a little more explicit. But I
got no particularly strong feelings about this.
> This is how openssl{,-sys} works, if I am not mistaken.
openssl does not seem to follow this for neither -sys, nor the main
package. It would also probably be a weird thing to do since it supports
other backends like boringssl.
> All in all, in crates.io follow its conventions unless there's no way to
> do so.
I think all of the options that I listed in my initial mail would follow
the crates.io conventions and I strongly agree that we should follow the
existing conventions. What to pick seems to mostly depend on how we want
the release process to look like.
- Erik
next prev parent reply other threads:[~2023-05-31 17:25 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-31 9:24 Publishing libgpiod-sys and libgpiod to crates.io Erik Schilling
2023-05-31 11:05 ` Manos Pitsidianakis
2023-05-31 17:25 ` Erik Schilling [this message]
2023-05-31 13:31 ` Bartosz Golaszewski
[not found] ` <CT0N67TFERNZ.29590E8F8K2JR@fedora>
2023-06-01 9:30 ` Viresh Kumar
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CT0N04S607VA.3M9CI50HMNANO@fedora \
--to=erik.schilling@linaro.org \
--cc=alex.bennee@linaro.org \
--cc=bartosz.golaszewski@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=manos.pitsidianakis@linaro.org \
--cc=viresh.kumar@linaro.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox