Installation from binary RPM

After downloading a binary RPM (like xprint-yyyy-mm-dd-trunk-version.i386.rpm) do the following steps to install the Xprint server and helper applications:
  1. Install the RPM:
    % rpm --install xprint-yyyy-mm-dd-trunk-version.i386.rpm
  2. Start Xprint server (or reboot - which does the same):
    % /etc/init.d/xprint start
    Note that /etc/init.d/xprint looks for processes like "lpd"/"cupsd"/etc. - if they are missing the script will wait up to 30secs (older versions 120secs) looking for such processes before starting the Xprint servers.
  3. Relogin (which should call /etc/profile.d/ to populate the $XPSERVERLIST env var) and use xplsprinters to list printers managed by Xprint:
    The output should look similar to this one:
    % xplsprinters
    printer: hplaserjet001@castor:19
    printer: hpcolor001@castor:19
    printer: laser1@jason:5
    printer: david_dj01@jason:5

Installation from source RPM

After downloading a source RPM (like xprint-yyyy-mm-dd-trunk-version.src.rpm) do the following steps to install the Xprint server and helper applications:
  1. Build a binary RPM from the source RPM:
    % rpm --rebuild xprint-yyyymmddtrunk-0.8.src.rpm
  2. Locate the binary RPM (the last lines of the RPM build usually tell the location; on SuSE platforms % ls -l /usr/src/packages/RPMS/*/xprint-* should list the canidates... :) and install it as described in the section "Installation from binary RPM"

Installation from source

Building the source (and creating a binary tarball from it):

downloading the sources do the following steps to build the Xprint server and helper applications:
  1. Unpack the source tarball:
    (not required if you are using a CVS tree)
    % gunzip -c xprint_mozdev_org_source-yyyy-mm-dd-trunk.tar.gz | tar -xvf -
  2. Go to the source directory:
    % cd xprint/src/xprint_main/xc/
  3. Build the source and write the output of make and the compilers to the file buildlog.log:
    % make World 2>&1 | tee -a buildlog.log
  4. Verification:
    (this step is optional; the "make make_xprint_tarball"-step (below) does the verification step, too)
    1. Check the output of buildlog.log - the last lines should contain
      Full build of Release 6.5 of the X Window System complete.
      - otherwise something went wrong during the build.
    2. Check if the following binaries have been build:
      • programs/Xserver/Xprt
      • programs/xplsprinters/xplsprinters
      • programs/xphelloworld/xpawhelloworld/xpawhelloworld
      • programs/xphelloworld/xphelloworld/xphelloworld
      • programs/xphelloworld/xpsimplehelloworld/xpsimplehelloworld
  5. Create binary tarball for installation:
    % cd packager/
    % make make_xprint_tarball

    This script should create an output like this one:
    ## Step 1: Verifying...
    No errors found.
    ## Verification DONE.
    ## Step 2: Install into temporary location...
    Installation OK.
    ## Temp. installation DONE.
    ## Step 3: Verifying installation...
    No errors found.
    ## Verification of installation DONE.
    ## Step 4: Create binary tarball...
    ## Binary tarball creation DONE.
    ## Step 5: Cleaning up...
    ## Cleanup done.
    #### Binary tarball is now available at
    -rw-r--r-- 1 xpbuild staff 2277956 Jul 6 23:41 /tmp/xprint_server_020706233925.tar.gz
    #### All done.
    (Note that the string "020706233925" in /tmp/xprint_server_020706233925.tar.gz is a timestamp which indicates when the tarball was created.)
  6. After all the binary tarball can be be installed:
    (this step requires root-permission.
    Alternatively you may install the tarball in a different location - which won't require root-permission but makes it mandatory to set the XPCONFIGDIR env var to the location of the Xprt config files (this is covered by the FAQ)).

    su -
    cd /
    gunzip -c /tmp/xprint_server_020706233925.tar.gz | tar -xvf -

Verification that the installation is working:

  1. Start Xprt (the X print server) as described in the FAQ.
    A simple way is
    % Xprt -fp $(xset q | fgrep "/X11/fonts/misc") :12
    (this must not return any error or warning. If you see any warning/error consult the FAQ for help.
  2. Set the XPSERVERLIST env var (format is hostname:displaynum; multiple servers can be listed, seperated by whitespaces.
    % export XPSERVERLIST="foobar:12"
  3. Test 1:
    List all printers installed your system:
    % xplsprinters
    printer: hplaser001@foobar:12
    printer: hpcolor002@foobar:12
    printer: poster006@foobar:12
    printer: faxprint@foobar:12
    printer: rrtek@foobar:12

    There should be at least one printer in this output and no errors should be printed.
  4. Test 2:
    List all printers installed your system including their config model:
    % xplsprinters -l | egrep "^printer:|model-identifier=" printer: hplaser001@foobar:12
    model-identifier=PSdefault printer: hpcolor002@foobar:12
    model-identifier=PSdefault printer: poster006@foobar:12
    model-identifier=HPposter006 printer: faxprint@foobar:12
    model-identifier=faxtest004 printer: rrtek@foobar:12

    Each listed printer must have a non-empty model-identifier, otherwise the config for this printer is not correct.
  5. Test 3:
    Send a sample job to printer hplaser001:
    % xphelloworld -printer hplaser001
    This should send a sample page to the print queue hplaser001.