Thank you for the suggestions so far -
$ lsb_release seems to give good information, my Fedora 15 machine returns LSB Version: :core-4.0-ia32:core-4,0-noarch In addition, I did a ls of the /etc directory and found a file called system-release-cpe, Looking in it says cpe:/o:fedoraproject:fedora:15 Now, this may be unique to fedora (isn't open source wonderful?), but if all distros have that file, I think that may be the solution, I've got an ubuntu machine running, too - I should look to see what it has. Say what you will about the windows registry, but at least there's a common place to look for and put information. And no, I don't want to start a war over the merits of one OS over another, just trying to make my program portable to the most machines with the least effort for the end user. _____ From: ik [mailto:ido...@gmail.com] Sent: Sunday, July 31, 2011 10:55 To: Lazarus mailing list Subject: Re: [Lazarus] Determining OS On Sun, Jul 31, 2011 at 17:43, Graeme Geldenhuys <graemeg.li...@gmail.com> wrote: 2011/7/31 ik <ido...@gmail.com>: > Please note that system.d is Fedora implementation (v15) so for Linux you > need to detect also the Linux distro, and that's a bit more complicated. Any distro worth using should support the LSB standards. With that being said, you can use the 'lsb_release' command to find out exactly what distribution and version is being used. I'm using Arch Linux and that is my output: ------------------------ $ lsb_release LSB Version: n/a $ ------------------------- But I have the following file: /etc/arch-release I think that looking for /etc/*release is more reliable at the moment for distros. BTW The TRegistry class is cross platform. On Windows it uses Registry, and on other OS, it uses INI files. -------------------------------------------------------------------------- $ lsb_release --help Usage: lsb_release [options] Options: -h, --help show this help message and exit -v, --version show LSB modules this system supports -i, --id show distributor ID -d, --description show description of this distribution -r, --release show release number of this distribution -c, --codename show code name of this distribution -a, --all show all of the above information -s, --short show all of the above information in short format $ lsb_release -a No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 8.04.4 LTS Release: 8.04 Codename: hardy -------------------------------------------------------------------------- -- Regards, - Graeme - Ido _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://fpgui.sourceforge.net -- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
-- _______________________________________________ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus