This patch demonstrates the use of porthole on remote
computers. It provides pretty rudimentary features
right now - it just can connect to a remote computer,
and porthole operates like the remote computer is local.
As of now, using this requires a bit of work. First,
make sure that root is authorized to ssh onto the
remote computer - i.e., 'ssh root@(remote computer)'
logs on without asking for a password. On the local
computer, use the CVS version of porthole and patch
with "patch -d porthole < porthole_net.patch" and
emerge pyro. On the remote computer, do the same.
Then, on the remote computer, as root, run the program
"python porthole_backend.py".
The program uses the package "pyro" ("emerge pyro"
everyone) to connect the local porthole instance to the
remote computer's backend. This allows the local
computer to connect to the remote portage database.
Note that the Pyro classes are inheritely insecure -
anyone can read the data going over the wire - anyone
can see your portage tree! Further, if someone would
hijack the remote computer and replace their version of
porthole_backend.py with their own, they could run
arbitrary code on the local computer. (That said,
perhaps in the future, something like md5sum checking
can be implemented...).
Once the local version of porthole is populated with
the remote database, you can perform any action you
want - update, emerge, etc (future versions will allow
you to edit use and features flags, and clean
distfiles). The commands run will use "ssh
root@(remote computer) 'emerge foobar'" - thus, any
commands that affect the remote system have some sort
of encryption.
Logged In: YES
user_id=1005092
Whoops... patch did not attach correctly, and I did not
realize it when I first posted. NOW, you can use the
attached file for desired results :-)