source: branches/samba-3.0/packaging/SGI/spec.pl@ 1036

Last change on this file since 1036 was 1, checked in by Paul Smedley, 18 years ago

Initial code import

File size: 3.0 KB
Line 
1#!/usr/bin/perl
2
3# This perl script generates the samba.spec file based on the version
4# information in the version.h file in the source tree
5
6open (VER,'../../source/include/version.h') || die "Unable to open version.h\n";
7while ( <VER> ) {
8 chomp;
9 if ( /SAMBA_VERSION_OFFICIAL_STRING/ ) {
10 s/^.*SAMBA_VERSION_OFFICIAL_STRING "//;
11 s/".*$//;
12 $SambaVersion = $_;
13 }
14}
15close (VER);
16
17# create the package name
18$vername = " id \"Samba Version ".$SambaVersion."\"\n";
19
20$_ = $SambaVersion;
21s/^.* //;
22$patch = 0;
23#create the subsystem version numbers
24if (/alpha/) {
25 $_ =~ s/alpha/.00./;
26}
27elsif (/-HEAD/) {
28 $_ =~ s/-HEAD/.01/;
29 $_ .= '.99';
30}
31elsif (/pre-/) {
32 $_ =~ s/pre-//;
33 $_ .= '.00';
34}
35elsif (/p/) {
36 $_ =~ s/p/./;
37 $_ .= '.00';
38 $patch = 1;
39}
40else {
41 $_ .='.01.00';
42}
43
44($v1,$v2,$v3,$v4,$v5) = split('\.');
45$v4 = $v4 + $patch;
46$vernum = sprintf(" version %02d%02d%02d%02d%02d\n",$v1,$v2,$v3,$v4,$v5);
47
48# generate the samba.spec file
49open(SPEC,">samba.spec") || die "Unable to open samba.spec for output\n";
50print SPEC "product samba\n";
51print SPEC $vername;
52print SPEC " image sw\n";
53print SPEC " id \"Samba Execution Environment\"\n";
54print SPEC $vernum;
55print SPEC " order 0\n";
56print SPEC " subsys base default\n";
57print SPEC " id \"Samba Execution Environment\"\n";
58print SPEC " replaces fw_samba.sw.base 0 9999999999\n";
59print SPEC " replaces fw_samba.sw.samba 0 9999999999\n";
60print SPEC " exp samba.sw.base\n";
61print SPEC " endsubsys\n";
62print SPEC " endimage\n";
63print SPEC " image man\n";
64print SPEC " id \"Samba Online Documentation\"\n";
65print SPEC $vernum;
66print SPEC " order 1\n";
67print SPEC " subsys manpages default\n";
68print SPEC " id \"Samba Man Page\"\n";
69print SPEC " replaces fw_samba.man.manpages 0 9999999999\n";
70print SPEC " replaces fw_samba.man.samba 0 9999999999\n";
71print SPEC " exp samba.man.manpages\n";
72print SPEC " endsubsys\n";
73print SPEC " subsys doc default\n";
74print SPEC " id \"Samba Documentation\"\n";
75print SPEC " replaces fw_samba.man.doc 0 9999999999\n";
76print SPEC " exp samba.man.doc\n";
77print SPEC " endsubsys\n";
78print SPEC " subsys relnotes default\n";
79print SPEC " id \"Samba Release Notes\"\n";
80print SPEC " replaces fw_samba.man.relnotes 0 9999999999\n";
81print SPEC " exp samba.man.relnotes\n";
82print SPEC " endsubsys\n";
83print SPEC " endimage\n";
84print SPEC " image src\n";
85print SPEC " id \"Samba Source Code\"\n";
86print SPEC $vernum;
87print SPEC " order 2\n";
88print SPEC " subsys samba\n";
89print SPEC " id \"Samba Source Code\"\n";
90print SPEC " replaces fw_samba.src.samba 0 9999999999\n";
91print SPEC " exp samba.src.samba\n";
92print SPEC " endsubsys\n";
93print SPEC " endimage\n";
94print SPEC "endproduct\n";
95close SPEC || die "Error on close of samba.spec\n";
96
97print "\nsamba.spec file has been created\n\n";
Note: See TracBrowser for help on using the repository browser.