sharity-light-1.2, the descendent of rumba.

Changes since 0.6 (except some OS fixes):
- renamed everything to Sharity-Light. It turned out that Wall Data
  Incorporated has registered the trademark "RUMBA". No functional changes
  have been made. The executable is now "shlight" and the version number
  has been set to 1.0 to indicate that the product is now well tested and
  considered stable, at least as stable as it can and will get.
- fixed timezone bug in kernel.c kernel_init()
- fixed crash when no mountpoint was specified
- added option to set workgroup/domain
Package provided by Jared McNeill in pkg/12360 based on the previous
rumba package.
This commit is contained in:
wiz 2001-03-09 16:09:36 +00:00
parent ed62ce3be5
commit a9c9600de3
9 changed files with 213 additions and 0 deletions

View file

@ -0,0 +1,30 @@
# $NetBSD: Makefile,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
#
DISTNAME= Sharity-Light.1.2
PKGNAME= sharity-light-1.2
CATEGORIES= net
MASTER_SITES= http://www.obdev.at/ftp/pub/Products/Sharity-Light/ \
ftp://ftp.obdev.at/pub/Products/Sharity-Light/
MAINTAINER= jmcneill@invisible.yi.org
HOMEPAGE= http://www.obdev.at/Products/shlight.html
COMMENT= Userland smbfs -- SMB to NFS protocol converter
post-extract:
${MKDIR} ${WRKDIR}/unshlight
${LN} -s ${FILESDIR}/unshlight.c ${WRKDIR}/unshlight
${LN} -s ${FILESDIR}/Makefile.unshlight ${WRKDIR}/unshlight/Makefile
post-build:
cd ${WRKDIR}/unshlight && ${MAKE}
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/shlight ${PREFIX}/sbin
${INSTALL_PROGRAM} ${WRKDIR}/unshlight/unshlight ${PREFIX}/sbin
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/sharity-light
${INSTALL_DATA} ${WRKSRC}/README ${WRKSRC}/FAQ.txt \
${PREFIX}/share/doc/sharity-light/
${INSTALL_MAN} ${WRKSRC}/smbmount.8 ${PREFIX}/man/man8/shlight.8
.include "../../mk/bsd.pkg.mk"

View file

@ -0,0 +1,7 @@
#
# $NetBSD: Makefile.unshlight,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
#
PROG= unshlight
NOMAN= sorry
.include <bsd.prog.mk>

View file

@ -0,0 +1,3 @@
$NetBSD: md5,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
SHA1 (Sharity-Light.1.2.tar.gz) = 4a8e93695b1772005e401c2aafbd3f5f70a3b30e

View file

@ -0,0 +1,4 @@
$NetBSD: patch-sum,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
SHA1 (patch-aa) = 349384306807e8d0e16334a2d9a7e7e0002ef8d1
SHA1 (patch-ab) = 42c29cb072b38d887231f546a967ebd85b708048

View file

@ -0,0 +1,74 @@
/* $NetBSD: unshlight.c,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $ */
#include <sys/param.h>
#include <sys/mount.h>
#include <err.h>
#include <sysexits.h>
#include <unistd.h>
#include <stdlib.h>
#include <signal.h>
static void usage(void);
int
main(int argc, char** argv)
{
struct statfs* mntbuf;
int mntcount, i;
int aflag=0;
int ch;
while ( (ch = getopt(argc, argv, "a")) != -1) {
switch (ch) {
case 'a':
aflag=1;
break;
case '?':
default:
usage();
}
}
argc -= optind;
argv += optind;
if (aflag && argc != 0)
usage();
if (!aflag && argc == 0)
usage();
for (; argc>0 || aflag; aflag?(void)(aflag=0):(void)(argc--, argv++)) {
char abspath[MAXPATHLEN];
pid_t pid=0;
if (argc > 0) {
if (realpath(argv[0], abspath) == 0) {
warn(abspath);
continue;
}
}
mntcount=getmntinfo(&mntbuf, MNT_NOWAIT);
if (mntcount < 0)
err(EX_OSERR, "getmntinfo");
for (i=0; i<mntcount; i++) {
char* s;
int error;
if (argc > 0 && strcmp(abspath, mntbuf[i].f_mntonname) != 0) continue;
if (strcmp(mntbuf[i].f_fstypename,MOUNT_NFS) !=0 ) continue;
if (strncmp(mntbuf[i].f_mntfromname, "shlight-", 8) != 0) continue;
pid=strtoul(mntbuf[i].f_mntfromname+8, &s, 10);
if (*s) continue;
error = unmount (mntbuf[i].f_mntonname, 0);
if (error == 0) {
kill (pid, SIGHUP);
} else {
warn(mntbuf[i].f_mntonname);
}
}
if (argc > 0 && !pid)
warnx("%s: not currently mounted", abspath);
}
}
void
usage(void)
{
errx(EX_USAGE, "Usage: unshlight [-a] [node]");
}

