All of lore.kernel.org
 help / color / mirror / Atom feed
* PSA: Avoid Debian
@ 2024-08-07  4:34 Kent Overstreet
  2024-08-07 15:01 ` Eli Schwartz
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-08-07  4:34 UTC (permalink / raw)
  To: linux-bcachefs

Debian (as well as Fedora) currently have a broken policy of switching
Rust dependencies to system packages - which are frequently out of date,
and cause real breakage.

As a result, updates that fix multiple critical bugs aren't getting
packaged.

(Beyond that, Debian is for some reason shipping a truly ancient
bcachefs-tools in stable, for reasons I still cannot fathom, which I've
gotten multiple bug reports over as well).

If you're running bcachefs, you'll want to be on a more modern distro -
or building bcachefs-tools yourself.

If you are building bcachefs-tools yourself, be aware that the mount
helper does not get run unless you install it into /usr (not
/usr/local).

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07  4:34 PSA: Avoid Debian Kent Overstreet
@ 2024-08-07 15:01 ` Eli Schwartz
  2024-08-07 16:01   ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Schwartz @ 2024-08-07 15:01 UTC (permalink / raw)
  To: Kent Overstreet, linux-bcachefs


[-- Attachment #1.1: Type: text/plain, Size: 2459 bytes --]

On 8/7/24 12:34 AM, Kent Overstreet wrote:
> Debian (as well as Fedora) currently have a broken policy of switching
> Rust dependencies to system packages - which are frequently out of date,
> and cause real breakage.
> 
> As a result, updates that fix multiple critical bugs aren't getting
> packaged.
> 
> (Beyond that, Debian is for some reason shipping a truly ancient
> bcachefs-tools in stable, for reasons I still cannot fathom, which I've
> gotten multiple bug reports over as well).


I can help you fathom the reason.

The inherent purpose of Debian is to not provide updates to software,
since the general class of "computer code" contains the general risk of
"regressions", including "existing config files need to be updated, and
that regresses my ability to run a box unattended for 10 years without
ssh'ing in even once".

It is therefore the stated purpose of Debian that:

- if you managed to get a working installation you do not need new
  versions of the software to maintain a holding pattern in your ability
  to get the same work done today that you were able to get done
  yesterday -- whereas upgrading to new features can break that holding
  pattern.

- if you did NOT manage to get a working installation, you do not need
  that new stuff, and should stop attempting to have an "off-topic
  conversation that misses the purpose of Debian"


If you want updates to software, you upgrade debian, rather than
upgrading software. If you want modern software, you either use Debian
sid rather than stable (bcachefs-tools 1.9.1 may not be the most recent
version but it's very much not "truly ancient") or you do the sensible
thing and use a reasonable distro.

"Reasonable distro" meaning a distro that, when faced with the choice
between:

- allow people who installed the distro in 2017 to pretend it is still
  2017 and keep using their system the way they did back then

- improve the user experience for users

choose the latter.

In short, it is foolish to criticize Debian for shipping ancient
software since the answer is "the purpose of Debian is so that users can
use ancient software".

...

No comment on their switching rust dependencies to system packages.
Possibly the problem can be mitigated though -- is it possible for Rust
build systems to declare a minimum required version of dependencies, the
way pkg-config for C / C++ can do?


-- 
Eli Schwartz


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 15:01 ` Eli Schwartz
@ 2024-08-07 16:01   ` Kent Overstreet
  2024-08-07 16:09     ` Eli Schwartz
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-08-07 16:01 UTC (permalink / raw)
  To: Eli Schwartz; +Cc: linux-bcachefs

On Wed, Aug 07, 2024 at 11:01:12AM GMT, Eli Schwartz wrote:
> On 8/7/24 12:34 AM, Kent Overstreet wrote:
> > Debian (as well as Fedora) currently have a broken policy of switching
> > Rust dependencies to system packages - which are frequently out of date,
> > and cause real breakage.
> > 
> > As a result, updates that fix multiple critical bugs aren't getting
> > packaged.
> > 
> > (Beyond that, Debian is for some reason shipping a truly ancient
> > bcachefs-tools in stable, for reasons I still cannot fathom, which I've
> > gotten multiple bug reports over as well).
> 
> 
> I can help you fathom the reason.
> 
> The inherent purpose of Debian is to not provide updates to software,
> since the general class of "computer code" contains the general risk of
> "regressions", including "existing config files need to be updated, and
> that regresses my ability to run a box unattended for 10 years without
> ssh'ing in even once".
> 
> It is therefore the stated purpose of Debian that:
> 
> - if you managed to get a working installation you do not need new
>   versions of the software to maintain a holding pattern in your ability
>   to get the same work done today that you were able to get done
>   yesterday -- whereas upgrading to new features can break that holding
>   pattern.
> 
> - if you did NOT manage to get a working installation, you do not need
>   that new stuff, and should stop attempting to have an "off-topic
>   conversation that misses the purpose of Debian"
> 
> 
> If you want updates to software, you upgrade debian, rather than
> upgrading software. If you want modern software, you either use Debian
> sid rather than stable (bcachefs-tools 1.9.1 may not be the most recent
> version but it's very much not "truly ancient") or you do the sensible
> thing and use a reasonable distro.
> 
> "Reasonable distro" meaning a distro that, when faced with the choice
> between:
> 
> - allow people who installed the distro in 2017 to pretend it is still
>   2017 and keep using their system the way they did back then
> 
> - improve the user experience for users
> 
> choose the latter.
> 
> In short, it is foolish to criticize Debian for shipping ancient
> software since the answer is "the purpose of Debian is so that users can
> use ancient software".

This is holding up _bugfix releases_.

Anyone would run screaming from a distro that didn't ship updates at
all.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 16:01   ` Kent Overstreet
@ 2024-08-07 16:09     ` Eli Schwartz
  2024-08-07 17:29       ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Schwartz @ 2024-08-07 16:09 UTC (permalink / raw)
  To: Kent Overstreet; +Cc: linux-bcachefs


[-- Attachment #1.1: Type: text/plain, Size: 1272 bytes --]

On 8/7/24 12:01 PM, Kent Overstreet wrote:
> This is holding up _bugfix releases_.
> 
> Anyone would run screaming from a distro that didn't ship updates at
> all.


(What if I said that lots of people *do* run screaming from Debian?)


You have to manually negotiate for those, to avoid the risk of
accidentally shipping an updated bugfix release that breaks their
spacebar heating: https://xkcd.com/1172/

Obviously, lots of software does get bugfix releases, because someone
negotiates the Debian political landscape to advocate for that bugfix
release.

When software cannot be updated by default because it might break
someone's workflow, the natural result of sometimes needing an update is
that people who want updates are pitted adversarially against people who
do not want updates -- you need to plead your case and get permission
and, well, fight for your right to receive a bugfix.

...

Has anyone volunteered to be the political advocate for bcachefs-tools
bugfix releases in Debian?


If not, then I should amend my earlier advice to also include "do not
use Debian if you don't like having to deal with the political
ramifications of using the most politically bureaucratic distro of all
time". :)


-- 
Eli Schwartz


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 16:09     ` Eli Schwartz
@ 2024-08-07 17:29       ` Kent Overstreet
  2024-08-07 17:43         ` Carl E. Thompson
  2024-08-07 17:44         ` PSA: Avoid Debian Carl E. Thompson
  0 siblings, 2 replies; 17+ messages in thread
From: Kent Overstreet @ 2024-08-07 17:29 UTC (permalink / raw)
  To: Eli Schwartz; +Cc: linux-bcachefs

On Wed, Aug 07, 2024 at 12:09:53PM GMT, Eli Schwartz wrote:
> On 8/7/24 12:01 PM, Kent Overstreet wrote:
> > This is holding up _bugfix releases_.
> > 
> > Anyone would run screaming from a distro that didn't ship updates at
> > all.
> 
> 
> (What if I said that lots of people *do* run screaming from Debian?)

Heh.

Personally, in _general_, I feel quite affectionate towards debian; I've
been running it for 20 years, and there's a lot to like about it and a
lot of good stuff they've done.

But lately a _lot_ of the bug reports I'm seeing have "I was running an
old broken Debian package" as a root cause or additional complicating
factor.

And considering that this is due to something we discussed months? a
year? ago, and they're still insisting on broken policies, I am growing
_increasingly_ pissed off about it.

(Personally, this is pushing me to migrate my infrastructure to NixOS
sooner rather than later...)

> You have to manually negotiate for those, to avoid the risk of
> accidentally shipping an updated bugfix release that breaks their
> spacebar heating: https://xkcd.com/1172/

Which isn't remotely feasible; I have a lot of distros packaging
bcachefs, and I don't have time to devote to interactions like this with
all of them. This is Debian wanting to think they're special, assuming
that they can dominate with their policies - but that's not a winning
long term strategy, that's just going to result in them being left
behind.

The only honest way of influencing other people, and the only way that
works long term, is with the quality of your ideas. "But this is our
policy and you just have to abide" - nope. Even if people don't react
right away, they see that and take note and start maing other plans.

> When software cannot be updated by default because it might break
> someone's workflow, the natural result of sometimes needing an update is
> that people who want updates are pitted adversarially against people who
> do not want updates -- you need to plead your case and get permission
> and, well, fight for your right to receive a bugfix.

I've put a _lot_ of work into making sure bcachefs updates are as
painless as they can be, with e.g. seamless upgrade and downgrade paths,
and ways of dealing with version mismatch between tools/kernel/ondisk
filesystem.

Because we _have to be able to ship our work_, and in a timely manner.
Our systems get steadily more complicated year by year, decade by
decade, as we build up more processes and tooling around the whole
business of writing and shipping code. Making progress in our work
requires shipping code and iterating, so if we can't and we let the
political process bullshit it's death by a thousand cuts and work slowly
grinds to a halt.

> Has anyone volunteered to be the political advocate for bcachefs-tools
> bugfix releases in Debian?

No, and nor would I recommend anyone else for that kind of bullshit,
make-work job.

The real issue here is just that Debian needs to figure out how to have
some flexibility, recognize when policies aren't working, and develop a
better and more practical minded attitude.

So they can stop wasting my time with this stupid bullshit and I can get
back to real work.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 17:29       ` Kent Overstreet
@ 2024-08-07 17:43         ` Carl E. Thompson
  2024-08-07 18:58           ` PSA: Avoid Debian Stable Martin Steigerwald
  2024-08-07 17:44         ` PSA: Avoid Debian Carl E. Thompson
  1 sibling, 1 reply; 17+ messages in thread
From: Carl E. Thompson @ 2024-08-07 17:43 UTC (permalink / raw)
  To: Kent Overstreet, Eli Schwartz; +Cc: linux-bcachefs

Whether or not the concept of Debian is a good idea probably isn't a constructive discussion for this list.

The problem here is that what was essentially an _alpha_ piece of software for what at the time was essentially an _alpha_ filesystem was allowed into the _stable_ release of Debian at all. Whoever on the Debian side allowed its inclusion dropped the ball.

Carl


> On 2024-08-07 10:29 AM PDT Kent Overstreet <kent.overstreet@linux.dev> wrote:
> 
>  
> On Wed, Aug 07, 2024 at 12:09:53PM GMT, Eli Schwartz wrote:
> > On 8/7/24 12:01 PM, Kent Overstreet wrote:
> > > This is holding up _bugfix releases_.
> > > 
> > > Anyone would run screaming from a distro that didn't ship updates at
> > > all.
> > 
> > 
> > (What if I said that lots of people *do* run screaming from Debian?)
> 
> Heh.
> 
> Personally, in _general_, I feel quite affectionate towards debian; I've
> been running it for 20 years, and there's a lot to like about it and a
> lot of good stuff they've done.
> 
> But lately a _lot_ of the bug reports I'm seeing have "I was running an
> old broken Debian package" as a root cause or additional complicating
> factor.
> 
> And considering that this is due to something we discussed months? a
> year? ago, and they're still insisting on broken policies, I am growing
> _increasingly_ pissed off about it.
> 
> (Personally, this is pushing me to migrate my infrastructure to NixOS
> sooner rather than later...)
> 
> > You have to manually negotiate for those, to avoid the risk of
> > accidentally shipping an updated bugfix release that breaks their
> > spacebar heating: https://xkcd.com/1172/
> 
> Which isn't remotely feasible; I have a lot of distros packaging
> bcachefs, and I don't have time to devote to interactions like this with
> all of them. This is Debian wanting to think they're special, assuming
> that they can dominate with their policies - but that's not a winning
> long term strategy, that's just going to result in them being left
> behind.
> 
> The only honest way of influencing other people, and the only way that
> works long term, is with the quality of your ideas. "But this is our
> policy and you just have to abide" - nope. Even if people don't react
> right away, they see that and take note and start maing other plans.
> 
> > When software cannot be updated by default because it might break
> > someone's workflow, the natural result of sometimes needing an update is
> > that people who want updates are pitted adversarially against people who
> > do not want updates -- you need to plead your case and get permission
> > and, well, fight for your right to receive a bugfix.
> 
> I've put a _lot_ of work into making sure bcachefs updates are as
> painless as they can be, with e.g. seamless upgrade and downgrade paths,
> and ways of dealing with version mismatch between tools/kernel/ondisk
> filesystem.
> 
> Because we _have to be able to ship our work_, and in a timely manner.
> Our systems get steadily more complicated year by year, decade by
> decade, as we build up more processes and tooling around the whole
> business of writing and shipping code. Making progress in our work
> requires shipping code and iterating, so if we can't and we let the
> political process bullshit it's death by a thousand cuts and work slowly
> grinds to a halt.
> 
> > Has anyone volunteered to be the political advocate for bcachefs-tools
> > bugfix releases in Debian?
> 
> No, and nor would I recommend anyone else for that kind of bullshit,
> make-work job.
> 
> The real issue here is just that Debian needs to figure out how to have
> some flexibility, recognize when policies aren't working, and develop a
> better and more practical minded attitude.
> 
> So they can stop wasting my time with this stupid bullshit and I can get
> back to real work.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 17:29       ` Kent Overstreet
  2024-08-07 17:43         ` Carl E. Thompson
@ 2024-08-07 17:44         ` Carl E. Thompson
  2024-08-07 18:19           ` Kent Overstreet
  1 sibling, 1 reply; 17+ messages in thread
From: Carl E. Thompson @ 2024-08-07 17:44 UTC (permalink / raw)
  To: Kent Overstreet, Eli Schwartz; +Cc: linux-bcachefs

Whether or not the concept of Debian is a good idea probably isn't a constructive discussion for this list.

The problem here is that what was essentially an _alpha_ piece of software for what at the time was essentially an _alpha_ filesystem was allowed into the _stable_ release of Debian at all. Whoever on the Debian side allowed its inclusion dropped the ball.

> On 2024-08-07 10:29 AM PDT Kent Overstreet <kent.overstreet@linux.dev> wrote:
> 
>  
> On Wed, Aug 07, 2024 at 12:09:53PM GMT, Eli Schwartz wrote:
> > On 8/7/24 12:01 PM, Kent Overstreet wrote:
> > > This is holding up _bugfix releases_.
> > > 
> > > Anyone would run screaming from a distro that didn't ship updates at
> > > all.
> > 
> > 
> > (What if I said that lots of people *do* run screaming from Debian?)
> 
> Heh.
> 
> Personally, in _general_, I feel quite affectionate towards debian; I've
> been running it for 20 years, and there's a lot to like about it and a
> lot of good stuff they've done.
> 
> But lately a _lot_ of the bug reports I'm seeing have "I was running an
> old broken Debian package" as a root cause or additional complicating
> factor.
> 
> And considering that this is due to something we discussed months? a
> year? ago, and they're still insisting on broken policies, I am growing
> _increasingly_ pissed off about it.
> 
> (Personally, this is pushing me to migrate my infrastructure to NixOS
> sooner rather than later...)
> 
> > You have to manually negotiate for those, to avoid the risk of
> > accidentally shipping an updated bugfix release that breaks their
> > spacebar heating: https://xkcd.com/1172/
> 
> Which isn't remotely feasible; I have a lot of distros packaging
> bcachefs, and I don't have time to devote to interactions like this with
> all of them. This is Debian wanting to think they're special, assuming
> that they can dominate with their policies - but that's not a winning
> long term strategy, that's just going to result in them being left
> behind.
> 
> The only honest way of influencing other people, and the only way that
> works long term, is with the quality of your ideas. "But this is our
> policy and you just have to abide" - nope. Even if people don't react
> right away, they see that and take note and start maing other plans.
> 
> > When software cannot be updated by default because it might break
> > someone's workflow, the natural result of sometimes needing an update is
> > that people who want updates are pitted adversarially against people who
> > do not want updates -- you need to plead your case and get permission
> > and, well, fight for your right to receive a bugfix.
> 
> I've put a _lot_ of work into making sure bcachefs updates are as
> painless as they can be, with e.g. seamless upgrade and downgrade paths,
> and ways of dealing with version mismatch between tools/kernel/ondisk
> filesystem.
> 
> Because we _have to be able to ship our work_, and in a timely manner.
> Our systems get steadily more complicated year by year, decade by
> decade, as we build up more processes and tooling around the whole
> business of writing and shipping code. Making progress in our work
> requires shipping code and iterating, so if we can't and we let the
> political process bullshit it's death by a thousand cuts and work slowly
> grinds to a halt.
> 
> > Has anyone volunteered to be the political advocate for bcachefs-tools
> > bugfix releases in Debian?
> 
> No, and nor would I recommend anyone else for that kind of bullshit,
> make-work job.
> 
> The real issue here is just that Debian needs to figure out how to have
> some flexibility, recognize when policies aren't working, and develop a
> better and more practical minded attitude.
> 
> So they can stop wasting my time with this stupid bullshit and I can get
> back to real work.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 17:44         ` PSA: Avoid Debian Carl E. Thompson
@ 2024-08-07 18:19           ` Kent Overstreet
  2024-08-07 19:04             ` Carl E. Thompson
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-08-07 18:19 UTC (permalink / raw)
  To: Carl E. Thompson; +Cc: Eli Schwartz, linux-bcachefs

On Wed, Aug 07, 2024 at 10:44:19AM GMT, Carl E. Thompson wrote:
> Whether or not the concept of Debian is a good idea probably isn't a constructive discussion for this list.
> 
> The problem here is that what was essentially an _alpha_ piece of
> software for what at the time was essentially an _alpha_ filesystem
> was allowed into the _stable_ release of Debian at all. Whoever on the
> Debian side allowed its inclusion dropped the ball.

We're primarily talking about the package in Debian _unstable_, although
the ancient -tools package in stable is also causing problems. The
package in unstable is at 1.9.1, and we're just trying to get it to
1.9.4.

And you're blameshifting and making excuses. System critical packages
(and the filesystem is about as critical as it gets) absolutely need
timely updates, no matter what stage of the lifecycle it's at.

"Don't include it until it's perfect" is not an answer, because:
a) there will also be a period of stabilization for the distro rollout
itself where we find bugs that are specific to distro packaging and
distro process
b) software is never perfect

