Then
ipkg install py26-mercurial (many mercurial flavours in repository btw: one for every major python version).Now mercurial should be installed somewhere in '/opt/bin' (which redirects to '/volume1/@optware/bin'), type
hg -v to check this (or maybe hg-2.6 -v as ipkg apparently let me do the symbolic link: ln /opt/bin/hg /opt/bin/hg-2.6).You need to have some directory ready to hold a code repository, e.g. '//volume1/repos', executing
hg init /volume1/repos/testhg will init/create a mercurial dir with (hidden) management files in it. We could start working in this, as a shared folder on the network (\\diskstation\repos\testhg), or via http (execute
cd /volume1/repos/testhg, and hg serv, it mounts an http server on port 8000, accessible via 'http://192.168.0.X:8000' !), or via ssh (through 'ssh://user@192.168.0.x//volume1/repos/testhg') ! So Nice !I finally choosed the ssh way, to easily secure transaction.
So, now
ssh on synology: Let's activate the service using the web interface.
Test it using kitty or plink with:
plink.exe -ssh -2 root@192.168.0.X "set" should print a lot of variables contents.But, if we execute
plink.exe -ssh -2 root@192.168.0.X "hg": it should fail with ash: hg: not found. When the ssh daemon starts a session, it uses only a subset of the usual user environment, so our PATH variable is missing directories, hence cant find hg.We might override this by editing (vi)
/etc/ssh/sshd_config on the synology, to set PermitUserEnvironment yes. (to restart the ssh daemon after this, type
killall sshd and /usr/syno/etc.defaults/rc.d/S95sshd.sh start)This script mod triggers the execution of a script
$HOME/.ssh/environment for each ssh session creation: let's create such (executable) script with the line PATH=/opt/bin:/opt/sbin:$PATH in it. Now back to plink: we should now be able to execute
hg through ssh.And... Everything should roll from this point :)
(Once in a while, telnet into your box (putty) and
ipkg update and ipkg upgrade)