View file

@ -0,0 +1,68 @@
$NetBSD: patch-aa,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
--- Makefile.orig Tue Nov 24 09:52:13 1998
+++ Makefile Thu Mar 8 11:27:22 2001
@@ -5,18 +5,18 @@
NAME = shlight
INCLUDES = -Iinclude -I.
-THE_CC = gcc
+THE_CC = ${CC}
##############################################################################
############################ System specific part ############################
##############################################################################
# For NEXTSTEP/OPENSTEP:
-CFLAGS = -Wall -O2 -traditional-cpp -g
+#CFLAGS = -Wall -O2 -traditional-cpp -g
# put your architecture here:
-ARCH = -arch i386
-THE_CC = cc
-RPC_WARNFLAGS = -Wno-unused -Wno-switch -Wno-uninitialized
+#ARCH = -arch i386
+#THE_CC = cc
+#RPC_WARNFLAGS = -Wno-unused -Wno-switch -Wno-uninitialized
# For Linux: (use static linking because of libc5/libc6 troubles)
#CFLAGS = -Wall -O2 -g
@@ -29,9 +29,9 @@
#RPC_WARNFLAGS = -Wno-unused -Wno-switch -Wno-uninitialized
# For NetBsd
-#CFLAGS = -Wall -O2 -DNETBSD
+CFLAGS = -Wall -O2 -DNETBSD
#THE_CC = cc
-#RPC_WARNFLAGS = -Wno-unused -Wno-switch -Wno-uninitialized
+RPC_WARNFLAGS = -Wno-unused -Wno-switch -Wno-uninitialized
# For BSDI
#CFLAGS= -Wall -O2
@@ -59,22 +59,21 @@
######################## End of system specific part #########################
##############################################################################
-LD = ld
-CC = $(THE_CC) $(INCLUDES)
-STRIP = strip
+LD = ${LD}
+STRIP = ${STRIP}
OFILES = proc.o sock.o rumba.o psinode.o kernel.o smb_abstraction.o fo_nfs.o
.c.o:
- $(CC) $(CFLAGS) $(ARCH) -c -o $*.o $<
+ $(CC) $(INCLUDES) $(CFLAGS) $(ARCH) -c -o $*.o $<
all: $(NAME)
nfs_dir:
- (cd nfs; $(MAKE) "CFLAGS=$(CFLAGS)" "CC=$(THE_CC)" "ARCH=$(ARCH)" "RPC_WARNFLAGS=$(RPC_WARNFLAGS)")
+ (cd nfs; $(MAKE) "CFLAGS=$(CFLAGS)" "CC=$(CC)" "ARCH=$(ARCH)" "RPC_WARNFLAGS=$(RPC_WARNFLAGS)")
$(NAME): $(OFILES) nfs_dir
- $(CC) $(LDFLAGS) $(ARCH) -o $(NAME) $(OFILES) nfs/nfs.o $(LIBS)
+ $(CC) $(INCLUDES) $(LDFLAGS) $(ARCH) -o $(NAME) $(OFILES) nfs/nfs.o $(LIBS)
clean:
rm -f $(OFILES)

View file

@ -0,0 +1,15 @@
$NetBSD: patch-ab,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
--- nfs/syscalls.c.orig Thu Mar 8 11:29:41 2001
+++ nfs/syscalls.c Thu Mar 8 11:29:55 2001
@@ -19,6 +19,10 @@
#include <arpa/inet.h>
#include "my_defines.h"
+#ifdef __NetBSD__
+#include <nfs/nfsmount.h>
+#endif
+
/* --------------------------- general constants --------------------------- */
#define NFS_TIMEOUT_SECONDS 10 /* nfs timeout in seconds */

View file

@ -0,0 +1,5 @@
Sharity-Light is derived from smbfs, but runs as a user level program, not
in the kernel. It is roughly the opposite of Samba since it's a client for
the Lanmanager protocol. Sharity-Light lets you mount drives exported by
Windows (f.Workgroups/95/NT), Lan Manager, OS/2 etc. on Unix machines. The
former name of this application was "rumba".

View file

@ -0,0 +1,7 @@
@comment $NetBSD: PLIST,v 1.1.1.1 2001/03/09 16:09:36 wiz Exp $
sbin/shlight
sbin/unshlight
man/man8/shlight.8
share/doc/sharity-light/FAQ.txt
share/doc/sharity-light/README
@dirrm share/doc/sharity-light