-
Notifications
You must be signed in to change notification settings - Fork 5
Distribution-agnostic installer #111
Comments
For VGL, I'd check /opt/VirtualGL which is the official path. If that fails, we can fallback to searching vglrun in /usr/local/bin and /usr/bin (I doubt /bin ever contains such binaries, so I did not include that). You're probably right on pre- and post-configuration (i.e. fixing OpenGL on the Intel display), if we create an INSTALL file documentating that, Bumblebee would be better usable for other distros. |
Ohh... BTW this would eventually deprecate all installer-related branches, and should make all distro-dev branches obsolete. So please any distribution-specific developers take a look at this branch: This installer is intended to be configurable to the bone and targeted to package makers. For user usage there should be a documentation about each option, clear enough so any user can use it from cli. |
- First attempt of a functional agnostic installer for GH-#111 WARNING: Sanity check is still not reliable, use with caution and set ALL variables via command line. The help message is outdated and should be updated soon
Well the installer is "usable" at minimum. ALL VARIABLES MUST BE SET!!! The sanity check is not reliable yet. Needs to be improved. And the variables doesn't have any default. |
Ok, just to clarify some things: This installer won't check for dependencies (yet). Is intended to be a helper on package and to be easily portable to any distro. Here are some examples on usage (in the future all *.new files should be renamed): For ArchLinux this installer should be used:
|
|
@Lekensteyn: Ok I'll do the refactor. |
There is a problem with the default directories setting. I've tested on a box and they point relative to root in the configuration instead of the prefix (like LIBDIR). The DESTDIR is not set. And there is no way to set it in the configuration, nor make. I'll check that later |
Well, thanks to @Lekensteyn the installer is in a usable (yet not by everyone, not fail-safe) state: Pre-installation stepsSome things must be there for Bumblebee to work, all of this are left to the packager:
InstallThe installer has two steps, configure for the distribution (where you set paths and destinations) and installation through Example configure:./configure --driver=nouveau --prefix=/usr --confdir=/etc That would generate this configuration: # autogenerated at Tue, 25 Oct 2011 14:17:18 -0300 by ./configure
BUMBLEBEE_VERSION := 2.4.1~git701a873
BINDIR := /usr/bin
SBINDIR := /usr/sbin
CONFDIR := /etc/bumblebee
LIBDIR := /usr/lib/bumblebee
INITDIR :=
BUILDDIR := .build
XORG_MODULEPATH :=
NV_LIBPATH :=
NV_LIB32PATH :=
DRIVERS := nouveau
NVIDIABUSID := 01:00:0 Then you can install it with make. Example installation for packagers:To install Bumblebee for packaging (and for system wide too) use That will build the files according to the configuration variables, and copy all files to Post-installation steps
Things yet to improveThe current configuration script needs some cleaning:
|
Tasks:
Adding to the post-installation script todo:
To do:
... |
…-installer should remain until fully deprecation and removal of the former installer * common-agnostic-installer: (69 commits) Makefile: use configured files for installation Makefile: create DATADIR if it does not exist Makefile: Install DATADIR Fix wrong default value for DATADIR .gitattributes: expand the commit hash in configure configure: add DATADIR support (PREFIX/share/bumblebee) configure: remove obsolete detect_busid call Make configure executable and remove obsolete installer files (*.new) configure: Remove INITDIR-related stuff configure: Remove NVIDIABUSID-related stuff Makefile: use customized xorg.conf.$driver Removed initdir check, passed along to post-installation steps Makefile: Do not fail if $driver.options does not exist Makefile: check for missing directories in $DESTDIR/.., not /.. configure: Fix incomplete LIBDIR and CONFDIR, missing $PREFIX configure: xorg module path validation should look for nvidia_drv.so Makefile changes to fit driver.options build Set nvidia variables in configuration script. Build the file LIB/drivers/nvidia.options paths Created agnostic LIB/drivers/nvidia.options ...
Well I made This will deprecate the entire |
The ubuntu packages on testing are built with the new installer as well. Let's keep it for a few weeks so maintainers who rely on a branch instead of a tag are able to update their build script. |
Deleting the |
Obsolete with BB3. |
This is highly needed, why? because currently there is no way that any user that uses any distribution other than Ubuntu or ArchLinux can install Bumblebee without tweaking the installer (and I mean, a lot!)
We need to eliminate all distribution related stuff gradually. There are some steps like the configure one that can't be "eliminated", but fortunately those steps can be supplied by packagers (and is the recommended way to install it, anyway).
So, let's take a more "configure-make-install" approach:
configure step (precheck and setting variables):
--prefix=/usr/ --configdir=/etc/
to change that paths. Is not hard to implement with the current installer, there is almost all done."make" step (build files and install in the configured paths):
buildfiles
stage)copyfiles
stage)The post configuration should be left to the user. Just before start complaining about that: That should be done by packagers! This is a way to make the installer distro-agnostic and even more flexible to package for new unsupported distributions. Remember that this installer shouldn't be used by users directly, unless he/she want's to test something crazy on his/her machine.
Opinions are most welcome
The text was updated successfully, but these errors were encountered: