Google Site SearchFN Site Search FN Blog Login FN Blog Login
Site Navigation:
 
 

TUTORIAL: Novelclient

by Casper Pedersen on March 14, 2004

With this tutorial, I will try to give you the steps to build the Linux Novel Client, as an RPM package.

"The Novel Client for Linux is a GUI front-end for the ncpfs utilities making it easy to transfer data to and from a Novell Netware fileserver. Connections can be made using IP or IPX, Bindery or NDS to Netware server versions from 3.x through 6.x. Novel Client runs on Linux in X Windows. It is written in Object-Pascal using Kylix from Borland."

UPDATED 2004-06-29 I received a new spec file from Soeren Mortensen who have updated it to work with the latest version of the Novelclient (0.90). UPDATED 2004-03-17 I found an error in the .spec file, which ment that it did not show in the Gnome menu. This have now been corrected. Categories=Application;Network; means that it will now be in Gnome -> Internet -> More.

  1. Download the 0.86 release of the Novelclient from novelclient.sourceforge.net and save it to your SOURCES directory.
  2. Download the following files and save them to your SOURCES directory
    1. multicast.init
    2. multicast.conf
    More about these two files later.
  3. Download novelclient-0.86.spec and save it to your SPECS directory.
  4. Open a terminal and change to your SPECS directory:
    [casper@localhost casper]$ cd rpmbuild/SPECS
    [casper@localhost SPECS]$
    
  5. Run rpmbuild -ba novelclient-0.86.spec to build the RPM package
    Executing(%prep): /bin/sh -e /home/casper/rpmbuild/TMP/rpm-tmp.25531
    + umask 022
    + cd /home/casper/rpmbuild//BUILD
    + LANG=C
    + export LANG
    + unset DISPLAY
    + rm -rf /home/casper/rpmbuild/TMP/novelclient-buildroot
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/bin
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/lib/kylix2
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/share/applications
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/share/pixmaps/novelclient
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/etc/sysconfig
    + mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/etc/rc.d/init.d
    + cd /home/casper/rpmbuild/BUILD
    + rm -rf novelclient
    + /usr/bin/gzip -dc /home/casper/rpmbuild/SOURCES/novelclient-0.86.i386.tar.gz
    + tar -xf -
    + STATUS=0
    + '[' 0 -ne 0 ']'
    + cd novelclient
    ++ /usr/bin/id -u
    .........
    + rm -rf /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/share/doc/novelclient-0.86
    + /bin/mkdir -p /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/share/doc/novelclient-0.86
    + cp -pr LICENSE INSTALL CHANGELOG README /home/casper/rpmbuild/TMP/novelclient-buildroot/usr/share/doc/novelclient-0.86
    + exit 0
    Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/casper/rpmbuild/TMP/novelclient-buildroot
    Wrote: /home/casper/rpmbuild/SRPMS/novelclient-0.86-3.src.rpm
    Wrote: /home/casper/rpmbuild/RPMS/i386/novelclient-0.86-3.i386.rpm
    Executing(%clean): /bin/sh -e /home/casper/rpmbuild/TMP/rpm-tmp.42061
    + umask 022
    + cd /home/casper/rpmbuild//BUILD
    + cd novelclient
    + rm -rf /home/casper/rpmbuild/TMP/novelclient-buildroot
    + exit 0
    [casper@localhost SPECS]$
    
  6. Now it's time to install the package...
    [casper@localhost SPECS]$ su -c "rpm -ivh ../RPMS/i386/novelclient-0.86-3.i386.rpm"
    Password:
    Preparing...                ########################################### [100%]
       1:novelclient            ########################################### [100%]
    Starting Multicast Routing: [  OK  ]
    
  7. Now it is time to try it out, Gnome Menu -> Other -> NovelClient.
The only thing I've done which is not done by the default installation script is that I use /usr/lib/kylix2 instead of /usr/local/lib/kylix2.

The multicast files, there for a good reason. We need multicast to find the Tree or the Server, but per. default multicast is not setup. In this case one could modify rc.local and add something like "route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0" to it, but that would make it almost impossible to remove it again, and there would be no check to see if multicast already was enabled... Therefor I have thourght that it would be a good idea to create a seperate init script which enables multicast, but only if it is not already enabled.