Author: thomas Date: Tue Jan 5 07:59:46 2021 New Revision: 24071 Log: Update gitserver page, add bootscript (sysv/systemd)
Added: trunk/bootscripts/blfs/init.d/git-daemon trunk/systemd-units/blfs/default/git-daemon trunk/systemd-units/blfs/units/git-daemon.service Modified: trunk/BOOK/general.ent trunk/BOOK/general/prog/gitserver.xml trunk/BOOK/introduction/welcome/changelog.xml trunk/BOOK/postlfs/config/users.xml trunk/bootscripts/Makefile trunk/systemd-units/Makefile Modified: trunk/BOOK/general.ent ============================================================================== --- trunk/BOOK/general.ent Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/BOOK/general.ent Tue Jan 5 07:59:46 2021 (r24071) @@ -1,12 +1,12 @@ <!-- $LastChangedBy$ $Date$ --> -<!ENTITY day "04"> <!-- Always 2 digits --> +<!ENTITY day "05"> <!-- Always 2 digits --> <!ENTITY month "01"> <!-- Always 2 digits --> <!ENTITY year "2021"> <!ENTITY copyrightdate "2001-&year;"> <!ENTITY copyholder "The BLFS Development Team"> <!ENTITY version "&year;-&month;-&day;"> -<!ENTITY releasedate "January 4th, &year;"> +<!ENTITY releasedate "January 5th, &year;"> <!ENTITY pubdate "&year;-&month;-&day;"> <!-- metadata req. by TLDP --> <!ENTITY blfs-version "svn"> <!-- svn|[release #] --> <!ENTITY lfs-version "development"> <!-- x.y|development --> Modified: trunk/BOOK/general/prog/gitserver.xml ============================================================================== --- trunk/BOOK/general/prog/gitserver.xml Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/BOOK/general/prog/gitserver.xml Tue Jan 5 07:59:46 2021 (r24071) @@ -193,7 +193,7 @@ access. </para> <para> - The compination of access via ssh (for authenticated users) and + The combination of access via ssh (for authenticated users) and the export of repositories to unauthenticated users via the daemon is in most cases enough for a development site. </para> @@ -206,115 +206,34 @@ </para> </note> - <para> - As user <systemitem class='username'>root</systemitem> do: + </sect3> + + <sect3 id="gitserver-init"> + <title>4. Starting the Server</title> + + <para revision="sysv"> + To start the server at boot time, install the git-daemon + bootscript included in the <xref linkend="bootscripts"/> package: </para> -<screen role="root" revision="sysv"><userinput>cat > /etc/rc.d/init.d/git-daemon <<"EOF" -#!/bin/sh -######################################################################## -# Begin /etc/rc.d/init.d/git-daemon -# -# Description : Start/Stop git as a daemon -# -# Authors : -# -# Version : LFS x.x -# -# Notes : -# -######################################################################## - -### BEGIN INIT INFO -# Provides: git-daemon -# Required-Start: network -# Should-Start: -# Required-Stop: -# Should-Stop: -# Default-Start: -# Default-Stop: -# Short-Description: git as daemon -# Description: -# X-LFS-Provided-By: -### END INIT INFO - -. /lib/lsb/init-functions - -GIT_BIN="/usr/bin/git" -DFT_REPO_DIR="/srv/git/" -PID_FILE="/run/git-daemon.pid" - -case "${1}" in - start) - log_info_msg "Starting git-daemon ..." - $GIT_BIN daemon \ - --detach --pid-file=$PID_FILE \ - --user=git --group=git \ - --reuseaddr --base-path=$DFT_REPO_DIR $DFT_REPO_DIR - evaluate_retval - ;; - - stop) - log_info_msg "Stopping git-daemon ..." - killproc -p $PID_FILE $GIT_BIN - evaluate_retval - ;; - - restart) - ${0} stop - sleep 1 - ${0} start - ;; - - *) - echo "Usage: ${0} {start|stop|restart}" - exit 1 - ;; -esac - -exit 0 - -# End /etc/rc.d/init.d/git-daemon -EOF -chmod 755 /etc/rc.d/init.d/git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc0.d/K29git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc1.d/K29git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc2.d/K29git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc3.d/S50git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc4.d/S50git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc5.d/S50git-daemon -ln -v -sf ../init.d/git-daemon /etc/rc.d/rc6.d/K29git-daemon</userinput></screen> - -<screen role="root" revision="systemd"><userinput>cat > /etc/systemd/system/git-daemon.service <<EOF -[Unit] -Description=Start Git Daemon - -[Service] -ExecStart=/usr/bin/git daemon --reuseaddr --base-path=/srv/git/ /srv/git/ - -Restart=always -RestartSec=500ms - -StandardOutput=syslog -StandardError=syslog -SyslogIdentifier=git-daemon - -User=git -Group=git - -[Install] -WantedBy=multi-user.target -EOF</userinput></screen> <para revision="systemd"> - Enable and start the daemon be executing + To start the server at boot time, install the + <filename>git-daemon.service</filename> unit from the + <xref linkend="systemd-units"/> package: </para> -<screen role="root" revision="systemd"><userinput>systemctl enable git-daemon && -systemctl start git-daemon</userinput></screen> - <para revision="sysv"> - Start the daemon be executing - </para> -<screen role="root" revision="sysv"><userinput>/etc/rc.d/init.d/git-daemon start</userinput></screen> - + + <indexterm zone="gitserver gitserver-init" revision="sysv"> + <primary sortas="f-git">git</primary> + </indexterm> + +<screen role="root" revision="sysv"><userinput>make install-git-daemon</userinput></screen> + + <indexterm zone="gitserver gitserver-init" revision="systemd"> + <primary sortas="f-gitserve">gitserve</primary> + </indexterm> + +<screen role="root" revision="systemd"><userinput>make install-git-daemon</userinput></screen> + <para> In order to make <application>git</application> exporting a repository, a file named <filename>git-daemon-export-ok</filename> @@ -325,6 +244,13 @@ <screen role="root"><userinput>touch /srv/git/project1.git/git-daemon-export-ok</userinput></screen> + <para> + Also review the configuration file + <filename revision="sysv">/etc/sysconfig/git-daemon</filename> + <filename revision="systemd">/etc/default/git-daemon</filename> + for valid repository paths. + </para> + </sect3> </sect2> Modified: trunk/BOOK/introduction/welcome/changelog.xml ============================================================================== --- trunk/BOOK/introduction/welcome/changelog.xml Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/BOOK/introduction/welcome/changelog.xml Tue Jan 5 07:59:46 2021 (r24071) @@ -42,6 +42,15 @@ </listitem> --> <listitem> + <para>January 5th, 2021</para> + <itemizedlist> + <listitem> + <para>[thomas] - Add "Running a git Server" page.</para> + </listitem> + </itemizedlist> + </listitem> + + <listitem> <para>January 4th, 2021</para> <itemizedlist> <listitem> Modified: trunk/BOOK/postlfs/config/users.xml ============================================================================== --- trunk/BOOK/postlfs/config/users.xml Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/BOOK/postlfs/config/users.xml Tue Jan 5 07:59:46 2021 (r24071) @@ -114,6 +114,7 @@ <row><entry>dhcpcd </entry><entry>52</entry><entry>52</entry></row> <row><entry>svn </entry><entry>56</entry><entry>56</entry></row> <row><entry>svntest </entry><entry> </entry><entry>57</entry></row> + <row><entry>git </entry><entry>58</entry><entry>58</entry></row> <!-- <row><entry>pulse </entry><entry>58</entry><entry>58</entry></row> <row><entry>pulse-access</entry><entry></entry><entry>59</entry></row> --> Modified: trunk/bootscripts/Makefile ============================================================================== --- trunk/bootscripts/Makefile Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/bootscripts/Makefile Tue Jan 5 07:59:46 2021 (r24071) @@ -522,6 +522,16 @@ ln -sf ../init.d/svn ${EXTDIR}/rc.d/rc5.d/S33svn ln -sf ../init.d/svn ${EXTDIR}/rc.d/rc6.d/K27svn +install-git-daemon: create-dirs + install -m ${MODE} blfs/init.d/git-daemon ${EXTDIR}/rc.d/init.d/ + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc0.d/K27git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc1.d/K27git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc2.d/K27git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc3.d/S33git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc4.d/S33git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc5.d/S33git-daemon + ln -sf ../init.d/git-daemon ${EXTDIR}/rc.d/rc6.d/K27git-daemon + install-sysstat: create-dirs install -m ${MODE} blfs/init.d/sysstat ${EXTDIR}/rc.d/init.d/ ln -sf ../init.d/sysstat ${EXTDIR}/rc.d/rcS.d/S85sysstat Added: trunk/bootscripts/blfs/init.d/git-daemon ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/bootscripts/blfs/init.d/git-daemon Tue Jan 5 07:59:46 2021 (r24071) @@ -0,0 +1,71 @@ +#!/bin/sh +######################################################################## +# Begin /etc/rc.d/init.d/git-daemon +# +# Description : Start/Stop git-daemon +# +# Authors : Thomas Trepl - tho...@linuxfromscratch.org +# +# Version : LFS x.x +# +# Notes : +# +######################################################################## + +### BEGIN INIT INFO +# Provides: git-daemon +# Required-Start: $network +# Should-Start: +# Required-Stop: $network +# Should-Stop: +# Default-Start: 3 4 5 +# Default-Stop: 0 1 2 6 +# Short-Description: Start git-daemon +# Description: Start git-daemon to publish repositories +# X-LFS-Provided-By: +### END INIT INFO + +. /lib/lsb/init-functions + +GIT_BIN="/usr/bin/git" +GIT_DAEMON_OPTS="" +DFT_REPO_DIR="/srv/git/" +PID_FILE="/run/git-daemon.pid" +if [ -f "/etc/sysconfig/git-daemon" ]; then + . /etc/sysconfig/git-daemon +fi + +case "${1}" in + start) + log_info_msg "Starting git-daemon ... " + $GIT_BIN daemon \ + --detach --pid-file=$PID_FILE \ + --user=git --group=git \ + --reuseaddr \ + --base-path=$DFT_REPO_DIR \ + $GIT_DAEMON_OPTS \ + $DFT_REPO_DIR + evaluate_retval + ;; + + stop) + log_info_msg "Stopping git-daemon ... " + killproc -p $PID_FILE $GIT_BIN + evaluate_retval + ;; + + restart) + ${0} stop + sleep 1 + ${0} start + ;; + + *) + echo "Usage: ${0} {start|stop|restart}" + exit 1 + ;; +esac + +exit 0 + +# End /etc/rc.d/init.d/git-daemon Modified: trunk/systemd-units/Makefile ============================================================================== --- trunk/systemd-units/Makefile Mon Jan 4 20:28:23 2021 (r24070) +++ trunk/systemd-units/Makefile Tue Jan 5 07:59:46 2021 (r24071) @@ -197,6 +197,11 @@ systemd-tmpfiles --create svnserve.conf test -n "${DESTDIR}" || systemctl enable svnserve.service +install-git-daemon: create-dirs + install -m ${CONFMODE} blfs/default/git-daemon ${DEFAULTSDIR}/ + install -m ${CONFMODE} blfs/units/git-daemon.service ${UNITSDIR}/ + test -n "${DESTDIR}" || systemctl enable git-daemon.service + install-unbound: create-dirs install -m ${CONFMODE} blfs/units/unbound.service ${UNITSDIR}/ test -n "${DESTDIR}" || systemctl enable unbound.service Added: trunk/systemd-units/blfs/default/git-daemon ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/systemd-units/blfs/default/git-daemon Tue Jan 5 07:59:46 2021 (r24071) @@ -0,0 +1,12 @@ +# Begin /etc/default/git-daemon + +# Repository base dir +GIT_BASE_DIR="/srv/git/" + +# Default repository dir +DFT_REPO_DIR="$GIT_BASE_DIR" + +# Options to pass to git-daemon +GIT_DAEMON_OPTS="" + +# End /etc/default/git-daemon Added: trunk/systemd-units/blfs/units/git-daemon.service ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ trunk/systemd-units/blfs/units/git-daemon.service Tue Jan 5 07:59:46 2021 (r24071) @@ -0,0 +1,18 @@ +[Unit] +Description=Start Git Daemon + +[Service] +ExecStart=/usr/bin/git daemon --reuseaddr --base-path=$GIT_BASE_DIR $GIT_DAEMON_OPTS $DFT_REPO_DIR + +Restart=always +RestartSec=500ms + +StandardOutput=syslog +StandardError=syslog +SyslogIdentifier=git-daemon + +User=git +Group=git + +[Install] +WantedBy=multi-user.target -- http://lists.linuxfromscratch.org/listinfo/blfs-book FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page