git-daemon sous FreeBSD

Si vous avez un serveur git sous FreeBSD, vous aurez très rapidement des problèmes avec /usr/local/etc/rc.d/git_daemon, genre il démarre mal, et refuse de redémarrer.

En fait il suffit d’utiliser l’option --reuseaddr qui passe SO_REUSEADDR à setsockopt pendant la création du socket serveur. Du coup il peut redémarrer même si il y avait une connexion active sur le port.

En lisant le script rc, on peut même éviter de le modifier et devoir le refaire à chaque mise à jours de git, dans /etc/rc.conf

git_daemon_enable="YES"
git_daemon_directory="--reuseaddr --base-path=/usr/home/git/repositories"

EDIT : ce n’est plus nécessaire maintenant PR ports/143275