1997-10-31 17:33:04 +00:00
#!/usr/bin/perl
# This perl script generates the samba.spec file based on the version
# information in the version.h file in the source tree
1998-08-10 22:36:11 +00:00
open ( VER , '../../source/include/version.h' ) || die "Unable to open version.h\n" ;
2003-08-21 19:27:01 +00:00
while ( <VER> ) {
chomp ;
if ( /SAMBA_VERSION_OFFICIAL_STRING/ ) {
s/^.*SAMBA_VERSION_OFFICIAL_STRING "// ;
s/".*$// ;
$ SambaVersion = $ _ ;
}
}
1997-10-31 17:33:04 +00:00
close ( VER ) ;
# create the package name
2003-08-21 19:27:01 +00:00
$ vername = " id \"Samba Version " . $ SambaVersion . "\"\n" ;
1997-10-31 17:33:04 +00:00
2003-08-21 19:27:01 +00:00
$ _ = $ SambaVersion ;
s/^.* // ;
1998-01-08 16:34:09 +00:00
$ patch = 0 ;
1997-10-31 17:33:04 +00:00
#create the subsystem version numbers
if ( /alpha/ ) {
$ _ =~ s/alpha/.00./ ;
}
1998-03-16 23:11:48 +00:00
elsif ( /-HEAD/ ) {
$ _ =~ s/-HEAD/.01/ ;
$ _ . = '.99' ;
}
2000-01-17 23:16:23 +00:00
elsif ( /pre-/ ) {
$ _ =~ s/pre-// ;
$ _ . = '.00' ;
}
1997-10-31 17:33:04 +00:00
elsif ( /p/ ) {
$ _ =~ s/p/./ ;
$ _ . = '.00' ;
1998-01-14 02:47:36 +00:00
$ patch = 1 ;
1997-10-31 17:33:04 +00:00
}
1998-01-08 16:34:09 +00:00
else {
$ _ . = '.01.00' ;
}
1997-10-31 17:33:04 +00:00
( $ v1 , $ v2 , $ v3 , $ v4 , $ v5 ) = split ( '\.' ) ;
1998-01-08 16:34:09 +00:00
$ v4 = $ v4 + $ patch ;
$ vernum = sprintf ( " version %02d%02d%02d%02d%02d\n" , $ v1 , $ v2 , $ v3 , $ v4 , $ v5 ) ;
1997-10-31 17:33:04 +00:00
# generate the samba.spec file
1997-12-01 14:50:52 +00:00
open ( SPEC , ">samba.spec" ) || die "Unable to open samba.spec for output\n" ;
1997-10-31 17:33:04 +00:00
print SPEC "product samba\n" ;
print SPEC $ vername ;
print SPEC " image sw\n" ;
print SPEC " id \"Samba Execution Environment\"\n" ;
print SPEC $ vernum ;
print SPEC " order 0\n" ;
print SPEC " subsys base default\n" ;
print SPEC " id \"Samba Execution Environment\"\n" ;
print SPEC " replaces fw_samba.sw.base 0 9999999999\n" ;
print SPEC " replaces fw_samba.sw.samba 0 9999999999\n" ;
print SPEC " exp samba.sw.base\n" ;
print SPEC " endsubsys\n" ;
print SPEC " endimage\n" ;
print SPEC " image man\n" ;
print SPEC " id \"Samba Online Documentation\"\n" ;
print SPEC $ vernum ;
print SPEC " order 1\n" ;
print SPEC " subsys manpages default\n" ;
print SPEC " id \"Samba Man Page\"\n" ;
print SPEC " replaces fw_samba.man.manpages 0 9999999999\n" ;
print SPEC " replaces fw_samba.man.samba 0 9999999999\n" ;
print SPEC " exp samba.man.manpages\n" ;
print SPEC " endsubsys\n" ;
print SPEC " subsys doc default\n" ;
print SPEC " id \"Samba Documentation\"\n" ;
print SPEC " replaces fw_samba.man.doc 0 9999999999\n" ;
print SPEC " exp samba.man.doc\n" ;
print SPEC " endsubsys\n" ;
print SPEC " subsys relnotes default\n" ;
print SPEC " id \"Samba Release Notes\"\n" ;
print SPEC " replaces fw_samba.man.relnotes 0 9999999999\n" ;
print SPEC " exp samba.man.relnotes\n" ;
print SPEC " endsubsys\n" ;
print SPEC " endimage\n" ;
print SPEC " image src\n" ;
print SPEC " id \"Samba Source Code\"\n" ;
print SPEC $ vernum ;
print SPEC " order 2\n" ;
print SPEC " subsys samba\n" ;
print SPEC " id \"Samba Source Code\"\n" ;
print SPEC " replaces fw_samba.src.samba 0 9999999999\n" ;
print SPEC " exp samba.src.samba\n" ;
print SPEC " endsubsys\n" ;
print SPEC " endimage\n" ;
print SPEC "endproduct\n" ;
1997-12-01 14:50:52 +00:00
close SPEC || die "Error on close of samba.spec\n" ;
1997-10-31 17:33:04 +00:00
print "\nsamba.spec file has been created\n\n" ;