a) is what's going on here, and it's turning into a whole thing because
it's a Debian policy that's causing problems, and the Debian package
maintainer's response to that was "of course we won't change our policy".

So given that, and the number of bugs in my inbox from Debian users for
stuff that's already been fixed, I really have no choice but to tell
users to stay away from Debian until this gets sorted.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-08-07 17:43         ` Carl E. Thompson
@ 2024-08-07 18:58           ` Martin Steigerwald
  2024-08-07 19:55             ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Martin Steigerwald @ 2024-08-07 18:58 UTC (permalink / raw)
  To: Kent Overstreet, Eli Schwartz, Carl E. Thompson; +Cc: linux-bcachefs

I amended the subject line a bit. I am not sure whether Debian Testing or 
Debian Unstable should also be avoided.

And by the way, you probably have the same issue with Ubuntu, unless they 
update bcachefs-tools to new versions in stable releases.

Carl E. Thompson - 07.08.24, 19:43:17 CEST:
> Whether or not the concept of Debian is a good idea probably isn't a
> constructive discussion for this list.
> 
> The problem here is that what was essentially an _alpha_ piece of
> software for what at the time was essentially an _alpha_ filesystem was
> allowed into the _stable_ release of Debian at all. Whoever on the
> Debian side allowed its inclusion dropped the ball.

An option would be to at least ask for a backport.

Whether that is feasible with system based Rust packages in Debian 12 aka 
Bookworm is another story. Or probably there might also be a way to ask 
for removal of the outdated bcachefs-tools package. I agree it has been 
too early to include it in Debian 12. There are users who expect 1. stable 
and 2. most current software. I.e. expect they could use up-to-date 
BCacheFS in Debian 12. But the development process of Debian does not 
really cater for that. Either you have quite recent software, but face 
temporary instabilities or you have stable and soon to be outdated 
software.

One idea to use system based packages is to fix security issues once, 
instead of recompiling a lot of packages that use their own version of 
some Rust dependency.

For Debian 13 I expect BCacheFS tools to be stable enough for inclusion 
into stable release. However… that would still not solve the issue with 
fixing bugs in there during stable support – unless there would be some 
kind of LTS branch of BCacheFS tools by then. Critical fixes probably could 
be backported, that is the usual approach for Debian packages in stable, 
but this also does not work with Firefox ESR after a certain point. They 
update it to the newest ESR once the support for the old one is dropped by 
Mozilla. Cause it would be too much work to backport all security fixes.

Best would probably be to have a bcachefs-tools backport even for Debian 
13. If possible.

Best,
-- 
Martin



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian
  2024-08-07 18:19           ` Kent Overstreet
@ 2024-08-07 19:04             ` Carl E. Thompson
  0 siblings, 0 replies; 17+ messages in thread
From: Carl E. Thompson @ 2024-08-07 19:04 UTC (permalink / raw)
  To: Kent Overstreet; +Cc: Eli Schwartz, linux-bcachefs

Again, my point was (in my opinion) the bcachefs mailing list is probably not the best place to argue about whether Debian's policies / procedures are a good idea.

Of course I wasn't suggesting that bcachefs and the corresponding userspace tools need to be "perfect" before being included in Debian stable. But IMO they should at least be reasonably _stable_ to be included in Debian stable and bcachefs definitely wasn't at the time of its inclusion. Debian isn't Arch.

As far as Debian unstable goes, I have no strong opinions on that.

BTW, I'm not trying to be critical of you or of bcachefs. I have been using it on my personal systems for years now since long before it was in the kernel and there have been relatively few bumps on the road along the way and I have never lost any data. I'm impressed with what you've accomplished and have even donated my own personal money to you. However, as good as bcachefs is, based on the bug reports and rapid changes I've seen on this list I don't think it's truly stable yet. That's just my opinion.

Carl

> On 2024-08-07 11:19 AM PDT Kent Overstreet <kent.overstreet@linux.dev> wrote:
> 
>  
> On Wed, Aug 07, 2024 at 10:44:19AM GMT, Carl E. Thompson wrote:
> > Whether or not the concept of Debian is a good idea probably isn't a constructive discussion for this list.
> > 
> > The problem here is that what was essentially an _alpha_ piece of
> > software for what at the time was essentially an _alpha_ filesystem
> > was allowed into the _stable_ release of Debian at all. Whoever on the
> > Debian side allowed its inclusion dropped the ball.
> 
> We're primarily talking about the package in Debian _unstable_, although
> the ancient -tools package in stable is also causing problems. The
> package in unstable is at 1.9.1, and we're just trying to get it to
> 1.9.4.
> 
> And you're blameshifting and making excuses. System critical packages
> (and the filesystem is about as critical as it gets) absolutely need
> timely updates, no matter what stage of the lifecycle it's at.
> 
> "Don't include it until it's perfect" is not an answer, because:
> a) there will also be a period of stabilization for the distro rollout
> itself where we find bugs that are specific to distro packaging and
> distro process
> b) software is never perfect
> 
> a) is what's going on here, and it's turning into a whole thing because
> it's a Debian policy that's causing problems, and the Debian package
> maintainer's response to that was "of course we won't change our policy".
> 
> So given that, and the number of bugs in my inbox from Debian users for
> stuff that's already been fixed, I really have no choice but to tell
> users to stay away from Debian until this gets sorted.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-08-07 18:58           ` PSA: Avoid Debian Stable Martin Steigerwald
@ 2024-08-07 19:55             ` Kent Overstreet
  2024-09-03 21:37               ` Martin Steigerwald
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-08-07 19:55 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Eli Schwartz, Carl E. Thompson, linux-bcachefs

On Wed, Aug 07, 2024 at 08:58:23PM GMT, Martin Steigerwald wrote:
> I amended the subject line a bit. I am not sure whether Debian Testing or 
> Debian Unstable should also be avoided.

Unstable as well - unstable is stuck at 1.9.1 and tools is up to 1.9.4,
and it's their policy of switching rust dependencies to distro packages
that broke the build.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-08-07 19:55             ` Kent Overstreet
@ 2024-09-03 21:37               ` Martin Steigerwald
  2024-09-03 22:15                 ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Martin Steigerwald @ 2024-09-03 21:37 UTC (permalink / raw)
  To: Kent Overstreet; +Cc: Eli Schwartz, Carl E. Thompson, linux-bcachefs

Kent Overstreet - 07.08.24, 21:55:09 CEST:
> On Wed, Aug 07, 2024 at 08:58:23PM GMT, Martin Steigerwald wrote:
> > I amended the subject line a bit. I am not sure whether Debian Testing
> > or Debian Unstable should also be avoided.
> 
> Unstable as well - unstable is stuck at 1.9.1 and tools is up to 1.9.4,
> and it's their policy of switching rust dependencies to distro packages
> that broke the build.

Experimental meanwhile has 1.9.4.

But I do find this quite sad and concerning:

https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/

I do not completely agree with removing it from Debian Unstable aka Sid at 
this time, but if upstream development continues like this until too short 
before Debian 13 aka Trixie release I can somewhat understand. However it 
would still be good to have it there for people who use Debian Sid to 
test.

I more and more come to the conclusion myself that BCacheFS might be just 
a tad bit too much of a moving target for me at the moment.

BTRFS can be used just fine in Debian Stable meanwhile. But it took quite a 
while to get there. Version of btrfs-progs in Unstable is available as a 
backport for Debian stable. As far as I understand this cannot be done 
with BCacheFS tools without putting all the dependencies as is into the 
package and violating the principle to package a library dependency in one 
place and be able to update it for security updates in one place for all 
the applications and tools depending on it to benefit from them in one go.

I hope that at one point it can be like this for BCacheFS as well. And I 
am fine with this point being several years away.

Of course distributions with relaxed policies may not have a problem with 
packaging all the dependencies within a bcache-tools package. But this is 
not Debian or Ubuntu… or quite a lot of derivatives. I bet this is also 
not RHEL or SLES and derivatives of those.

-- 
Martin



^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-09-03 21:37               ` Martin Steigerwald
@ 2024-09-03 22:15                 ` Kent Overstreet
  2024-09-03 23:44                   ` Eli Schwartz
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-09-03 22:15 UTC (permalink / raw)
  To: Martin Steigerwald; +Cc: Eli Schwartz, Carl E. Thompson, linux-bcachefs

