Re: systemd dependencies

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 08/26/2014 08:15 PM, Peter Robinson wrote:
What's the rationale here? I mean, we have so many dependencies, if
you want to minimize them, you have a loooong way to go...

When I bootstrapped Fedora for ARM way back when, I had to deal with
these dependencies.  A lot.  Finding a minimal set of RPMs to

Well, Fedora is not a distribution that cares about whether it is easily
bootstrappable. It never was a goal to be one. If you want to make it
one, then that's fine, but that'd be something to make an official goal
first, by going through FESCO...

If you want a distro that is bootstrappable, the way that Gentoo is, or
that Debian tries to be then that's OK. I personally don't think it is
worth the effort though, as we don't have to bootstrap new archs every
other week...

I believe that's something that the Base working group is actually
actively trying to achieve, Phil or one of the members might be able
to comment further on their exact plans for this.

Right. So the main focus right now is first of all cleaning up what buildrequires we have and targeting the things that would will make a big difference.

For one thats the work Benedikt Morbach has been working on over the past 2 months in regards to automatically finding potentially unnecessary buildrequires and then working with upstream and Fedora maintainers on fixing them.

The next topic we've started looking at is more related to the bootstrapping. Granted, we don't do that every release, but as the past several years has show us new architectures can pop up rather quickly, and bootstrapping Fedora right now is a real pain as me, Peter and Dennis can attest to.

But there the issue is more cyclic dependencies, especially among core components. As long as we get those fixed the rest will be "relatively" easy. It's still much more than a simple rpmbuild --rebuild foo.srpm, but a goal would be to get to that state without having to jump through 3 very heavily scripted and hacked manual stages with lots of ugly stuff in the builds happening there.

I agree though that this is relatively unimportant for everyday operation in Fedora (or any distribution for that matter) and a typical developer/maintainer probably doesn't care (and probably shouldn't, really).

Now, coming to systemd and the requirements there, i'm all for removing unnecessary requirements, and especially with our increasing focus on containerized applications and images (e.g. docker or similar) i'd love to see very lean images by default being constructed with default packages without any post install hacks again, so i'd personally appreciate it if that would be fixed, but it's certainly not the end of the world if it isn't and by far less severe than other disasters that happened in packaging in Fedora (see texlive, but we're trying to fix some of that insanity).

I'm less inclined to agree with the argument for mock and builds now taking much longer to run due to these requirements. Looking at some of the examples (and having run a few of my own), the typical additional number of packages with or without the subpackage is usually very low (aka, below 10) and won't affect build time drastically.

cross-compile to get a bootable core was very difficult because of
dependencies, and managing the path up to koji was a nightmare.  Even
after that, there were some packages that couldn't be built *at all*
because of circuilar dependencies or dependencies on them.

Cyclic dependencies are something that so far was accepted in
Fedora. If you want to get rid of that, then make it a Fedora goal...

For many packages getting rid of the cyclic deps would mean having to
build things twice, but I am not sure this is really worth the work...

Well if you can set a boostrap flag in the distro, run a set of
builds, unset the flag, bump and rebuild it's really not that much
work,

Aye, but thats still work that we have to flash out in more detail and then get someone actively really working on it. The basic principle is "easy" (see the bootstrap flag in the perl-* packages), but making sure it is being properly done and maintained is a different matter.

So, to all of you who say "oh well" to dependencies... I hate you.

Seriously.  Not only have you made my personal job miserable for a
while, but you demonstrate the worst traits of engineering.  If
there's a problem, you don't hide it or just "let it be because we're
used to it."  You *fix* it.  And you make sure it *stays* fixed.  Take
some pride in your work!  Do the best you can!  If you're only willing
to do mediocre work and let problems exist because you can't be
bothered to fix them, then Fedora will at best be a mediocre product.

You know, some cyclic des might be easy to resolve, but a big chunk
really isn't. And our core OS stuff is full of it. I think you
underestiate the complexity of this.

There's actually been some analysis done of this and people are
actively working to reduce them.

Peter


Exactly, as i've said, doing that manually is rather insane (see http://www.harald-hoyer.de/2014/01/14/self-hosting-fedora-base/ for some funny graphics regarding this), and the dependency creep that happened in Fedora over the past 10+ years is really the cause of it.

So addressing this and focusing then on the 80% of the real issues instead of picking and tiny bits left and right will yield a much bigger bang for the buck, therefore as long as systemd itself doesn't start to do cyclic dependencies i'm personally fine with it being pulled in occasionally.

Thanks & regards, Phil

--
Philipp Knirsch              | Tel.:  +49-711-96437-470
Manager Core Services        | Fax.:  +49-711-96437-111
Red Hat GmbH                 | Email: Phil Knirsch <pknirsch@xxxxxxxxxx>
Wankelstrasse 5              | Web:   http://www.redhat.com/
D-70563 Stuttgart, Germany
--
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxxx
https://admin.fedoraproject.org/mailman/listinfo/devel
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux