building on Gentoo Linux

Developers
2009-08-16
2012-08-14
  • Jerome Potts

    Jerome Potts - 2009-08-16

    Hi there,

    and thanks for OORexx.
    Gentoo Linux here: no rpm, no dpkg, no pkgtool.
    Here's what i've needed to do so far to install from the tar.gz file:

    i first installed with a regular "./configure && make && sudo make install", where it installed under /opt, as designed. However when i found out that i had to create all those symbolic links everywhere, i did mind, so i did a "make uninstall" and restarted with ./configure --prefix=/usr/local. Much better in my view, all the $*PATHs are ready to wear.
    In the former situation, the need to create all the symlinks tells me that the ooRexx-4.0.0 pkg is not "self-contained", consequently should be installed elsewhere than /opt.
    A side effect is that i'm having to modify the shebang interpreter directive in each of the sample rexx programs in /usr/local/share/ooRexx from #!/usr/bin/rexx to #!/usr/local/bin/rexx

    Looking at the post-"make install" script recommended in the 0ReadMe.pdf doc, i noticed that ldconfig need run. On Gentoo, the "emerge" command of the Portage pkg mgr does that automatically. For a manual install such as this, invoking the usual "env-update && source /etc/profile" will include a call of ldconfig.

    Next, in the instructions i noticed the installation of the rxapid service. Studying that script, and following the instructions at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=2&chap=4, i was able to write an /etc/init.d/rxapid as such:

    ! /sbin/runscript notice the different shebang interpreter directive

    depend() {
    need localmount
    after bootmisc
    }
    prog="rxapi"
    start() {
    ebegin "Starting ${prog}: "
    /sbin/start-stop-daemon --start --exec /usr/local/bin/rxapi \ --pidfile /var/run/rxapi.pid
    eend $?
    }
    stop() {
    ebegin "Stopping ${prog}: "
    /sbin/start-stop-daemon --stop --exec /usr/local/bin/rxapi \ --pidfile /var/run/rxapi.pid
    eend $?
    }
    restart() {
    svc_stop
    svc_start
    }

    See how we were called.

    case "$2" in
    start|stop|pause|restart|status|zap|ineed|needsme|broken)
    ;;
    *)
    echo $"Usage: $1 {start|stop|pause|restart|status|zap|ineed|needsme|broken}"
    exit 1
    esac

    ...it seems to be working OK so far. Actually, the "restart" code is not necessary, Gentoo has its own. It did instruct me to modify the commands to svc_stop and svc_start if i really wanted a custom "restart" procedure. The "See how we were called section" is also unnecessary. To leave it in, i had to remove the start and stop statements, otherwise the service would be started twice.

    Here is some instructive output:

    $ sudo /etc/init.d/rxapid
    Usage: rxapid [ flags ] < options >

    Normal Options:
    start stop restart pause zap
    Default init.d options.

    Additional Options:
    Usage: /etc/init.d/rxapid {start|stop|pause|restart|status|zap|ineed|needsme|broken}
    Extra options supported by this init.d script.

    Flags:
    --quiet
    Suppress output to stdout, except if:
    1) It is a warning, then output to stdout
    2) It is an error, then output to stderr
    --verbose Output extra information
    --debug Output debug information
    --nocolor Suppress the use of colors

    Configuration files:
    /etc/conf.d/rxapid /etc/rc.conf

    For more info, please run '/etc/init.d/rxapid help'.
    $ sudo /etc/init.d/rxapid help
    Usage: /etc/init.d/rxapid {start|stop|pause|restart|status|zap|ineed|needsme|broken}
    $

    Note: /etc/conf.d/rxapid does not exist (but could, if i needed to set environment vars in it)

    One way to find out whether a script is running on Gentoo Linux: test -f /etc/gentoo-release

    Hope this helps someone

    P.S./End Notes:
    1. in case of an rpm or a deb pkg, ./configure [PREFIX] should default to /usr (or is it / ?).
    2. i've read somewhere that it is possible to have "make install" create all the symbolic links one wants.
    3. i've manually created an ooRexx-4.0.0 dir under /usr/local/share/doc, which i manually populated with INSTALL, ReleaseNotes, 0ReadMe.pdf, rexxpg.pdf and rexxref.pdf. "make install" could have done some of that.

     
    • Jerome Potts

      Jerome Potts - 2009-08-16

      ...one more comment on the /etc/init.d/rxapid initscript:
      in the "See how we were called section", notice how i had to replace the original $1 by $2, and $0 by $1.

       

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks