• Husky-tools on RaspberryPi or any Debian

    From Kees Van Eeten@1:2320/100 to Janis Kracht on Sat Feb 27 14:16:08 2016
    * Originally in FIDO_SYSOP
    * Crossposted in RASPBERRY
    Hello Janis!

    27 Feb 16 00:48, you wrote to me:

    Kees, are you using the Huskytools with MBSE? I really don't have any idea what MBSE includes.

    MBSE is a complete set, that does not require any additions, altough you
    can add Golded.

    I have a friend, Russell Tiedt (ex-Z5C) who's been trying to compile
    the Huskytools on his rasberry pi with no success so far :(

    Sad to hear that, it should not really be a problem.

    My experience with compiling Husky tools is limited to Debian based systems,
    and I will assume that Russel is using Raspbian, i.e. Defian for de Raspberry.

    But what I experienced is for all Debian based systems.

    The main hurdle a notation used in the make file defian/rules. This notation
    is hound in the makefiles for the Husky tools and the development version of
    Binkd.

    For Binkd it looks like this;

    -cp mkfls/unix/{configure*,install-sh,Makefile.*,mkinstalldirs} ./

    For de stable version of Binkd in the Debian repository Marco d'Itri changed
    that to:

    cp mkfls/unix/install-sh mkfls/unix/configure mkfls/unix/Makefile.* .

    The problem at hand is that currently the standard shell in Debian is "dash".
    Dash is a lightweight shell that does not support the first construct.

    I usually solve this problem by making "bash" the default shell.
    First check the current shell
    ls -l /bin/sh
    This will probably end with "/bin/sh -> dash"

    The dumb way to change this is:

    cd /bin
    sudo ln -sf bash /bin/sh

    Now check the result
    ls -l /bin/sh
    The result should end with "/bin/sh -> bash"

    It would be nice if the Husky/Binkd team would change the make files to work
    with "dash"

    The next part is mostly specific to Debian.
    I have assembled my actions into a scrip, for easy reuse.

    ------------8<-------------------------------------------------
    #!/bin/bash

    # Change default shell to bash
    sudo ln -sf bash /bin/sh

    # Install git and cvs to retreive development code from git and cvs # repositories
    sudo apt-get --yes install git cvs

    # Install utilities to build Debian install packages.

    sudo apt-get --yes install debhelper
    sudo apt-get --yes install dh-systemd
    sudo apt-get --yes install init-system-helpers
    sudo apt-get --yes install texinfo

    # start via inetd. ;( (needed for MBSE
    # sudo apt-get --yes install update-inetd

    # bzip2-doc libbz2-dev libperl-dev libperl5.20
    sudo apt-get --yes install libperl-dev zlib1g-dev libbz2-dev

    # libncurses5-dev needed to build Golded
    sudo apt-get --yes install libncurses5-dev libncursesw5-dev

    ----8<------------------------------------------------------

    To retreive the source of the Husky tools from sourceforge and create
    the installation packages I have again a script with what I have more or
    less done manually. It is in no way optimal, but it does the work.
    Run this script in a directory where you want to insall the source code.
    If you have downloaded the complete set of sources in the zip files the
    fist part of the script can be skipped.

    ----8<------------------------------------------------------------
    #!/bin/bash

    HUSKY="-d:pserver:anonymous@husky.cvs.sourceforge.net:/cvsroot/husky" ACTION="co" # Copy files the first time
    # ACTION="up" # Update the files on later vistis

    cvs ${HUSKY} login

    cvs -z9 ${HUSKY} ${ACTION} fidoconf
    cvs -z9 ${HUSKY} ${ACTION} smapi
    cvs -z9 ${HUSKY} ${ACTION} huskybse
    cvs -z9 ${HUSKY} ${ACTION} huskylib
    cvs -z9 ${HUSKY} ${ACTION} areafix
    cvs -z9 ${HUSKY} ${ACTION} hpt

    cvs -z9 ${HUSKY} ${ACTION} hptkill
    cvs -z9 ${HUSKY} ${ACTION} hptsqfix
    cvs -z9 ${HUSKY} ${ACTION} hpucode
    cvs -z9 ${HUSKY} ${ACTION} htick
    cvs -z9 ${HUSKY} ${ACTION} nltools
    cvs -z9 ${HUSKY} ${ACTION} sqpack
    cvs -z9 ${HUSKY} ${ACTION} bsopack

    sudo mkdir /usr/share/husky

    cd huskybse
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../huskybase_*_all.deb
    cd -

    cd huskylib
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../libhusky1*armhf.deb
    sudo dpkg -i ../libhusky-dev*armhf.deb
    cd -

    cd smapi
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../libsmapi2cur_*_armhf.deb
    sudo dpkg -i ../libsmapi2cur-dev*_armhf.deb
    cd -

    cd fidoconf
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../libfidoconf1_*_armhf.deb
    sudo dpkg -i ../libfidoconf1-dev_*_armhf.deb
    sudo dpkg -i ../fidoconf-runtime_*_armhf.deb
    cd -

    cd areafix
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../libareafix1_*_armhf.deb
    sudo dpkg -i ../libareafix-dev_*_armhf.deb
    cd -

    cd hpt
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../hpt_*_armhf.deb
    cd -

    cd hptkill
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../hptkill_*_armhf.deb
    cd -

    cd hptsqfix
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../hptsqfix_*_armhf.deb
    cd -

    cd hpucode
    echo 5 > debian/compat
    sudo debian/rules clean
    sudo debian/rules binary
    sudo dpkg -i ../hpucode_*_armhf.deb
    cd -

    cd htick
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../htick_*_armhf.deb
    cd -

    cd nltools
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../nltools_*_armhf.deb
    cd -

    cd sqpack
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../sqpack_*_armhf.deb
    cd -

    cd bsopack
    echo 5 > debian/compat
    sudo debian/rules clean
    fakeroot debian/rules binary
    sudo dpkg -i ../bsopack_*_armhf.deb
    cd -

    exit
    ----8<----------------------------------------------------------

    A few remarks in the end. I tried to adjust a compatibility level that
    Debinan expects in its build scripts, that should now be 5 or more.
    I think it does not work by putting the value in a file debin/compat, as
    the value is overrules in the build script, but you can ignore the warning.

    The different usnits have to be compiled and installed in the order given
    above as the later modules rely on libraries that have to be installed first.

    Expect lots of warnings during compilation. These are either caused by
    progres in the development of the Gnu-C compiler or contructs that are depricated but still required by the other compiles that can also be used
    to build the Husky tools on other os's.

    From memory, there is an inconsistency in the naming of a file in nltools,
    that I do not correct in the script, so you are warned.

    This is what worked for me.

    The real pain is in mapping the example configuration files for Bink, Husky-tools and Golded. Husky-config and the tools that make derivatives
    is a good help, but to fit my likes it still needs some tweeking.

    Kees

    --- GoldED+/LNX 1.1.5
    # Origin: As for me, all I know is that, I know nothing. (2:280/5003.4)
    * Origin: LiveWire BBS - Synchronet - LiveWireBBS.com (1:2320/100)