mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
parent
da0603c0c3
commit
e35a8a4303
@ -35,73 +35,37 @@ close IGNORES;
|
||||
|
||||
# get the names of all the binary files to be installed
|
||||
open(MAKEFILE,"$SRCDIR/source/Makefile") || die "Unable to open Makefile\n";
|
||||
@makefile = <MAKEFILE>;
|
||||
@winbind_progs = grep(/^WINBIND_PROGS /,@makefile);
|
||||
@winbind_sprogs = grep(/^WINBIND_SPROGS /,@makefile);
|
||||
@winbind_lprogs = grep(/^WINBIND_LPROGS /,@makefile);
|
||||
@winbind_pam_progs = grep(/^WINBIND_PAM_PROGS /,@makefile);
|
||||
@sprogs = grep(/^SPROGS /,@makefile);
|
||||
@progs1 = grep(/^PROGS1 /,@makefile);
|
||||
@progs2 = grep(/^PROGS2 /,@makefile);
|
||||
@mprogs = grep(/^MPROGS /,@makefile);
|
||||
@progs = grep(/^PROGS /,@makefile);
|
||||
@scripts = grep(/^SCRIPTS /,@makefile);
|
||||
@codepagelist = grep(/^CODEPAGELIST/,@makefile);
|
||||
while (not eof(MAKEFILE)) {
|
||||
$_ = <MAKEFILE>;
|
||||
chomp;
|
||||
last if /^# object file lists/ ;
|
||||
if (/^EXEEXT/) {
|
||||
/^.*=(.*)/;
|
||||
$EXEEXT = $1;
|
||||
}
|
||||
if (/^srcdir/) {
|
||||
/^.*=(.*)/;
|
||||
$srcdir = $1;
|
||||
}
|
||||
if (/^builddir/) {
|
||||
/^.*=(.*)/;
|
||||
$builddir = $1;
|
||||
}
|
||||
if (/^SBIN_PROGS/) { @sbinprogs = get_line($_); }
|
||||
if (/^BIN_PROGS1/) { @binprogs1 = get_line($_); }
|
||||
if (/^BIN_PROGS2/) { @binprogs2 = get_line($_); }
|
||||
if (/^BIN_PROGS3/) { @binprogs3 = get_line($_); }
|
||||
if (/^BIN_PROGS/) { @binprogs = get_line($_); }
|
||||
if (/^SCRIPTS/) { @scripts = get_line($_); }
|
||||
if (/^TORTURE_PROGS/) { @tortureprogs = get_line($_); }
|
||||
if (/^SHLIBS/) { @shlibs = get_line($_); }
|
||||
}
|
||||
close MAKEFILE;
|
||||
|
||||
if (@winbind_progs) {
|
||||
@winbind_progs[0] =~ s/^.*\=//;
|
||||
@winbind_progs = split(' ',@winbind_progs[0]);
|
||||
}
|
||||
if (@winbind_sprogs) {
|
||||
@winbind_sprogs[0] =~ s/^.*\=//;
|
||||
@winbind_sprogs = split(' ',@winbind_sprogs[0]);
|
||||
}
|
||||
if (@winbind_lprogs) {
|
||||
@winbind_lprogs[0] =~ s/^.*\=//;
|
||||
@winbind_lprogs = split(' ',@winbind_lprogs[0]);
|
||||
}
|
||||
if (@winbind_pam_progs) {
|
||||
@winbind_pam_progs[0] =~ s/^.*\=//;
|
||||
@winbind_pam_progs = split(' ',@winbind_pam_progs[0]);
|
||||
}
|
||||
if (@sprogs) {
|
||||
@sprogs[0] =~ s/^.*\=//;
|
||||
@sprogs[0] =~ s/\$\(\S+\)\s//g;
|
||||
@sprogs = split(' ',@sprogs[0]);
|
||||
}
|
||||
if (@progs) {
|
||||
@progs[0] =~ s/^.*\=//;
|
||||
@progs[0] =~ s/\$\(\S+\)\s//g;
|
||||
@progs = split(' ',@progs[0]);
|
||||
}
|
||||
if (@mprogs) {
|
||||
@mprogs[0] =~ s/^.*\=//;
|
||||
@mprogs = split(' ',@mprogs[0]);
|
||||
}
|
||||
if (@progs1) {
|
||||
@progs1[0] =~ s/^.*\=//;
|
||||
@progs1 = split(' ',@progs1[0]);
|
||||
}
|
||||
if (@progs2) {
|
||||
@progs2[0] =~ s/^.*\=//;
|
||||
@progs2 = split(' ',@progs2[0]);
|
||||
}
|
||||
if (@scripts) {
|
||||
@scripts[0] =~ s/^.*\=//;
|
||||
@scripts[0] =~ s/\$\(srcdir\)\///g;
|
||||
@scripts = split(' ',@scripts[0]);
|
||||
}
|
||||
# add my local files to the list of binaries to install
|
||||
@bins = sort byfilename (@sbinprogs,@binprogs,@binprogs1,@binprogs2,@binprogs3,@scripts,("sambalp","smbprint"));
|
||||
|
||||
# we need to create codepages for the package
|
||||
@codepagelist[0] =~ s/^.*\=//;
|
||||
chdir "$SRCDIR/source";
|
||||
system("chmod +x ./script/installcp.sh");
|
||||
system("./script/installcp.sh . . ../packaging/SGI/codepages ./bin @codepagelist[0]");
|
||||
chdir $curdir;
|
||||
opendir(DIR,"$SRCDIR/packaging/SGI/codepages") || die "Can't open codepages directory";
|
||||
@codepage = sort readdir(DIR);
|
||||
closedir(DIR);
|
||||
@nsswitch = sort byfilename (@shlibs);
|
||||
|
||||
# install the swat files
|
||||
chdir "$SRCDIR/source";
|
||||
@ -110,11 +74,6 @@ system("./script/installswat.sh ../packaging/SGI/swat ./ ../packaging/SGI/swat/
|
||||
system("cp -f ../swat/README ../packaging/SGI/swat");
|
||||
chdir $curdir;
|
||||
|
||||
# add my local files to the list of binaries to install
|
||||
@bins = sort byfilename (@sprogs,@progs,@progs1,@progs2,@mprogs,@scripts,@winbind_progs,@winbind_sprogs,("/findsmb","/sambalp","/smbprint"));
|
||||
|
||||
@nsswitch = sort byfilename (@winbind_lprogs,@winbind_pam_progs);
|
||||
|
||||
# get a complete list of all files in the tree
|
||||
chdir "$SRCDIR/";
|
||||
&dodir('.');
|
||||
@ -122,10 +81,12 @@ chdir $curdir;
|
||||
|
||||
# the files installed in docs include all the original files in docs plus all
|
||||
# the "*.doc" files from the source tree
|
||||
@docs = sort byfilename grep (!/^docs\/$/ & (/^source\/.*\.doc$/ | /^docs\//),@allfiles);
|
||||
@docs = grep(!/htmldocs\/using_samba/, @docs);
|
||||
@docs = sort bynextdir grep (!/CVS/ & (/^source\/.*\.doc$/ | /^docs\/\w/),@allfiles);
|
||||
@docs = grep(!/htmldocs/ & !/manpages/, @docs);
|
||||
@docs = grep(!/docbook/, @docs);
|
||||
|
||||
@libfiles = sort byfilename (grep (/^source\/codepages\/\w/,@allfiles),("packaging/SGI/smb.conf","source/bin/libsmbclient.a","source/bin/libsmbclient.so"));
|
||||
|
||||
@swatfiles = sort grep(/^packaging\/SGI\/swat/, @allfiles);
|
||||
@catman = sort grep(/^packaging\/SGI\/catman/ & !/\/$/, @allfiles);
|
||||
@catman = sort bydirnum @catman;
|
||||
@ -147,10 +108,10 @@ print IDB "l 0000 root sys etc/rc2.d/S82winbind $SRCPFX/packaging/SGI $PKG.sw.ba
|
||||
|
||||
if ($PKG eq "samba_irix") {
|
||||
print IDB "d 0755 root sys usr/relnotes/samba_irix $SRCPFX/packaging/SGI $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/TC build/TC $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch1.z build/ch1.z $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch2.z build/ch2.z $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch3.z build/ch3.z $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/TC relnotes/TC $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch1.z relnotes/ch1.z $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch2.z relnotes/ch2.z $PKG.man.relnotes\n";
|
||||
print IDB "f 0644 root sys usr/relnotes/samba_irix/ch3.z relnotes/ch3.z $PKG.man.relnotes\n";
|
||||
}
|
||||
else {
|
||||
@copyfile = grep (/^COPY/,@allfiles);
|
||||
@ -207,7 +168,6 @@ while(@bins) {
|
||||
print IDB "d 0755 root sys usr/samba/docs $SRCPFX/docs $PKG.man.doc\n";
|
||||
while (@docs) {
|
||||
$nextfile = shift @docs;
|
||||
next if ($nextfile eq "CVS");
|
||||
($junk,$file) = split(/\//,$nextfile,2);
|
||||
if (grep(/\/$/,$nextfile)) {
|
||||
$file =~ s/\/$//;
|
||||
@ -223,14 +183,15 @@ print IDB "d 0755 root sys usr/samba/include $SRCPFX/packaging/SGI $PKG.sw.base\
|
||||
print IDB "f 0644 root sys usr/samba/include/libsmbclient.h $SRCPFX/source/include/libsmbclient.h $PKG.sw.base\n";
|
||||
|
||||
print IDB "d 0755 root sys usr/samba/lib $SRCPFX/packaging/SGI $PKG.sw.base\n";
|
||||
print IDB "d 0755 root sys usr/samba/lib/codepages $SRCPFX/packaging/SGI $PKG.sw.base\n";
|
||||
while (@codepage) {
|
||||
$nextpage = shift @codepage;
|
||||
print IDB "f 0644 root sys usr/samba/lib/codepages/$nextpage $SRCPFX/packaging/SGI/codepages/$nextpage $PKG.sw.base nostrip \n";
|
||||
while (@libfiles) {
|
||||
$nextfile = shift @libfiles;
|
||||
($file = $nextfile) =~ s/.*\///;
|
||||
if ($file eq "smb.conf") {
|
||||
print IDB "f 0644 root sys usr/samba/lib/$file $SRCPFX/$nextfile $PKG.sw.base config(suggest)\n";
|
||||
} else {
|
||||
print IDB "f 0644 root sys usr/samba/lib/$file $SRCPFX/$nextfile $PKG.sw.base nostrip \n";
|
||||
}
|
||||
}
|
||||
print IDB "f 0644 root sys usr/samba/lib/libsmbclient.a $SRCPFX/source/bin/libsmbclient.a $PKG.sw.base\n";
|
||||
print IDB "f 0644 root sys usr/samba/lib/libsmbclient.so $SRCPFX/source/bin/libsmbclient.so $PKG.sw.base\n";
|
||||
print IDB "f 0644 root sys usr/samba/lib/smb.conf $SRCPFX/packaging/SGI/smb.conf $PKG.sw.base config(suggest)\n";
|
||||
|
||||
print IDB "d 0755 lp sys usr/samba/printer $SRCPFX/packaging/SGI $PKG.sw.base\n";
|
||||
print IDB "d 0755 lp sys usr/samba/printer/W32ALPHA $SRCPFX/packaging/SGI $PKG.sw.base\n";
|
||||
@ -365,12 +326,20 @@ sub dodir {
|
||||
}
|
||||
}
|
||||
|
||||
sub byfilename {
|
||||
sub bynextdir {
|
||||
($f0,$f1) = split(/\//,$a,2);
|
||||
($f0,$f2) = split(/\//,$b,2);
|
||||
$f1 cmp $f2;
|
||||
}
|
||||
|
||||
sub byfilename {
|
||||
($f0,$f1) = split(/.*\//,$a,2);
|
||||
if ($f1 eq "") { $f1 = $f0 };
|
||||
($f0,$f2) = split(/.*\//,$b,2);
|
||||
if ($f2 eq "") { $f2 = $f0 };
|
||||
$f1 cmp $f2;
|
||||
}
|
||||
|
||||
sub bydirnum {
|
||||
($f1 = $a) =~ s/^.*\///;
|
||||
($f2 = $b) =~ s/^.*\///;
|
||||
@ -390,3 +359,22 @@ sub idbsort {
|
||||
$f3 cmp $f4;
|
||||
}
|
||||
|
||||
sub get_line {
|
||||
local ($line) = @_;
|
||||
|
||||
$line =~ s/^.*=//;
|
||||
while (($cont = index($line,"\\")) > 0) {
|
||||
$_ = <MAKEFILE>;
|
||||
chomp;
|
||||
s/^\s*/ /;
|
||||
substr($line,$cont,1,$_);
|
||||
}
|
||||
$line =~ s/\$\(EXEEXT\)/$EXEEXT/g;
|
||||
$line =~ s/\$\(srcdir\)/$srcdir/g;
|
||||
$line =~ s/\$\(builddir\)/$builddir/g;
|
||||
$line =~ s/\$\(\S*\)\s*//g;
|
||||
$line =~ s/\s\s*/ /g;
|
||||
@line = split(' ',$line);
|
||||
return @line;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user