On Tue, Sep 03, 2024 at 11:37:32PM GMT, Martin Steigerwald wrote:
> Kent Overstreet - 07.08.24, 21:55:09 CEST:
> > On Wed, Aug 07, 2024 at 08:58:23PM GMT, Martin Steigerwald wrote:
> > > I amended the subject line a bit. I am not sure whether Debian Testing
> > > or Debian Unstable should also be avoided.
> > 
> > Unstable as well - unstable is stuck at 1.9.1 and tools is up to 1.9.4,
> > and it's their policy of switching rust dependencies to distro packages
> > that broke the build.
> 
> Experimental meanwhile has 1.9.4.
> 
> But I do find this quite sad and concerning:
> 
> https://jonathancarter.org/2024/08/29/orphaning-bcachefs-tools-in-debian/
> 
> I do not completely agree with removing it from Debian Unstable aka Sid at 
> this time, but if upstream development continues like this until too short 
> before Debian 13 aka Trixie release I can somewhat understand. However it 
> would still be good to have it there for people who use Debian Sid to 
> test.

Upstream development continues how...?

I would like Debian people to really consider if they might be
overreaching with their policies too much.

For now, we really need to be able to update bcachefs-tools in a timely
manner, because

- bugs happen: when updates stopped and debian users were stuck on
  1.9.1, that left users with filesystems they weren't able to mount -
  their machines were down - because of the bug with passing mount
  options, they weren't able to mount degraded.

  And I must repeat, I was the one fielding those bug reports, not the
  Debian package maintainer. I don't want Debian creating a mess and
  leaving me to deal with the aftermath.

- because -tools needs to stay up-to-date with on disk format features
  in the kernel

> I more and more come to the conclusion myself that BCacheFS might be just 
> a tad bit too much of a moving target for me at the moment.
> 
> BTRFS can be used just fine in Debian Stable meanwhile. But it took quite a 
> while to get there. Version of btrfs-progs in Unstable is available as a 
> backport for Debian stable. As far as I understand this cannot be done 
> with BCacheFS tools without putting all the dependencies as is into the 
> package and violating the principle to package a library dependency in one 
> place and be able to update it for security updates in one place for all 
> the applications and tools depending on it to benefit from them in one go.

I still have not yet heard a single good reason for this policy.

The rust dependencies are statically linked, and that's not going to
change because dynamic linking that works with the full Rust typesystem
is, simply, a _really_ hard problem that's going to take a massive
enginering effort to solve. Swift was able to do it - but I'm quite
familiar with what it took to do that, and they were only able to
because Apple invested significantly into it.

So, given that they're statically linked, why?

It can't be for security updates, because to update a dependency we
_still_ have to update and spin a new release of bcachefs-tools. And
that's not such a big deal, because nodays there's bots that notify me
if I need to do that.

So it seems to me that Debian people just aren't thinking things
through.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-09-03 22:15                 ` Kent Overstreet
@ 2024-09-03 23:44                   ` Eli Schwartz
  2024-09-04  0:04                     ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Schwartz @ 2024-09-03 23:44 UTC (permalink / raw)
  To: Kent Overstreet, Martin Steigerwald; +Cc: Carl E. Thompson, linux-bcachefs


