Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 12259 - ebuild for Intersync, the intermezzo userland tools.
Summary: ebuild for Intersync, the intermezzo userland tools.
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Brad Cowan (RETIRED)
URL: http://www.inter-mezzo.org
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-12-16 15:20 UTC by Terje Kvernes
Modified: 2003-02-04 19:42 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
intersync 0.9.5 ebuild (intersync-0.9.5.ebuild,708 bytes, text/plain)
2002-12-16 15:21 UTC, Terje Kvernes
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Terje Kvernes 2002-12-16 15:20:41 UTC
sadly enough Intersync requires to fiddle with /usr/include/linux for some
reason.  running it with sandbox enabled gives the following:

x200 intersync # cat /tmp/sandbox-intersync-0.9.5-12291.log
unlink:    /usr/include/linux/intermezzo_fs.h
unlink:    /usr/include/linux/intermezzo_lib.h
unlink:    /usr/include/linux/intermezzo_idl.h
unlink:    /usr/include/linux/intermezzo_psdev.h
unlink:    /usr/include/linux/fsfilter.h

running it without the sandbox works.  also, the ebuild requires the caller to
have /usr/src/linux/include/linux/config.h installed.  I've used the dependency
of >=sys-kernel/linux-headers-2.4, but I'm not sure it's all that nice.  what if
people have their own kernel?  do they inject the dependency or should I just
check to see if the file is there?

and I should probably use /lib/modules/`uname -r`/build as the kernel directory,
but I'm not totally sure on that either.  hopefully someone will make some smart
 comments.  :-)
Comment 1 Terje Kvernes 2002-12-16 15:21:45 UTC
Created attachment 6545 [details]
intersync 0.9.5 ebuild
Comment 2 Brad Cowan (RETIRED) gentoo-dev 2002-12-17 11:26:07 UTC
I've fixed the ebuild, everything should be fine as long as the user has his/her
linux symlink correct...I'm going to put in portage please test and give some
feedback :)
Comment 3 Terje Kvernes 2002-12-26 12:49:46 UTC
right, one thing we really need to fix with this ebuild is
/etc/init.d/intersync.  the script that is installed now is RedHat specific.
grrr.  should have caught that one earlier.

oh well.  the real solution is probably to create a Gentoo-version of the script
and use /etc/conf.d/intersync for configuration.  I'll see if I can get that
done as soon as possible.

apart from this, the ebuild works as expected.  it doesn't rebuild the kernel
module, like the RedHat rpm offers to do, but I'm not really sure what the
proper solution here is.  Intermezzo seems to be very broken if you have
different versions of the modules on different hosts, so it is probably a good
idea to "force" a rebuild of the correct modules if we can.  then again, there
might be a darn good reason for people to use _their_ version of the module (ie:
syncing with other people that have that version) and they'll be rather upset if
we meddle.  another thing is that a rebuild requires the user to have the source
for his currently running kernel under /usr/src/linux, not just any kernel with
the proper headers.

for the time being though, I'll look at the init-scrip issue and see if I can't
come up with something on that end.  the other matter is just as much policy as
it is hacking.  sadly enough.  :-)
Comment 4 Brad Cowan (RETIRED) gentoo-dev 2002-12-26 13:20:13 UTC
Thanks, I didn't even notice there was a init.d script. We have a very good
guide on our rc-scripts at http://www.gentoo.org/doc/en/rc-scripts.xml if you'd
like to make us a nice little rc-script :)
Comment 5 Terje Kvernes 2002-12-27 05:21:04 UTC
let's see now.  the following init.d- / conf.d-script seems to work:

#!/sbin/runscript

depend() {
    need net logger
}

checkconfig() {
    if [ "x$CACHE" == "x" ]; then
        eerror "Please set CACHE in /etc/conf.d/intersync"
        return 1
    fi
    return 0
}

start() {
    checkconfig || return $?
    ebegin "Starting intersync"
    start-stop-daemon --start --pidfile /var/run/intersync.pid \
        --startas /usr/bin/intersync -- $CLIENT_OPTS $CACHE
    eend $? "Failed to start intersync"
}

stop() {
    ebegin "Stopping intersync"
    start-stop-daemon --stop --quiet --pidfile /var/run/intersync.pid
    eend $? "Failed to stop intersync"
}



the conf.d brother looks like this:

# Config file for /etc/init.d/intersync

# options for the intersync client.  for a list of options, run
# "intersync" without args.

# options as of 0.9.5, --version also exists, but we don't want that here.
# -d, --docroot=DIRECTORY   Set the docroot that contains the cache
# -i, --local-ip=IP         Local listen ip for http (default *)
# -p, --local-port=PORT     Local listen port (default 370 or 2432 for clients)
#     --server=HOSTNAME     The server to contact for the initial profile
#     --server-port=PORT    Server connect port (default 370)
#     --clientid=CLIENTID   Configure system using CLIENTID
#     --fset=FSETNAME       Use fsetname, can include branch
#     --help                display this help and exit
#     --debug=FLAGS         print debug information
#     --hoard=FILE          hoard the files listed in FILE
#     --reint               quit after reintegration and hoard is done
#     --daemon              run intersync as daemon process

CLIENT_OPTS="--daemon"
# to connect to almach.forsaken.lands, use this:
# CLIENT_OPTS="--server=almach.forsaken.lands --daemon"

# you _need_ to set this.
CACHE=
# CACHE="/imports/home"


as I said, this seems to work.  the one thing I'm really unsure about is how to
implement this in the build.  ideas?
Comment 6 Brad Cowan (RETIRED) gentoo-dev 2002-12-27 18:14:21 UTC
good deal :) I'll work on updating the ebuild when I get a chance. THX
Comment 7 Brad Cowan (RETIRED) gentoo-dev 2002-12-30 11:06:02 UTC
Ok. I've committed and should be in portage now Please test and reopen if
there's a problem, and thanks alot for all your work :)