• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt/router/samba-3.0.25b/packaging/SGI/
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";
98