[-- Attachment #1.1: Type: text/plain, Size: 6799 bytes --]

On 9/3/24 6:15 PM, Kent Overstreet wrote:
> I still have not yet heard a single good reason for this policy.
> 
> The rust dependencies are statically linked, and that's not going to
> change because dynamic linking that works with the full Rust typesystem
> is, simply, a _really_ hard problem that's going to take a massive
> enginering effort to solve. Swift was able to do it - but I'm quite
> familiar with what it took to do that, and they were only able to
> because Apple invested significantly into it.
> 
> So, given that they're statically linked, why?
> 
> It can't be for security updates, because to update a dependency we
> _still_ have to update and spin a new release of bcachefs-tools. And
> that's not such a big deal, because nodays there's bots that notify me
> if I need to do that.
> 
> So it seems to me that Debian people just aren't thinking things
> through.


There's an interesting conversation to be had here about distfiles,
duplication, and offline building.

Probably the biggest single requirement here is the offline building.
It's not enough to download the bcachefs-tools source tarball and build
that, since you also need crates downloaded from crates.io and added to
a local registry. Most (sane) distros build packages with the network
disabled for security reasons, because you want to verify that all the
code you are building is code which was included in the original source
checksumming which is part of the build manifest (and the build manifest
in turn is probably PGP-signed by the distro developer that processed
the update).

And the Debian packaging format involves converting every package into
an "orig" tarball with the debian build recipes installed inside as
debian/ and then running the dpkg package building tools from inside
there. The key to a successful packaging experience is somehow getting
to run the build tools from that source tarball.

The packaging formats used by most other distros work differently: a
package can have multiple (checksummed) source tarballs and one of the
build phases is unpacking each listed distfile. Alpine, Arch, CRUX,
Fedora, Gentoo, Void, all list urls to download the source(s) from and
the checksums to validate against as part of the build recipe, and
unpack those into a temporary directory.

So for example that means that Gentoo can list 90 different crate
dependencies, plus one primary bcachefs tarball, and download each of
those files into /var/cache/distfiles, then unpack them into a fake
cargo registry. Of course, this is pretty slow if you don't have
parallel downloads -- not usually a problem for most packages that have
only one or two sources, but there you have it. And they can be shared
between multiple packages, or multiple versions of bcachefs-tools,
assuming that packages use exactly identical versions.

In theory, one can also specify a different crate version to use instead
of basing the versions on Cargo.lock. The update tool (pycargoebuild)
always builds the list based on Cargo.lock, though.

Now you have a 90-line package recipe, so have fun with that! :) Of
course, since any solution for bcachefs-tools is logically consistent
with handling other rust software, keep in mind that some packages have
1,000+ crates. Even more fun!


Back to Debian. Since each package can only have one source
*.orig.tar.xz, I would assume that Debian has basically two choices as a
result of their packaging format:

- package each crate as a system dependency
- repack each program source after running `cargo vendor`, and upload
  *that* as the canonical source code

Option 2 tends to not become great, e.g. due to the complete inability
to deduplicate between packages. Option 1 is entirely workable, *iff*
you assume that each crate and each crate *version* forms a unique
package *name* within Debian. For example, byteorder version 1.5.0 would
become a Debian package "librust-byteorder-1.5.0-dev (1.5.0)", and then
you could install as many versions of the "byteorder" crate as you like,
and depend on whichever one you need. Except... oops! Debian does this a
bit different. They depend on librust-byteorder-1-dev (>= 1.3), because
the package name is based on semver and the package restriction is >=
your Cargo.toml

[dependencies]
byteorder = "1.3"


One possible reason why they bind the name to the semver might be
because they, as noted, "have" to install the resulting -dev package to
/usr/share/cargo/registry/byteorder-1.3.0 or whatever, and by using a
global registry it's possibly impractical for *cargo* to determine the
"correct" version to use when both byteorder-1.3.0 and byteorder-1.5.0
are there.


Since the rust ecosystem takes great pride in semver and cargo is
designed to work this way (Cargo.lock even when checked into git is not
necessarily respected by ordinary commands) that probably feels like a
reasonable solution for the average use case of the rust ecosystem
within Debian. And it has some advantages, such as the ability to have
packages depend on only their direct dependencies, and have *those*
depend in turn on their dependencies, for great simplification of the
manifest of crates needed. Or, provide a patch to a crate *once* and
have all packages using that crate respect the patch. Anyone who thinks
that distros shouldn't ever patch software is unfortunately a fool. :)
It tends to be especially urgent for users of alt-arches where software
wasn't tested on e.g. mips or ppc64 or sparc or hppa and miserably
fails, while the maintainers have disappeared, but there are other fun
examples such as software with a build.rs that builds its own private
copy of a C library and should use the system one instead. Clowns that
insist on building their own private openssl version and ignoring the
system copy are the bane of computing.

Again, this is all about why a linux distro might have a *general
policy* for handling rust crates in one place per crate.

I suppose it's pretty unfortunate for rust software that isn't
compatible with the ^1.2.3 style versions described in Cargo.toml,
though that is a bit of an easy fix -- upgrade them.

It's unclear to me if bcachefs-tools was having bugs on Debian due to
following the strictures of Cargo.toml, or due to the patch "Relax build
dependencies to match what's available in Debian":

https://salsa.debian.org/debian/bcachefs-tools/-/blob/master/debian/patches/relax-build-dependencies

e.g.

-rustix = { version = "0.38.34", features = ["termios"] }
+rustix = { version = ">= 0.35 , < 1", features = ["termios"] }


Because Debian Stable has 0.35.12 and Debian Testing has 0.38.32 and
neither of those are sufficient.


