source: ProjectBuilder/devel/pb-modules/etc/pb.conf@ 866

Last change on this file since 866 was 866, checked in by Bruno Cornec, 15 years ago

Prepare a new conf file for pb-modules, which will contain all the specificities of pb wrt distributions/OS and will allow to make it customizable by admin instead of coded inside the project

File size: 5.8 KB
Line 
1# $Id$
2#
3# Main configuration file for project-builder.org
4#
5
6#
7# Define Operating systems
8#
9
10#
11# For the following keys osrelfile and osrelambfile:
12# The left member is the key that will be used overall as the OS name
13# The right member is the name of the file that has to be looked at to get OS info
14#
15# It should be noted that the list of all OS is the result of gathering
16# all the keys from osrelfile and osrelambfile
17#
18
19#
20# Those definitions are non-ambiguous (the file only exists for that OS)
21#
22# Tested
23#
24# Gentoo >= 1.6
25osrelfile gentoo = /etc/gentoo-release
26
27# Slackware >= 10.2
28osrelfile slackware = /etc/slackware-version
29
30# Mandriva >=2006.0
31osrelfile mandriva = /etc/mandriva-release
32
33# Mandrake = 10.2
34osrelfile mandrakelinux = /etc/mandrakelinux-release
35
36# Fedora >= 4
37osrelfile fedora = /etc/fedora-release
38
39# VMWare >= 3
40osrelfile vmware = /etc/vmware-release
41
42# SLES - Doesn't exist as of 10
43osrelfile sles = /etc/sles-release
44
45# Asianux >= 2.2
46osrelfile asianux = /etc/asianux-release
47
48# Solaris 10
49osrelfile solaris = /etc/release
50
51#
52# Untested
53#
54osrelfile knoppix = /etc/knoppix_version
55osrelfile yellowdog = /etc/yellowdog-release
56osrelfile esmith = /etc/e-smith-release
57osrelfile turbolinux = /etc/turbolinux-release
58osrelfile blackcat = /etc/blackcat-release
59osrelfile aurox = /etc/aurox-release
60osrelfile annvix = /etc/annvix-release
61osrelfile cobalt = /etc/cobalt-release
62osrelfile redflag = /etc/redflag-release
63osrelfile ark = /etc/ark-release
64osrelfile pld = /etc/pld-release
65osrelfile nld = /etc/nld-release
66osrelfile lfs = /etc/lfs-release
67osrelfile mk = /etc/mk-release
68osrelfile conectiva = /etc/conectiva-release
69osrelfile immunix = /etc/immunix-release
70osrelfile tinysofa = /etc/tinysofa-release
71osrelfile trustix = /etc/trustix-release
72osrelfile adamantix = /etc/adamantix_version
73osrelfile yoper = /etc/yoper-release
74osrelfile arch = /etc/arch-release
75osrelfile libranet = /etc/libranet_version
76osrelfile valinux = /etc/va-release
77osrelfile yellowdog = /etc/yellowdog-release
78osrelfile ultrapenguin = /etc/ultrapenguin-release
79
80#
81# Here are the ambiguous file association
82# E.g. the file /etc/redhat-release is found on multiple distro such as redhat, rhel, centos, mandrake, vmware
83#
84
85# Mandrake <= 10.1
86osrelambfile mandrake = /etc/mandrake-release
87
88# Debian >= 3.1
89osrelambfile debian = /etc/debian_version
90
91# SuSE >= 10.0
92osrelambfile suse = /etc/SuSE-release
93
94# RedHat >= 7.3
95osrelambfile redhat = /etc/redhat-release
96
97# LSB
98osrelambfile lsb = /etc/lsb-release
99
100#
101# Here is the association between the key and all the OS usig the same file
102# The key mentioned here should be the same as the previous ones
103#
104osambiguous mandrake = mandrake,mandrakelinux
105osambiguous debian = debian,ubuntu
106osambiguous suse = suse,sles,opensuse
107osambiguous redhat = redhat,rhel,centos,mandrake,vmware
108osambiguous lsb = ubuntu,lsb
109
110#
111# The next key give the Regular Expression that is used when parsing the previous file
112# to find the version needed in it
113#
114osrelexpr gentoo = .* version (.+)
115osrelexpr slackware = S[^ ]* (.+)$
116osrelexpr mandriva = Mandr[^ ]* [^ ]* release (.+) \(
117osrelexpr mandrake = Mandr[^ ]* release (.+) \(
118osrelexpr mandrakelinux = Mandrakelinux release (.+) \(
119osrelexpr fedora = Fedora .*release (\d+) \(
120osrelexpr vmware = VMware ESX Server (\d+) \(
121osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
122osrelexpr centos = .*CentOS .*release ([0-9]).*
123osrelexpr redhat = Red Hat Linux release (.+) \(
124osrelexpr sles = SUSE .* Enterprise Server (\d+) \(
125osrelexpr suse = SUSE LINUX (\d.+) \(
126osrelexpr opensuse = openSUSE (\d.+) \(
127osrelexpr asianux = Asianux (?:Server|release) ([0-9]).* \(
128osrelexpr lsb = .*[^Ubunt].*\nDISTRIB_RELEASE=(.+)
129osrelexpr ubuntu = .*Ubuntu.*\nDISTRIB_RELEASE=(.+)
130osrelexpr debian = (.+)
131osrelexpr solaris = Solaris (\d+)
132
133# Ganularity is the following:
134#
135# ostype
136# osfamily
137# os
138# os-ver
139# os-ver-arch
140
141# Group OS by family to handle common actions more easily (filtering, install command, ...)
142osfamily debian = du
143osfamily ubuntu = du
144osfamily gentoo = gen
145osfamily slackware = slack
146osfamily suse = novell
147osfamily opensuse = novell
148osfamily sles = novell
149osfamily redhat = rh
150osfamily rhel = rh
151osfamily fedora = rh
152osfamily vmware = rh
153osfamily asianux = rh
154osfamily centos = rh
155osfamily mandrake = md
156osfamily mandrakelinux = md
157osfamily mandriva = md
158osfamily freebsd = bsd
159osfamily solaris = sol
160osfamily unknown = unknown
161
162# Group family by build types
163ostype du = deb
164ostype slack = tgz
165ostype gen = ebuild
166ostype novell = rpm
167ostype rh = rpm
168ostype md = rpm
169ostype bsd = port
170ostype sol = pkg
171ostype unknown = unknown
172
173# From the most generic to the most specialized, in term of granularity,
174# give the command to use to install on the OS
175# If none is given, no install can takes place
176osupd du = sudo apt-get update ; sudo apt-get -y install
177osupd gen = sudo emerge
178osupd rpm = sudo yum clean all; sudo yum -y update ; sudo yum -y install
179osupd rhel-2.1 = sudo up2date -y
180osupd rhel-3 = sudo up2date -y
181osupd rhel-4 = sudo up2date -y
182osupd md = sudo urpmi.update -a ; sudo urpmi --auto
183osupd novell = export TERM=linux ; export PATH=\$PATH:/sbin:/usr/sbin ; sudo yast2 -i
184osupd unknown = unknown
185
186# From the most generic to the most specialized, in term of granularity,
187# give the suffix for the packages created
188# If none is given, the suffix will be a concatenation of
189# .osname and version
190# osname being as defined upper as the keys of osrelfile and osrelambfile
191
192ossuffix slackware = slack
193ossuffix asianux = asx
194ossuffix fedora = fc
195ossuffix vmware = vmw
196ossuffix mandrake = mdk
197ossuffix mandriva = mdv
198#ossuffix centos = el
199
200# For that OS no need to keep the version
201osnover gentoo = true
202
203# For that OS no need to keep the . in the version release
204osremovedotinver mandrake = true
205osremovedotinver redhat = true
Note: See TracBrowser for help on using the repository browser.