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. :-)
Created attachment 6545 [details] intersync 0.9.5 ebuild
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 :)
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. :-)
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 :)
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?
good deal :) I'll work on updating the ebuild when I get a chance. THX
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 :)