LogMeIn Hamachi VPN tunneling engine. Reproducible: Didn't try todo : files/logmein-hamachi.confd files/logmein-hamachi.initd
Created attachment 258460 [details] logmein-hamachi-2.0.1.13
Is this a version bump or a replacement of the hamachi that exists already in portage?
it could be a version bump but i think it is safer to make a replacement to keep old local client keys or not.
Created attachment 259435 [details] logmein-hamachi-2.0.1.13 with some changes I made some changes to the ebuild I found here. I tried Hamachi2 and it seems it needs to be run as root, so there's no use in creating an "hamachi" user and group. The license was 'as-is' with version 0.9.9.9 but now it seems more like 'free-noncomm' , I think the LICENSE field should reflect that. I found no way to choose the position of the log files, they are placed in the same directory as the config and identity files, so I used the default /var/lib/${PN} . Other changes: uncommented a line to enable installation on amd64 systems (like mine) let the users see the localized homepage (where available) put the LICENSE, CHANGES and README files together as in the install.sh script (there is no need for a "licenses" directory anymore) added some info to let users use the client (and not only root) hamachid is already stripped so I set: QA_PRESTRIPPED="/opt/${PN}/bin/hamachid"
Created attachment 259437 [details] logmein-hamachi.initd I tried to preserve the behavior that version 0.9.9.9 used. I had to add a delay before the login otherwise it fails saying that it's busy. I didn't find a way to stop it from setting the nickname to the hostname when I login, so I made it set the nickname after the login.
Created attachment 259439 [details] logmein-hamachi.confd
Created attachment 259443 [details] logmein-hamachi.initd I forgot depend()
Created attachment 259463 [details] logmein-hamachi-2.0.1.13.ebuild with RESTRICT="mirror" instead of "fetch" I didn't find the reason to use RESTRICT="fetch" instead of a more friendly RESTRICT="mirror", so I'm attaching a "mirror" version.
Hello, The Gentoo Team would like to firstly thank you for your ebuild submission. We also apologize for not being able to accommodate you in a timely manner. There are simply too many new packages. Allow me to use this opportunity to introduce you to Gentoo Sunrise. The sunrise overlay[1] is a overlay for Gentoo which we allow trusted users to commit to and all users can have ebuilds reviewed by Gentoo devs for entry into the overlay. So, the sunrise team is suggesting that you look into this and submit your ebuild to the overlay where even *you* can commit to. =) Thanks, On behalf of the Gentoo Sunrise Team, Markos. [1]: http://www.gentoo.org/proj/en/sunrise/ [2]: http://overlays.gentoo.org/proj/sunrise/wiki/SunriseFaq
Created attachment 259467 [details] net-misc/hamachi version bump hamachi2 doesn't use the local keys from hamachi 0.9.9.9 and they shouldn't be installed together, so I propose to make it a standard version bump (that leaves the directory storing the old configs and keys alone). I kept the logmein- prefix inside to stay consistent with the README and with the error messages.
Created attachment 259485 [details] hamachi-2.0.1.13.ebuild pkg_setup() was broken for x86. Some cleanup.
Created attachment 259621 [details] logmein-hamachi-2.0.1.13.ebuild Markos, the old hamachi has a more permissive license, so I think it shouldn't be removed.
Created attachment 259622 [details] Hamachi2 license LogMeIn Hamachi2 has its own license.
I have to study the license to make sure that it complies with our policy standards
Looking at your init scripts I am a bit worried about the start() function testing dev # /etc/init.d/logmein-hamachi start * Caching service dependencies ... [ ok ] * Starting hamachi ... Logging in .. failed, busy [ !! ] * ERROR: logmein-hamachi failed to start testing dev # /etc/init.d/logmein-hamachi start * Starting hamachi ... * start-stop-daemon: /opt/logmein-hamachi/bin/hamachid is already running [ !! ] * ERROR: logmein-hamachi failed to start See the problem? The daemon (hamachid) is started just fine, however the hamachi client cannot connect ( I haven't configured it anyway ). I think the init script should not log in the client automatically. You can always have hamachi running but be offline. You are trying to implement two different functionalities in a single init script. Therefore, the $result might not reflect the reality all the time.
(In reply to comment #15) > [..] I think the > init script should not log in the client automatically. You can always have > hamachi running but be offline. You are trying to implement two different > functionalities in a single init script. Therefore, the $result might not > reflect the reality all the time. > I tried to preserve the behavior of the init script used for the latest version in portage. Hamachi should auto-configure. That error probably happened because hamachi2 returns before being ready (I suppose the old didn't). I introduced a WAIT variable in conf.d/logmein-hamachi with a default of 1 sec that worked for me, but trying again it isn't enough for the first run when auto-configuration is done. I would remove the logging part if it wasn't that I didn't find a way to keep the nickname I want except by setting it every time after the login. It's more straightforward to set it in conf.d and let it login and set the nick automatically. I understand that the way it is done must be sane, so I'd like to try to make it work right instead of removing it. First, I tested 5 times that 2 secs are enough for auto-configuration, so I'd change the default. Then I could make the auto-login optional with a conf.d variable and fix the $result to actually return the status of the daemon. Could that be fine?
What would be the default behavior when I try to start the init script but without making any configuration? The way it is now, the daemon creates the pidfile but the client fails to start. The init script reports error but the pidfile does not get deleted. Therefore you can't restart or stop the service. The default logic should be $daemon started==1 && $client started==1 ; then return success. If the client fails to start/login/whatever, then the init script should delete the pidfile and return an error code.
Created attachment 259945 [details] logmein-hamachi.initd This script should follow the default logic, in addition I made auto-login optional and enabled if a nickname is set in conf.d . Furthermore I removed the custom status function as it ran 'hamachi' to get the daemon status and it sometimes crashes the daemon.
Created attachment 259947 [details] logmein-hamachi.confd Updated for the init script above.
Created attachment 259949 [details] logmein-hamachi-2.0.1.13.ebuild As above.
Looks better now. I will try again
+*logmein-hamachi-2.0.1.13 (15 Jan 2011) + + 15 Jan 2011; Markos Chandras <hwoarang@gentoo.org> + +logmein-hamachi-2.0.1.13.ebuild, +files/logmein-hamachi.confd, + +files/logmein-hamachi.initd, +metadata.xml: + Initial commit of new hamachi client. Bug #350172. The original hamachi + client has been renamed to logmein-hamachi which is more a replacement rather + than a new version. Thanks to Simone Scanzoni <nonno.cicala@libero.it> for + the ebuilds and scripts. He will proxy maintain it. The old client will be + removed in 30 days +
thank you very much