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

Last change on this file since 968 was 968, checked in by Bruno Cornec, 14 years ago
  • Use pbsnap in pb_script2v instead of forcing no snapshot
  • use x86_64 arch for debian, and only amd64 for debootstrap call
  • debootstrap doesn't create a /etc/hosts file, so copy the local one in the VE
  • debian version do not include by default subversion (5.0 vs 5.0.4)
  • Announce of pb pres at slideshare
File size: 11.9 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, and the values of osrelambfile
17#
18
19#
20# The following conf info are for pb_distro_get (man ProjectBuilder::Distribution)
21#
22# Those definitions are non-ambiguous (the file only exists for that OS)
23#
24# Tested
25#
26# Gentoo >= 1.6
27osrelfile gentoo = /etc/gentoo-release
28
29# Slackware >= 10.2
30osrelfile slackware = /etc/slackware-version
31
32# Mandriva >=2006.0
33osrelfile mandriva = /etc/mandriva-release
34
35# Mandrake = 10.2
36osrelfile mandrakelinux = /etc/mandrakelinux-release
37
38# Fedora >= 4
39osrelfile fedora = /etc/fedora-release
40
41# VMWare >= 3
42osrelfile vmware = /etc/vmware-release
43
44# SLES - Doesn't exist as of 10
45osrelfile sles = /etc/sles-release
46
47# Asianux >= 2.2
48osrelfile asianux = /etc/asianux-release
49
50# LSB
51osrelfile lsb = /etc/lsb-release
52
53# Solaris 10
54osrelfile solaris = /etc/release
55
56#
57# Untested
58#
59osrelfile knoppix = /etc/knoppix_version
60osrelfile yellowdog = /etc/yellowdog-release
61osrelfile esmith = /etc/e-smith-release
62osrelfile turbolinux = /etc/turbolinux-release
63osrelfile blackcat = /etc/blackcat-release
64osrelfile aurox = /etc/aurox-release
65osrelfile annvix = /etc/annvix-release
66osrelfile cobalt = /etc/cobalt-release
67osrelfile redflag = /etc/redflag-release
68osrelfile ark = /etc/ark-release
69osrelfile pld = /etc/pld-release
70osrelfile nld = /etc/nld-release
71osrelfile lfs = /etc/lfs-release
72osrelfile mk = /etc/mk-release
73osrelfile conectiva = /etc/conectiva-release
74osrelfile immunix = /etc/immunix-release
75osrelfile tinysofa = /etc/tinysofa-release
76osrelfile trustix = /etc/trustix-release
77osrelfile adamantix = /etc/adamantix_version
78osrelfile yoper = /etc/yoper-release
79osrelfile arch = /etc/arch-release
80osrelfile libranet = /etc/libranet_version
81osrelfile valinux = /etc/va-release
82osrelfile yellowdog = /etc/yellowdog-release
83osrelfile ultrapenguin = /etc/ultrapenguin-release
84
85#
86# Here are the ambiguous file association
87# E.g. the file /etc/redhat-release is found on multiple distro such as redhat, rhel, centos, mandrake, vmware
88#
89
90# Mandrake <= 10.1
91osrelambfile mandrake = /etc/mandrake-release
92
93# Debian >= 3.1
94osrelambfile debian = /etc/debian_version
95
96# SuSE >= 10.0
97osrelambfile suse = /etc/SuSE-release
98
99# RedHat >= 7.3
100osrelambfile redhat = /etc/redhat-release
101
102# LSB
103osrelambfile lsb = /etc/lsb-release
104
105#
106# Here is the association between the key and all the OS usig the same file
107# The key mentioned here should be the same as the previous ones
108#
109osambiguous mandrake = mandrake,mandrakelinux
110osambiguous debian = debian,ubuntu
111osambiguous suse = suse,sles,opensuse
112osambiguous redhat = redhat,rhel,centos,mandrake,vmware
113osambiguous lsb = ubuntu,lsb
114
115#
116# The next key give the Regular Expression that is used when parsing the previous file
117# to find the version needed in it
118#
119osrelexpr gentoo = .* version (.+)
120osrelexpr slackware = S[^ ]* (.+)$
121osrelexpr mandriva = Mandr[^ ]* [^ ]* release (.+) \(
122osrelexpr mandrake = Mandr[^ ]* release (.+) \(
123osrelexpr mandrakelinux = Mandrakelinux release (.+) \(
124osrelexpr fedora = Fedora .*release (\d+) \(
125osrelexpr vmware = VMware ESX Server (\d+) \(
126osrelexpr rhel = Red Hat (?:Enterprise Linux|Linux Advanced Server) .*release ([0-9.]+).* \(
127osrelexpr centos = .*CentOS .*release ([0-9]).*
128osrelexpr redhat = Red Hat Linux release (.+) \(
129osrelexpr sles = SUSE .* Enterprise Server (\d+) \(
130osrelexpr suse = SUSE LINUX (\d.+) \(
131osrelexpr opensuse = openSUSE (\d.+) \(
132osrelexpr asianux = Asianux (?:Server|release) ([0-9]).* \(
133osrelexpr lsb = .*\nDISTRIB_ID=LSBSI\nDISTRIB_RELEASE=(.+)
134osrelexpr ubuntu = .*Ubuntu.*\nDISTRIB_RELEASE=(.+)
135osrelexpr debian = (\d+\.\d+)
136osrelexpr solaris = Solaris (\d+)
137
138#
139# The following conf info are for pb_distro_init (man ProjectBuilder::Distribution)
140#
141# Ganularity is the following:
142#
143# ostype
144# osfamily
145# os
146# os-ver
147# os-ver-arch
148
149# Group OS by family to handle common actions more easily (filtering, install command, ...)
150# Key is osname, Value is osfamily
151osfamily debian = du
152osfamily ubuntu = du
153osfamily gentoo = gen
154osfamily slackware = slack
155osfamily suse = novell
156osfamily opensuse = novell
157osfamily sles = novell
158osfamily redhat = rh
159osfamily rhel = rh
160osfamily fedora = rh
161osfamily vmware = rh
162osfamily asianux = rh
163osfamily centos = rh
164osfamily mandrake = md
165osfamily mandrakelinux = md
166osfamily mandriva = md
167osfamily lsb = rh
168osfamily freebsd = bsd
169osfamily solaris = sol
170
171# Group family by build types
172# Key is osfamily, Value is build type
173ostype du = deb
174ostype slack = tgz
175ostype gen = ebuild
176ostype novell = rpm
177ostype rh = rpm
178ostype md = rpm
179ostype bsd = port
180ostype sol = pkg
181
182# From the most generic to the most specialized, in term of granularity,
183# give the command to use to install on the OS
184# If none is given, no install can takes place
185# key depends on granularity, value is install command
186
187# Chaining the commands allow to only test for what is able to be installed,
188# not the update of the repo which may well be unaccessible if too old
189osupd du = sudo apt-get update ; sudo apt-get -y install
190osupd gen = sudo emerge
191osupd rpm = sudo yum clean all; sudo yum -y update ; sudo yum -y install
192osupd rhel-2.1 = sudo up2date -y
193osupd rhel-3 = sudo up2date -y
194osupd rhel-4 = sudo up2date -y
195osupd md = sudo urpmi.update -a ; sudo urpmi --auto
196osupd novell = export TERM=linux ; export PATH=\$PATH:/sbin:/usr/sbin ; sudo yast2 -i
197osupd opensuse = sudo zypper -n install
198osupd sol = sudo pkgadd -d
199osupd lsb = /bin/true
200
201# From the most generic to the most specialized, in term of granularity,
202# give the suffix for the packages created
203# If none is given, the suffix will be a concatenation of
204# .osname and version
205# osname being as defined upper as the keys of osrelfile and osrelambfile
206# depends on granularity, value is install command
207
208ossuffix slackware = slack
209ossuffix asianux = asx
210ossuffix fedora = fc
211ossuffix vmware = vmw
212ossuffix mandrake = mdk
213ossuffix mandriva = mdv
214ossuffix lsb = lsb
215#ossuffix centos = el
216
217# For that OS no need to keep the version
218# Key depends on granularity, value is boolean
219osnover gentoo = true
220
221# For that OS no need to keep the . in the version release
222# Key depends on granularity, value is boolean
223osremovedotinver mandrake = true
224osremovedotinver redhat = true
225
226# These deps are needed before setupvm|ve can be run.
227# Install them with your distribution in VM or automatically in VE
228osmindep default = perl,sudo,wget,tar,make,gzip
229
230# pb install dependencies per distro
231# osperldep gives perl file dependecies to get from CPAN
232# ospkgdep gives distribution package dependencies
233#
234# Asianux - Module-Build first for processing as needed by others
235osperldep asianux = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
236ospkgdep asianux = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp
237# Fedora - Module-Build first for processing as needed by others
238osperldep fedora-4 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
239ospkgdep fedora-4 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp
240osperldep fedora =
241ospkgdep fedora-5 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
242ospkgdep fedora-6 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
243ospkgdep fedora-7 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
244ospkgdep fedora-8 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
245ospkgdep fedora-9 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
246ospkgdep fedora-10 = wget,make,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
247ospkgdep fedora = wget,make,fprintd-pam,perl-Date-Manip,perl-ExtUtils-MakeMaker,rpm-build,patch,ntp,perl-File-MimeInfo,perl-Mail-Sendmail
248# fprintd-pam
249# Slack - Module-Build first for processing as needed by others
250osperldep tgz = Module-Build,Date-Manip,File-MimeInfo,File-BaseDir,Mail-Sendmail
251ospkgdep tgz = wget,make,ntp,patch
252# RHEL
253osperldep rhel-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
254ospkgdep rhel-5 = wget,make,ntp,patch,perl-DateManip
255osperldep centos-5 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
256ospkgdep centos-5 = wget,make,ntp,patch,perl-DateManip
257osperldep rhel-4 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
258ospkgdep rhel-4 = wget,make,ntp,patch,perl-DateManip
259osperldep centos-4 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
260ospkgdep centos-4 = wget,make,ntp,patch,perl-DateManip
261osperldep rhel-3 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
262ospkgdep rhel-3 = wget,make,ntp,patch,perl-DateManip
263osperldep centos-3 = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
264ospkgdep centos-3 = wget,make,ntp,patch,perl-DateManip
265# Old RedHat - Module-Build first for processing as needed by others
266osperldep redhat = Module-Build,Date-Manip,File-MimeInfo,File-BaseDir,Mail-Sendmail
267ospkgdep redhat = wget,make,ntp,patch
268# Old SuSE - Module-Build first for processing as needed by others
269osperldep suse = Module-Build,Date-Manip,File-MimeInfo,File-BaseDir,Mail-Sendmail
270ospkgdep suse = wget,make,ntp,patch
271# New OpenSuSE - Module-Build first for processing as needed by others
272osperldep opensuse = Module-Build,File-MimeInfo,File-BaseDir,Mail-Sendmail
273ospkgdep opensuse = wget,make,ntp,patch,perl-Date-Manip,perl-File-HomeDir
274# Mdv
275osperldep mandrake-10.1 = Date-Manip
276ospkgdep mandrake-10.1 = rpm-build,wget,patch,make,ntp-client,perl-File-MimeInfo,perl-Mail-Sendmail
277osperldep md =
278ospkgdep md = rpm-build,wget,patch,make,ntp-client,perl-File-MimeInfo,perl-Mail-Sendmail,perl-Date-Manip
279# LSB
280osperldep lsb = Module-Build,Date-Manip,File-MimeInfo,File-BaseDir,Mail-Sendmail
281ospkgdep lsb =
282# Debian
283osperldep debian-3.1 = File-MimeInfo,File-BaseDir
284ospkgdep debian-3.1 = wget,patch,dpkg-dev,make,debian-builder,dh-make,fakeroot,ntpdate,libmodule-build-perl,libdate-manip-perl,libmail-sendmail-perl
285osperldep deb =
286ospkgdep deb = wget,patch,dpkg-dev,make,debian-builder,dh-make,fakeroot,ntpdate,libfile-mimeinfo-perl,libmodule-build-perl,libdate-manip-perl,libmail-sendmail-perl
287# Gentoo
288osperldep gen =
289ospkgdep gen = wget,ntp,make,patch,DateManip,File-MimeInfo,Mail-Sendmail
290# Solaris - Module-Build first for processing as needed by others
291osperldep pkg = Module-Build,Date-Manip,File-MimeInfo,File-BaseDir,Mail-Sendmail
292# Should be installaed manually first for the moment
293#ospkgdep pkg = wget,make,perl
294# And also need ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/sudo-1.7.2p1-sol10-sparc-local.gz ftp://ftp.sunfreeware.com/pub/freeware/sparc/10/make-3.81-sol10-sparc-local.gz ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libintl-3.4.0-sol10-x86-local.gz ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libiconv-1.9.2-sol10-x86-local.gz ftp://ftp.sunfreeware.com/pub/freeware/intel/10/libgcc-3.4.6-sol10-x86-local.gz
295
296# Version of the perl module as found on CPAN
297# http://search.cpan.org/CPAN/modules/by-module
298osperlver Date-Manip = 5.54
299osperlver Module-Build = 0.35
300osperlver File-MimeInfo = 0.15
301osperlver File-BaseDir = 0.03
302osperlver Mail-Sendmail = 0.79
303
304# Code name for debian/ubuntu distro
305# used by debootstrap
306# Cf: http://www.debian.org/releases/
307# and https://wiki.ubuntu.com/DevelopmentCodeNames
308oscodename debian-3.1 = sarge
309oscodename debian-4.0 = etch
310oscodename debian-5.0 = lenny
311oscodename ubuntu-6.06 = dapper
312oscodename ubuntu-7.04 = feisty
313oscodename ubuntu-7.10 = gutsy
314oscodename ubuntu-8.04 = hardy
315oscodename ubuntu-8.10 = intrepid
316oscodename ubuntu-9.04 = jaunty
317oscodename ubuntu-9.10 = karmic
318oscodename ubuntu-10.04 = lucid
Note: See TracBrowser for help on using the repository browser.