-- 
Eli Schwartz


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-09-03 23:44                   ` Eli Schwartz
@ 2024-09-04  0:04                     ` Kent Overstreet
  2024-09-04  0:31                       ` Eli Schwartz
  0 siblings, 1 reply; 17+ messages in thread
From: Kent Overstreet @ 2024-09-04  0:04 UTC (permalink / raw)
  To: Eli Schwartz; +Cc: Martin Steigerwald, Carl E. Thompson, linux-bcachefs

On Tue, Sep 03, 2024 at 07:44:52PM GMT, Eli Schwartz wrote:
> On 9/3/24 6:15 PM, Kent Overstreet wrote:
> > I still have not yet heard a single good reason for this policy.
> > 
> > The rust dependencies are statically linked, and that's not going to
> > change because dynamic linking that works with the full Rust typesystem
> > is, simply, a _really_ hard problem that's going to take a massive
> > enginering effort to solve. Swift was able to do it - but I'm quite
> > familiar with what it took to do that, and they were only able to
> > because Apple invested significantly into it.
> > 
> > So, given that they're statically linked, why?
> > 
> > It can't be for security updates, because to update a dependency we
> > _still_ have to update and spin a new release of bcachefs-tools. And
> > that's not such a big deal, because nodays there's bots that notify me
> > if I need to do that.
> > 
> > So it seems to me that Debian people just aren't thinking things
> > through.
> 
> 
> There's an interesting conversation to be had here about distfiles,
> duplication, and offline building.
> 
> Probably the biggest single requirement here is the offline building.
> It's not enough to download the bcachefs-tools source tarball and build
> that, since you also need crates downloaded from crates.io and added to
> a local registry. Most (sane) distros build packages with the network
> disabled for security reasons, because you want to verify that all the
> code you are building is code which was included in the original source
> checksumming which is part of the build manifest (and the build manifest
> in turn is probably PGP-signed by the distro developer that processed
> the update).
> 
> And the Debian packaging format involves converting every package into
> an "orig" tarball with the debian build recipes installed inside as
> debian/ and then running the dpkg package building tools from inside
> there. The key to a successful packaging experience is somehow getting
> to run the build tools from that source tarball.
> 
> The packaging formats used by most other distros work differently: a
> package can have multiple (checksummed) source tarballs and one of the
> build phases is unpacking each listed distfile. Alpine, Arch, CRUX,
> Fedora, Gentoo, Void, all list urls to download the source(s) from and
> the checksums to validate against as part of the build recipe, and
> unpack those into a temporary directory.
> 
> So for example that means that Gentoo can list 90 different crate
> dependencies, plus one primary bcachefs tarball, and download each of
> those files into /var/cache/distfiles, then unpack them into a fake
> cargo registry. Of course, this is pretty slow if you don't have
> parallel downloads -- not usually a problem for most packages that have
> only one or two sources, but there you have it. And they can be shared
> between multiple packages, or multiple versions of bcachefs-tools,
> assuming that packages use exactly identical versions.
> 
> In theory, one can also specify a different crate version to use instead
> of basing the versions on Cargo.lock. The update tool (pycargoebuild)
> always builds the list based on Cargo.lock, though.
> 
> Now you have a 90-line package recipe, so have fun with that! :) Of
> course, since any solution for bcachefs-tools is logically consistent
> with handling other rust software, keep in mind that some packages have
> 1,000+ crates. Even more fun!
> 
> 
> Back to Debian. Since each package can only have one source
> *.orig.tar.xz, I would assume that Debian has basically two choices as a
> result of their packaging format:
> 
> - package each crate as a system dependency
> - repack each program source after running `cargo vendor`, and upload
>   *that* as the canonical source code

I already provide 'cargo vendor' tarballs. Yes, it's big (thanks to
bindgen), but it's not _enormous_.

And bindgen is unfortunately the problematic one (and the one that broke
the build) - the semantics of the packed and aligned attributes are
subtle, and bindgen has had difficulty getting them right (due in part
to differences between gcc and microsoft).

So if you want to unbundle bindgen:
- you get to fix it if it breaks, I don't want to see a log of a build
  error months later that you didn't try to debug

- you really should be testing it as well (e.g. create an image with
  bcachefs format --source; verify that it fscks with kernel fsck
  implementation, i.e. that they agree); the stuff in bindgen that's
  been causing issues is absolutely the sort of thing that could cause
  miscompilation and if that ever happens it's going to be a really,
  really bad day.

Don't unbundle the other dependencies. They're tiny, and it's not worth
the pain it could potentially cause.

The cargo dependency model is _really good_ because it means dependency
updates happen in commits in the consuming package, meaning it's
actually possible to bisect for breakage caused by a dependency update -
that's not something we've had before.

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-09-04  0:04                     ` Kent Overstreet
@ 2024-09-04  0:31                       ` Eli Schwartz
  2024-09-04  0:38                         ` Kent Overstreet
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Schwartz @ 2024-09-04  0:31 UTC (permalink / raw)
  To: Kent Overstreet; +Cc: Martin Steigerwald, Carl E. Thompson, linux-bcachefs


[-- Attachment #1.1: Type: text/plain, Size: 3695 bytes --]

On 9/3/24 8:04 PM, Kent Overstreet wrote:
>> Back to Debian. Since each package can only have one source
>> *.orig.tar.xz, I would assume that Debian has basically two choices as a
>> result of their packaging format:
>>
>> - package each crate as a system dependency
>> - repack each program source after running `cargo vendor`, and upload
>>   *that* as the canonical source code
> 
> I already provide 'cargo vendor' tarballs. Yes, it's big (thanks to
> bindgen), but it's not _enormous_.


Sure. Debian was probably working with the notion that using vendor
tarballs makes individual packages a "special snowflake", which is a
tempting rationale until you realize you're patching to allow versions
that are way too low.


> And bindgen is unfortunately the problematic one (and the one that broke
> the build) - the semantics of the packed and aligned attributes are
> subtle, and bindgen has had difficulty getting them right (due in part
> to differences between gcc and microsoft).


Heh, no doubt. :)

-bindgen = "0.69.4"
+bindgen = "0.66"

Really makes you think about the wisdom of allowing versions that
upstream specifically marked as incompatible (downgrading, not upgrading!)

Especially since binding between two languages will inherently tend to
violate rust's safety semantics! The entire point of bindgen is to
create a "safe" description of C types...


> Don't unbundle the other dependencies. They're tiny, and it's not worth
> the pain it could potentially cause.


Yeah but again this has nothing to do with unbundling, rather, it's
about modifying version and disrespecting:

- the lockfile
- the Cargo.toml

If the debian packages were simply the same version as all the
Cargo.lock entries, then it would be *unbundling*, but not *modification*.
'
It's the modification that's a problem, and specifically, the
modification of *required lower bounds*. It might be safe to upgrade a
crate, to get a "better" version, but downgrading to get a worse version
generally feels pretty silly.

Again, Simply running `cargo install --git
https://github.com/koverstreet/bcachefs-tools` will totally ignore your
lockfile and feel free to update to "newer == better" versions. Perhaps
bindgen would even fix more attribute issues. :D

But it would always, always, always respect Cargo.toml, which is why
Debian did NOT bother doing anything to the lockfile, but did apply a
patch to Cargo.toml


> The cargo dependency model is _really good_ because it means dependency
> updates happen in commits in the consuming package, meaning it's
> actually possible to bisect for breakage caused by a dependency update -
> that's not something we've had before.


And you can do the same with any C build system that isn't "I like
Makefiles because I think they are simple to write". You do a dependency
update in commits in the consuming package as an update to the version
specification of the url+checksum used to download and build C libraries
as vendored dependencies. Just like Cargo.lock

And like Cargo.toml, you can do the *other* kind of dependency update
(also as commits in the consuming package) by updating the *minimum*
version permissible (e.g. when consuming a system package).

This really is a solved problem in C/C++ and has been for a decade. It
has to be, if for no other reason than that Windows developers ***do not
have a choice*** as there is no such thing as system dependencies. That
is why vcpkg exists (and using it involves adding a manifest to your
Windows project describing the exact pinned versions of your
dependencies to go ahead and build).


-- 
Eli Schwartz


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 236 bytes --]

^ permalink raw reply	[flat|nested] 17+ messages in thread

* Re: PSA: Avoid Debian Stable
  2024-09-04  0:31                       ` Eli Schwartz
@ 2024-09-04  0:38                         ` Kent Overstreet
  0 siblings, 0 replies; 17+ messages in thread
From: Kent Overstreet @ 2024-09-04  0:38 UTC (permalink / raw)
  To: Eli Schwartz; +Cc: Martin Steigerwald, Carl E. Thompson, linux-bcachefs

On Tue, Sep 03, 2024 at 08:31:16PM GMT, Eli Schwartz wrote:
> On 9/3/24 8:04 PM, Kent Overstreet wrote:
> >> Back to Debian. Since each package can only have one source
> >> *.orig.tar.xz, I would assume that Debian has basically two choices as a
> >> result of their packaging format:
> >>
> >> - package each crate as a system dependency
> >> - repack each program source after running `cargo vendor`, and upload
> >>   *that* as the canonical source code
> > 
> > I already provide 'cargo vendor' tarballs. Yes, it's big (thanks to
> > bindgen), but it's not _enormous_.
> 
> 
> Sure. Debian was probably working with the notion that using vendor
> tarballs makes individual packages a "special snowflake", which is a
> tempting rationale until you realize you're patching to allow versions
> that are way too low.
> 
> 
> > And bindgen is unfortunately the problematic one (and the one that broke
> > the build) - the semantics of the packed and aligned attributes are
> > subtle, and bindgen has had difficulty getting them right (due in part
> > to differences between gcc and microsoft).
> 
> 
> Heh, no doubt. :)
> 
> -bindgen = "0.69.4"
> +bindgen = "0.66"
> 
> Really makes you think about the wisdom of allowing versions that
> upstream specifically marked as incompatible (downgrading, not upgrading!)
> 
> Especially since binding between two languages will inherently tend to
> violate rust's safety semantics! The entire point of bindgen is to
> create a "safe" description of C types...

Yeah, I think it's been pretty well established by this point that
mistakes were made.

Hopefully we're finally on a track to doing better :)

> > Don't unbundle the other dependencies. They're tiny, and it's not worth
> > the pain it could potentially cause.
> 
> 
> Yeah but again this has nothing to do with unbundling, rather, it's
> about modifying version and disrespecting:
> 
> - the lockfile
> - the Cargo.toml
> 
> If the debian packages were simply the same version as all the
> Cargo.lock entries, then it would be *unbundling*, but not *modification*.
> '
> It's the modification that's a problem, and specifically, the
> modification of *required lower bounds*. It might be safe to upgrade a
> crate, to get a "better" version, but downgrading to get a worse version
> generally feels pretty silly.

But given that different packages probably won't be specifying the exact
same versions of dependencies, so debian isn't going to have the right
one, and most of these dependencies are _tiny_ - why bother with the
enormous hassle?

Not everything tiny bit of code needs to be a distro-level package...

> Again, Simply running `cargo install --git
> https://github.com/koverstreet/bcachefs-tools` will totally ignore your
> lockfile and feel free to update to "newer == better" versions. Perhaps
> bindgen would even fix more attribute issues. :D
> 
> But it would always, always, always respect Cargo.toml, which is why
> Debian did NOT bother doing anything to the lockfile, but did apply a
> patch to Cargo.toml

Yeah, cargo still has some bugs: the modern thinking on how to do this
style of packaging 'right' has been evolving fairly recently.

Cargo.lock should really not be changed by anything but 'cargo update',
and if I was less lazy I'd file a bug about htat.

^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-09-04  0:38 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-07  4:34 PSA: Avoid Debian Kent Overstreet
2024-08-07 15:01 ` Eli Schwartz
2024-08-07 16:01   ` Kent Overstreet
2024-08-07 16:09     ` Eli Schwartz
2024-08-07 17:29       ` Kent Overstreet
2024-08-07 17:43         ` Carl E. Thompson
2024-08-07 18:58           ` PSA: Avoid Debian Stable Martin Steigerwald
2024-08-07 19:55             ` Kent Overstreet
2024-09-03 21:37               ` Martin Steigerwald
2024-09-03 22:15                 ` Kent Overstreet
2024-09-03 23:44                   ` Eli Schwartz
2024-09-04  0:04                     ` Kent Overstreet
2024-09-04  0:31                       ` Eli Schwartz
2024-09-04  0:38                         ` Kent Overstreet
2024-08-07 17:44         ` PSA: Avoid Debian Carl E. Thompson
2024-08-07 18:19           ` Kent Overstreet
2024-08-07 19:04             ` Carl E. Thompson

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.