summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/SGI/.cvsignore1
-rwxr-xr-xpackaging/SGI/findsmb8
-rwxr-xr-xpackaging/SGI/idb.pl36
-rw-r--r--packaging/SGI/smb.conf8
-rwxr-xr-xpackaging/SGI/spec.pl4
5 files changed, 43 insertions, 14 deletions
diff --git a/packaging/SGI/.cvsignore b/packaging/SGI/.cvsignore
index b303a93a9a..7b74def5ae 100644
--- a/packaging/SGI/.cvsignore
+++ b/packaging/SGI/.cvsignore
@@ -2,6 +2,7 @@ bins
catman
html
codepages
+swat
Makefile
samba.idb
samba.spec
diff --git a/packaging/SGI/findsmb b/packaging/SGI/findsmb
index 59dc960402..82aeb28dab 100755
--- a/packaging/SGI/findsmb
+++ b/packaging/SGI/findsmb
@@ -94,8 +94,12 @@ foreach $ip (@ipaddrs) # loop through each IP address found
# for WIN95 clients get workgroup name from nmblookup response
@name = grep(/<00> - <GROUP>/,@nmblookup);
$_ = @name[0];
- /(\S+)/;
- $_ = "[$1]";
+ if ($_) {
+ /(\S+)/;
+ $_ = "[$1]";
+ } else {
+ $_ = "Unknown Workgroup";
+ }
}
# see if machine registered a local master browser name
diff --git a/packaging/SGI/idb.pl b/packaging/SGI/idb.pl
index 7eea09d8d5..2e04fc0716 100755
--- a/packaging/SGI/idb.pl
+++ b/packaging/SGI/idb.pl
@@ -6,11 +6,6 @@ require "pwd.pl" || die "Required pwd.pl not found";
&initpwd;
$curdir = $ENV{"PWD"};
-# get a complete list of all files in the tree
-chdir '../../';
-&dodir('.');
-chdir $curdir;
-
# We don't want the files listed in .cvsignore in the source tree
open(IGNORES,"../../source/.cvsignore") || die "Unable to open .cvsignore file\n";
while (<IGNORES>) {
@@ -53,20 +48,30 @@ if (@codepage) {
chdir $curdir;
@codepage = sort split(' ',@codepage[0]);
}
+# install the swat files
+chdir '../../source';
+system("./installswat.sh ../packaging/SGI/swat ./");
+chdir $curdir;
# add my local files to the list of binaries to install
@bins = sort (@sprogs,@progs,@progs1,@scripts,("findsmb","sambalp","smbprint"));
+# get a complete list of all files in the tree
+chdir '../../';
+&dodir('.');
+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);
+@swatfiles = sort grep(/^packaging\/SGI\/swat/, @allfiles);
@catman = sort grep(/^packaging\/SGI\/catman/ & !/\/$/, @allfiles);
@catman = sort bydirnum @catman;
# strip out all the generated directories and the "*.o" files from the source
# release
-@allfiles = grep(!/^.*\.o$/ & !/^packaging\/SGI\/bins/ & !/^packaging\/SGI\/catman/ & !/^packaging\/SGI\/html/ & !/^packaging\/SGI\/codepages/, @allfiles);
+@allfiles = grep(!/^.*\.o$/ & !/^packaging\/SGI\/bins/ & !/^packaging\/SGI\/catman/ & !/^packaging\/SGI\/html/ & !/^packaging\/SGI\/codepages/ & !/^packaging\/SGI\/swat/, @allfiles);
open(IDB,">samba.idb") || die "Unable to open samba.idb for output\n";
@@ -95,6 +100,9 @@ while(@bins) {
elsif ($nextfile eq "findsmb") {
print IDB "f 0755 root sys usr/samba/bin/$nextfile packaging/SGI/$nextfile samba.sw.base\n";
}
+ elsif ($nextfile eq "swat") {
+ print IDB "f 4755 root sys usr/samba/bin/$nextfile packaging/SGI/$nextfile samba.sw.base\n";
+ }
elsif ($nextfile eq "sambalp") {
print IDB "f 0755 root sys usr/samba/bin/$nextfile packaging/SGI/$nextfile samba.sw.base\n";
}
@@ -132,7 +140,7 @@ if (@codepage) {
}
}
print IDB "f 0644 root sys usr/samba/lib/smb.conf packaging/SGI/smb.conf samba.sw.base config(update)\n";
-print IDB "f 0755 root sys usr/samba/mkprintcap.sh packaging/SGI/mkprintcap.sh samba.sw.base exitop(/usr/samba/mkprintcap.sh) removeop(rm /usr/samba/printcap)\n";
+print IDB "f 0755 root sys usr/samba/mkprintcap.sh packaging/SGI/mkprintcap.sh samba.sw.base
print IDB "d 0755 root sys usr/samba/src packaging/SGI samba.src.samba\n";
while (@allfiles) {
@@ -155,6 +163,20 @@ while (@allfiles) {
}
}
+print IDB "d 0755 root sys usr/samba/swat packaging/SGI/swat samba.sw.base\n";
+while (@swatfiles) {
+ $nextfile = shift @swatfiles;
+ ($file = $nextfile) =~ s/^packaging\/SGI\/swat\///;
+ next if !$file;
+ if (grep(/\/$/,$file)) {
+ chop $file;
+ print IDB "d 0755 root sys usr/samba/swat/$file packaging/SGI/swat/$file samba.sw.base\n";
+ }
+ else {
+ print IDB "f 0444 root sys usr/samba/swat/$file packaging/SGI/swat/$file samba.sw.base\n";
+ }
+}
+
print IDB "d 0755 root sys usr/samba/var packaging/SGI samba.sw.base\n";
print IDB "d 0755 root sys usr/samba/var/locks packaging/SGI samba.sw.base\n";
diff --git a/packaging/SGI/smb.conf b/packaging/SGI/smb.conf
index bdd8806c96..ded898d192 100644
--- a/packaging/SGI/smb.conf
+++ b/packaging/SGI/smb.conf
@@ -7,18 +7,16 @@
;
; The following configuration should suit most systems for basic usage and
; initial testing. It gives all clients access to their home directories and
-; allows access to all printers specified in /etc/printcap as well as /usr/tmp.
+; /usr/tmp and allows access to all printers returned by lpstat.
;
[global]
comment = Samba %v
workgroup = workgroup
printing = sysv
;
-; A printcap file is created during installation that contains the names
-; of all printers attached to your system. Names longer than 8 characters
-; will not be visible to clients.
+; Use lpstat to get names of all printers attached to your system.
;
- printcap name = /usr/samba/printcap
+ printcap name = lpstat
;
; If you are using Impressario 1.x then you'll want to use the
; sambalp script provided with this package. It works around
diff --git a/packaging/SGI/spec.pl b/packaging/SGI/spec.pl
index ab06da49f8..5557112df1 100755
--- a/packaging/SGI/spec.pl
+++ b/packaging/SGI/spec.pl
@@ -18,6 +18,10 @@ $patch = 0;
if (/alpha/) {
$_ =~ s/alpha/.00./;
}
+elsif (/-HEAD/) {
+ $_ =~ s/-HEAD/.01/;
+ $_ .= '.99';
+}
elsif (/p/) {
$_ =~ s/p/./;
$_ .= '.00';