Installing (RPM)
There are two ways of getting Vitalnix installed. One is to install the RPM package, the other is to compile the source tree itself. I suggest using the former, since it is way easier to upgrade it later.
(replace %version and %arch appropriately)... installs the RPM package. That is all there is, it is that easy. Program files will be installed in these paths:
Conflicting files
The Vitalnix package actually does "conflict" with other installed packages, as it provides some tools itself, which may already be installed by other -- possibly base system -- packages. This currently includes shadow.rpm, and in near future coreutils, and possible util-linux. The Vitalnix RPM has no "Conflict" tag included, as these issues are not resolved yet. Files installed in system directories are called different, i.e. vgroupadd instead of just groupadd. Installing (Source tree)
The other way is to compile the sources: Extract the source tree and run `gmake`. If everything went well, ACCDB, its back-ends, system programs and Daxtraq will be compiled, lying in the current directory (the root of the source tree). Note that "." is added to the library search paths for all of Vitalnix, so if you happen to run any of the utilities from a directory which has a different libaccdb.so, that one will be used instead. If you only wish to make certain parts of the source tree, the Makefile provides the following targets: all, accdb, backends, sysprog and daxtraq. "all" is assumed when no target is given to gmake. To install the compiled binaries to system folders, run gmake install. The default paths to which the binaries and modules will be installed are the ones listed above. To change this behavior, you can pass some variables to gmake (or edit the Makefile): If, for example, you want to compile on one machine and then copy it over to another using mounted directories (NFS, CIFS, SMBFS), you can use the PREFIX variable:
So that Daxtraq gets stored in i.e. /nfspath/usr/sbin/daxtraq. But we allow more fine control about what is placed where, since the PREFIX variable is prepended to all the variables BINDIR (default /bin), ETCDIR (/etc), USRINC (/usr/include), USRBIN (/usr/bin), USRSBIN (/usr/sbin) and VARLIB (/var/lib). Any of these variables overrides PREFIX, so this does something completely different:
since that will install everything into /mnt/... but configuration files, which come into /etc/. You usually do not need this, not even PREFIX, but it is here for completeness. DebuggingYou can pass DEBUG=1 to gmake (or edit the Makefile) to enable debugging support for GDB. If you happen to run into a Segmentation fault (also called Segment violation, a bug or a crash), you can use GDB or the provided segvtracer utility (to be found in devutil/). Run it, with the original program's name and arguments as its arguments, i.e. segvtracer vgroupadd -g 666 satan. Something like the following might show up (Daxtraq used in this case):
You can either debug the problem yourself, correct it and submit a patch, or on purpose submit the source tree, complete with compiled files (thus, only ix86), over. Of course, submitting a GDB log is also accepted, as shown below. Please note that the SIGSEGV might only happen at your machine, because of the conditions there. In that case, other arrangements need to be made.
SegvTracer will NOT be installed to any system folders, either by the RPM or by `gmake install`. (In the example above, the error was that mm_register_ds() did not check for d == NULL, not a libHX fault.)
|