bedrocklinux / bedrocklinux-userland

This tracks development for the things such as scripts and (defaults for) config files for Bedrock Linux
https://bedrocklinux.org
GNU General Public License v2.0
612 stars 66 forks source link

List Git minimum version on requirements page? #83

Closed James-E-A closed 6 years ago

James-E-A commented 6 years ago

I'm trying to use Bedrock Linux so I can combine Fedora 14's support for my laptop's graphics chipset with more up-to-date browser, tools, etc.

However, it seems that the feature to retrieve a specific tag with clone --branch <tagname> was added at some point between git 1.7.9.5 and 1.8.3.5. I couldn't spot the exact place in the changelog, though I managed to get my hands on a Git 1.8.2.1 binary, which did work for me as-is and seemed to be able to just get dumped into /usr/local/bin without breaking anything.

The fetch system's expectation of this behavior breaks when presented with an old Git version (e.g., Fedora's 1.7.4.4, which cannot trivially be updated to a newer version due to its requiring Perl to be updated, etc etc), since it's not cloning the right version of libattr. Could it be added to the install guides, something like "Git (1.8+ recommended)? The error was not obviously attributable to the Git version; it seemed to be a problem with libattr: include/xattr.h is just missing in the Git master, evidently..(and ninja'ing it in with (until cp -v /tmp/xattr.h src/libattr/include/xattr.h; do sleep .1;done) & make doesn't fix the compiler error :rofl:)

paradigm commented 6 years ago

Good job hunting down that issue! It would have taken me a while to realize the problem in your shoes. I would have expected git to return non-zero and abort when it saw the unrecognized --branch flag, returning a non-zero that make should have picked up. Maybe I piped something and lost the return value?

I'll make a note about this in the guide somewhere, probably over the weekend.

A few other thoughts:

I expect you're well aware of this, but I feel obligated to warn you that Fedora 14 is no longer supported and is not getting security updates. Maybe try CentOS 6? Age wise it is roughly comparable to Fedora 14, and it largely has the same Red Hat platform specifics. I figure odds aren't bad it'll similarly support your laptop. Unlike Fedora 14, CentOS 6 is expected to continue to get security updates for the next few years. That having been said, Linux is typically pretty good about backwards compatibility; whatever makes you feel obligated to use specially Fedora 14 is likely something unusual and I can't say with any certainty that any other major distro supports it.

Bedrock Linux lets you have multiple instances of a lot of things, like libc, at once, which is part of how it lets you run software from multiple distros simultaneously. However, there are some things it can only have one instance of at a time, such as the kernel. If some executable from some other distro has a hard dependency on a given kernel feature that the Fedora 14 kernel does not support, Bedrock Linux is unable to help you run it. For example, I think Void Linux's xbps package manager uses a relatively new system call and likely won't work for you with that older kernel. Most things aren't that picky about the kernel version, and so you should be fine, but it's worth keeping this in mind if you run into a problem.

Other than one security related feature that requires Linux 2.6.24 (which is older than Fedora 14's 2.6.35, so you're okay there), I try to avoid having Bedrock Linux require some overly new kernel feature, prioritizing portability, and so it probably works with Fedora 14's kernel. However, that kernel is a bit older than anything I've personally tried, and I might have added a dependency on something newer without realizing it. Probably won't be an issue, but it's also worth keeping in mind.

Bedrock Linux has some rough edges and isn't quite right for everyone at this stage, but your situation - the need for old packages with a desire for newer ones - is a very good use case for Bedrock Linux. Hope this works out for you. If you run into other issues, don't hesitate to ask for help.

James-E-A commented 6 years ago

I feel obligated to warn you that Fedora 14 is no longer supported and is not getting security updates. Maybe try CentOS 6?

This might be an off-topic tangent, but

Specifically, the

Fedora 14's support for my laptop's graphics chipset

refers to Intel's Embedded Media Graphics Driver, (the most performant driver) for my laptop's Atom Z520's iGPU, the dreaded GMA500.

The modern/"supported"/default psb_gfx/gma500_gfx driver that powers this chipset OOTB on all modern distributions is (sadly) not quite suitable (despite the fact that it's an order of magnitude or two more suitable than it used to be); and the current/only "leader" (aka least dead) effort to "port" EMGD to modern distros (namely, Thomas Karl Pietrowski's EMGD PPA, for Ubuntu Precise~Artful) does not actually seem to work (at least on Xenial, anyway; the exact thing I did was an XFCE Desktop install via the Ubuntu 16.04 i386 Netinstall CD, added the PPA, installed emgd-driver, and rebooted: X blacks the screen, and you can see one (low-res) frame at a time by switching to and from the VTYs and the X).

But, back on topic:

My thoughts are, this seems like a precisely relevant case for Bedrock Linux:

* Technically speaking, Intel also supports MeeGo 1.2 and Tizen 1.0 with this package, but I get the impression that Fedora 14 is going to be my best bet among the available options, for a number of reasons. :laughing: ..Support, but also I'm sure it's going to be the least-bad security-wise if there's no way out of running a 5-year-old kernel)

I think it would be really cool to be able to provide myself with a same-ish user experience across a spectrum of devices (e.g., having AMDGPU (rather than the aging Radeon driver) on Pitcairn via Gentoo on desktop, EMGD on Poulsbo via Fedora on mobile, but the exact same (colloquially speaking) "user space" suite of software between them, provided by maybe Nix or something)

And I guess even if it doesn't work out, there will be learning (and possibly contributions) in the attempt.

I've been running into several other snags compiling it on here; I'll report those when I have a chance to gather useful info (probably after finals are over)

paradigm commented 6 years ago

Oh man, I had forgotten about the poulsbo saga. I think I had tried to suppress that bad memory. That is a good reason to need something uncommon.

One nice thing about Bedrock Linux is that you can swap out what is providing your kernel, xorg, etc relatively easily. You can set everything up with Fedora 14 providing the kernel+drivers+X11 initially. Later, if you've not given up making your GMA500 play nicely with newer distro components, you can reboot with another kernel and try out another X11 server. If that fails, just reboot back to the Fedora 14 kernel and X11 server. This should make attempting to use the EMGD PPA with, say, Artful, less work than it would have been otherwise.

Good luck on exams!

paradigm commented 6 years ago

Add note about git version requirement in this commit on the website repo. I'm closing assuming this covered it - if I'm missing somewhere you feel the note should be added, feel free to re-open or otherwise let me know.