From 4f2d7949f03e1c198bc888f2d05f421d35c57e21 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Oct 2017 18:53:29 +0100 Subject: reinit the tree, so we can have metadata --- www-servers/thttpd/Manifest | 11 +++ .../thttpd/files/thttpd-renamed-htpasswd.patch | 108 +++++++++++++++++++++ www-servers/thttpd/files/thttpd.conf.sample | 38 ++++++++ www-servers/thttpd/files/thttpd.confd.1 | 35 +++++++ www-servers/thttpd/files/thttpd.init.1 | 34 +++++++ www-servers/thttpd/files/thttpd.logrotate | 12 +++ www-servers/thttpd/metadata.xml | 8 ++ www-servers/thttpd/thttpd-2.27.1.ebuild | 81 ++++++++++++++++ www-servers/thttpd/thttpd-9999.ebuild | 81 ++++++++++++++++ 9 files changed, 408 insertions(+) create mode 100644 www-servers/thttpd/Manifest create mode 100644 www-servers/thttpd/files/thttpd-renamed-htpasswd.patch create mode 100644 www-servers/thttpd/files/thttpd.conf.sample create mode 100644 www-servers/thttpd/files/thttpd.confd.1 create mode 100644 www-servers/thttpd/files/thttpd.init.1 create mode 100644 www-servers/thttpd/files/thttpd.logrotate create mode 100644 www-servers/thttpd/metadata.xml create mode 100644 www-servers/thttpd/thttpd-2.27.1.ebuild create mode 100644 www-servers/thttpd/thttpd-9999.ebuild (limited to 'www-servers/thttpd') diff --git a/www-servers/thttpd/Manifest b/www-servers/thttpd/Manifest new file mode 100644 index 000000000000..30633955db29 --- /dev/null +++ b/www-servers/thttpd/Manifest @@ -0,0 +1,11 @@ +AUX thttpd-renamed-htpasswd.patch 3387 SHA256 d07df194217af30c1ae774a102b304814630cc5b7b1909482426e6ff921745f3 SHA512 0f0622ab8548ea3d3ba5f25d92d4d31f17bcd9baee3a8d0dc0d6c227b708e36bae681ace984e94f1c5e7def264866d27196a0b4c54af612ff0479d7a39a43475 WHIRLPOOL 1c3f52dd43681a0872807d09a61c0b38bed1b6ef04cd431acad26ee45597199f69a6dddd58aa2e61fda0c8272e084561a67014ed90f93fa50efb99e7607501bb +AUX thttpd.conf.sample 670 SHA256 abdf9f7c6685f846ee2bd482d60b8f8cedc3747cbc3d32c0dd21d6ca8a4dd8de SHA512 97c8582438518bf528b6d419fdb7bd94668e91e6b7033a3ed5cda4afb3539e38bf24aea5ae4b138ff2c561c95003e7f85cfa7ce88cd97e8cbbf558bc4147d2c6 WHIRLPOOL 3831498f048ea44e3969e97d9436f6a61d4afc88e95e3aa5910fb3f8a3fc8acde9f1ff63f935eba0c0636e6f592c2f8c441044666322888a2ac7f257ec6925a3 +AUX thttpd.confd.1 1263 SHA256 79e5cb1fba2b80c1c7970093861f8afe7e09d723faf8e044fc540742abdc37bc SHA512 83b8d5aebf180c398e27695bcfc9b847f6535302b4521be460ffd2e867b20fcf1083bcacdb605e557038c54631546a7ee1ba928611a6a23d786fb9f6ef9e0ee0 WHIRLPOOL a8bec5f119ac3e3856938c1753f8bde1f8d1839c94f3a1f4180d29932f2c79066e64b696f18babf847367bb4f96c9267567a0a6db9239bbc0ce1946738781ca8 +AUX thttpd.init.1 735 SHA256 902b95b9e39b72e06b4abe0b18ea8e4ecb245204040d3a2b361350ab734789fe SHA512 991b8153fa030026e3fadc0b838b26fda75ab706e4fdaf1195931ed63be15dde290e4e3653951c78f41ec70464ed2d3dd984dc10bee4551cbf069435d447bea1 WHIRLPOOL 441944bb8b0f0e40cd8c44d48fbd5046225af64de87ef110d1e42e806c121acab5372ffda0388dd7daca5364aa688f9826bb3bdfbd6202bfce8e48b268a0c027 +AUX thttpd.logrotate 197 SHA256 0399d9fdc31a5555307d33c4744b21271e9d7d4d6ded78573fb9b2210f593bc6 SHA512 a481c8c2d3a4526b04d6c95873336e46368e32e6f254f7453f5ccefe38cb11104ecacd7829caa7881df81c0d36c1dd4f60a91bbc7696fa349ed9c2cc7ddc84cd WHIRLPOOL 79577136bbfdf6b2b6026f1e114d4af8a66712abd0efc892f96f5ac0c084341621a3f413102764a750bf101237b9ae52424a2cd6f1b0b92b4430037faf954a6b +DIST thttpd-2.27.1.tar.gz 96430 SHA256 a1ee2806432eaf5b5dd267a0523701f9f1fa00fefd499d5bec42165a41e05846 SHA512 5d42e32652eb2310c7379d2c4373ad8f54b33bd7c2b444f06d1756eb4ed296774ce3144d91bbba85c6ad604e575128dc7199b797dc8d1b4849b0249054ba5d24 WHIRLPOOL e64b132e83b459fb0ab6da6f3a15c4a603f8d4f53f123cabccc82077506a258c616c2703992b671e9193c26c452bd3b6908ebfadfb15301f1e34f8925303f625 +EBUILD thttpd-2.27.1.ebuild 1935 SHA256 202090bb7440c8ba7376b59d65b4ddc8d6d844dde710c8f65dac593a493d006a SHA512 cd44e16fc8b68caeed14d0656fcbe6b290c2216dfd92feaba5d481a533d32967ae77d4fed989b83625fb5ab8bcbb676aee8d1e45b2cebda607d1ff59dfd0976f WHIRLPOOL fdde5dc20ba7c72f410b65dcfbbbe756e307c4b6c50360ef8ec6bea653254b1875a7eb167f823d7cff997d748e2fb1ea1d081f1cb4817d0d7d97b8373b669301 +EBUILD thttpd-9999.ebuild 1912 SHA256 6f28872fb9d9404f67d80c744b8f92319b02841bddaf58ce1c6d55c5e90d1810 SHA512 11f45a8320120741c3a2e67f179ba2f1d944e39a840a179ea87062a8e8a786ca71df10b2a9566217ae3b4606d358b65996ba124282094ea31fdcf3359e93a2cf WHIRLPOOL fb14d7998442d8898414ad66ac077d28ba7363bd0bc7c2105841d57f4c29abf0d74be27e31827759b5f3f8228ddd9a0dc5809616ad3391a7d3c0daba2b38183d +MISC ChangeLog 2624 SHA256 4e4aaf44fc6e8e4b3b7595046aaf4f626a42e2782a2e2a2c719cdc49e46055a3 SHA512 98704ac344936eeb31ae8663c0844d3ad46252aa9e66b167de502a898644c19324c6583b7238d9516190e899e9dd90e15cc91531b290e1cf8320a711dd0773be WHIRLPOOL a4a32eed191129dd80a1b58592aa1bd7f6365720d65c0081ec6c09475fbd633ac8f97dd22f444d43ded9a365ae51c50a94f149bd9dc2a32bbfcfe5893187003f +MISC ChangeLog-2015 14547 SHA256 c56b076367a6c756f1c4b9b77d1de3922e2c1a18cdd988505cee0c889cf769b2 SHA512 4563d35f27a2d2fea9d528e6c0085a6e3ed29f1d2ce6ad7187dbb6262ff9bc36f41e9c9c01cf727f90971b2f06f6a7e837c4005f1ece3b06132a3e78496aa4c0 WHIRLPOOL 0adab865c89a5433acfd001d9c6d91d46184d5319981cb45d392ee3918d3ed1e3ce030e2581a38dc089005c35e904f4b84319aa715bfbbbb13ae723dfbe77f31 +MISC metadata.xml 248 SHA256 4b929f10c2798c343335d4dc1d8f92c69e54c8b15a6240b748c4b8bc2cc70e9d SHA512 5a0cba98b94cc06306b0e352d40ff113de69408752b14e1ba9efdce3f564c9bd11f8f65e89fc24d2e2056056edef5b77ab1ca8aa33e7faad5d0eaef40b895c85 WHIRLPOOL 370154a5df414715176a741210d80d93fb60ea31d135c902a85f46af3b6683b0c5c6be956f28df349db79e1237bd496b34c5e05a0aa35d0c3e4b6728cc758627 diff --git a/www-servers/thttpd/files/thttpd-renamed-htpasswd.patch b/www-servers/thttpd/files/thttpd-renamed-htpasswd.patch new file mode 100644 index 000000000000..31e68429dbd6 --- /dev/null +++ b/www-servers/thttpd/files/thttpd-renamed-htpasswd.patch @@ -0,0 +1,108 @@ +diff --git a/configure.ac b/configure.ac +index 2c2dfae..e028a0d 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -42,12 +42,6 @@ if test "x${WEBDIR}" = "x" ; then + WEBDIR='/usr/local/www' + fi + +-AC_ARG_VAR(WEBGROUP, [The group that the web server will run as]) +- +-if test "x${WEBGROUP}" = "x" ; then +- WEBGROUP='thttpd' +-fi +- + AC_CONFIG_FILES([Makefile + docs/Makefile + extras/Makefile +diff --git a/docs/Makefile.am b/docs/Makefile.am +index 303c25f..2823290 100644 +--- a/docs/Makefile.am ++++ b/docs/Makefile.am +@@ -1 +1 @@ +-dist_man_MANS = htpasswd.1 makeweb.1 redirect.8 ssi.8 syslogtocern.8 thttpd.8 ++dist_man_MANS = th_htpasswd.1 makeweb.1 redirect.8 ssi.8 syslogtocern.8 thttpd.8 +diff --git a/docs/htpasswd.1 b/docs/htpasswd.1 +deleted file mode 100644 +index 1124b02..0000000 +--- a/docs/htpasswd.1 ++++ /dev/null +@@ -1,16 +0,0 @@ +-.TH htpasswd 1 "05 May 1998" +-.SH NAME +-htpasswd - manipulate HTTP-server password files +-.SH SYNOPSIS +-.B htpasswd +-.RB [ -c ] +-.I passwordfile +-.I username +-.SH DESCRIPTION +-.PP +-Sets a user's password in an httpd-style password file. +-The -c flag creates a new file. +-.SH AUTHOR +-Rob McCool. +-Modified 29aug97 by Jef Poskanzer to accept new password on stdin, +-if stdin is a pipe or file. This is necessary for use from CGI. +diff --git a/docs/th_htpasswd.1 b/docs/th_htpasswd.1 +new file mode 100644 +index 0000000..f524af9 +--- /dev/null ++++ b/docs/th_htpasswd.1 +@@ -0,0 +1,16 @@ ++.TH th_htpasswd 1 "05 May 1998" ++.SH NAME ++th_htpasswd - manipulate HTTP-server password files ++.SH SYNOPSIS ++.B th_htpasswd ++.RB [ -c ] ++.I passwordfile ++.I username ++.SH DESCRIPTION ++.PP ++Sets a user's password in an httpd-style password file. ++The -c flag creates a new file. ++.SH AUTHOR ++Rob McCool. ++Modified 29aug97 by Jef Poskanzer to accept new password on stdin, ++if stdin is a pipe or file. This is necessary for use from CGI. +diff --git a/docs/thttpd.8 b/docs/thttpd.8 +index a0fd334..78af884 100644 +--- a/docs/thttpd.8 ++++ b/docs/thttpd.8 +@@ -270,7 +270,7 @@ called .htpasswd by default. + This file is formatted as the familiar colon-separated + username/encrypted-password pair, records delimited by newlines. + The protection does not carry over to subdirectories. +-The utility program htpasswd(1) is included to help create and ++The utility program th_htpasswd(1) is included to help create and + modify .htpasswd files. + .PP + Relevant thttpd.h option: AUTH_FILE +@@ -562,7 +562,7 @@ This is a little tricky to set up correctly, for instance if you are using + chroot() then the log file must be within the chroot tree, but it's + definitely doable. + .SH "SEE ALSO" +-redirect(8), ssi(8), makeweb(1), htpasswd(1), syslogtocern(8), weblog_parse(1), http_get(1) ++redirect(8), ssi(8), makeweb(1), th_htpasswd(1), syslogtocern(8), weblog_parse(1), http_get(1) + .SH THANKS + .PP + Many thanks to contributors, reviewers, testers: +diff --git a/extras/Makefile.am b/extras/Makefile.am +index b1f3b4d..ffd19d7 100644 +--- a/extras/Makefile.am ++++ b/extras/Makefile.am +@@ -1,11 +1,7 @@ + AM_CPPFLAGS = -DWEBDIR='"$(WEBDIR)"' + +-sbin_PROGRAMS = makeweb htpasswd ++sbin_PROGRAMS = makeweb th_htpasswd + makeweb_SOURCES = makeweb.c +-htpasswd_SOURCES = htpasswd.c ++th_htpasswd_SOURCES = th_htpasswd.c + + dist_sbin_SCRIPTS = syslogtocern +- +-install-exec-hook: +- chgrp $(WEBGROUP) $(DESTDIR)$(sbindir)/makeweb +- chmod 2751 $(DESTDIR)$(sbindir)/makeweb diff --git a/www-servers/thttpd/files/thttpd.conf.sample b/www-servers/thttpd/files/thttpd.conf.sample new file mode 100644 index 000000000000..462bd0c198d0 --- /dev/null +++ b/www-servers/thttpd/files/thttpd.conf.sample @@ -0,0 +1,38 @@ +## /etc/thttpd.conf +## +## do not leave empty lines in here! +## format is: key=value +## +## run in debug-mode? +#debug +## +## what interface to bind to? +## (default is binding to any interface) +#host=www.example.org +port=80 +user=thttpd +## +## CGI: +## ? match a single char +## * matches any string excluding "/" +## ** matches any string including "/" +## separate multiple patterns with "|" +#cgipat=**.sh|**.cgi +## +## chroot: +chroot +#nochroot +## +logfile=/var/log/thttpd.log +pidfile=/var/run/thttpd.pid +## +charset=iso-8859-1 +## +## control the caching: (in secs) +#maxage 60 +## +## virtual hosting: +#vhost +## +## cache-control: send this "max-age" in all HTTP-responses: +#max-age=0 diff --git a/www-servers/thttpd/files/thttpd.confd.1 b/www-servers/thttpd/files/thttpd.confd.1 new file mode 100644 index 000000000000..b5f630e7ecc2 --- /dev/null +++ b/www-servers/thttpd/files/thttpd.confd.1 @@ -0,0 +1,35 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v2 or later + +## Config file for /etc/init.d/thttpd + +## the startup-dir of thttpd is the docroot, so we specify it here +## and the init-script does a "cd" prior to startup: +THTTPD_DOCROOT="/var/www/localhost" + +## There are 2 ways to configure thttpd: +## 1) specify all params on the cmd-line +## 2) use a config-file (and start with "-C ") + +## For additional thttpd instances, run: +# ln -s /etc/init.d/thttpd /etc/init.d/thttpd.$NAME +# cp /etc/conf.d/thttpd /etc/conf.d/thttpd.$NAME + +## Note: 1) and 2) can be mixed but +## the init-script set PID (option -i) to +## /var/run/thttpd.$NAME.run +## and logfile (option -l) to +## /var/log/thttpd.$NAME.log +## +## We choose 1) here -- if you have a more complicated setup read +## thttpd(8) for details on 2). + +THTTPD_OPTS="-p 80 -u thttpd -r" + +## For a more complex setup (e.g. cgi-support) use an external configfile: +## comment the THTTPD_OPTS line above und use the one below. +#THTTPD_OPTS="-C /etc/thttpd/thttpd.conf" + +## If you know what you are doing you can add cgi-support with the line below; +## but you _should_ use the extern-configfile version! +#THTTPD_OPTS="$THTTPD_OPTS -c **.cgi|**.sh" diff --git a/www-servers/thttpd/files/thttpd.init.1 b/www-servers/thttpd/files/thttpd.init.1 new file mode 100644 index 000000000000..3b7756eae19a --- /dev/null +++ b/www-servers/thttpd/files/thttpd.init.1 @@ -0,0 +1,34 @@ +#!/sbin/openrc-run +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License, v3 or later + +depend() { + need net + use dns logger netmount + after sshd +} + +checkconfig() { + if [ ! -d "$THTTPD_DOCROOT" ]; then + eend 1 "THTTPD_DOCROOT not set correctly in /etc/conf.d/${SVCNAME}" + fi +} + +start() { + ebegin "Starting ${SVCNAME}" + + checkconfig || return 1 + + start-stop-daemon --quiet --start --exec /usr/sbin/thttpd \ + --pidfile /var/run/${SVCNAME}.pid --chdir "$THTTPD_DOCROOT" -- \ + -i /var/run/${SVCNAME}.pid \ + -l /var/log/${SVCNAME}.log \ + ${THTTPD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping ${SVCNAME}" + start-stop-daemon --quiet --stop --pidfile /var/run/${SVCNAME}.pid + eend $? +} diff --git a/www-servers/thttpd/files/thttpd.logrotate b/www-servers/thttpd/files/thttpd.logrotate new file mode 100644 index 000000000000..7e75c813524a --- /dev/null +++ b/www-servers/thttpd/files/thttpd.logrotate @@ -0,0 +1,12 @@ +/var/log/thttpd.log { + daily + rotate 5 + compress + delaycompress + missingok + notifempty + sharedscripts + postrotate + kill -HUP `cat /var/run/thttpd.pid 2>/dev/null` 2>/dev/null || true + endscript +} diff --git a/www-servers/thttpd/metadata.xml b/www-servers/thttpd/metadata.xml new file mode 100644 index 000000000000..d728f56aa6ae --- /dev/null +++ b/www-servers/thttpd/metadata.xml @@ -0,0 +1,8 @@ + + + + + blueness@gentoo.org + Anthony G. Basile + + diff --git a/www-servers/thttpd/thttpd-2.27.1.ebuild b/www-servers/thttpd/thttpd-2.27.1.ebuild new file mode 100644 index 000000000000..2ff4c358e0e9 --- /dev/null +++ b/www-servers/thttpd/thttpd-2.27.1.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools flag-o-matic toolchain-funcs user + +if [[ ${PV} = 9999* ]] +then + EGIT_REPO_URI="https://github.com/blueness/sthttpd.git" + inherit git-r3 + KEYWORDS="amd64 arm ppc ppc64 sparc x86" +else + MY_P="s${P}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/blueness/sthttpd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64 arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~arm-linux ~x86-linux" +fi + +DESCRIPTION="Fork of thttpd, a small, fast, multiplexing webserver" +HOMEPAGE="http://opensource.dyc.edu/sthttpd" + +LICENSE="BSD GPL-2" +SLOT="0" +IUSE="" + +RDEPEND="" +DEPEND="" + +WEBROOT="/var/www/localhost" + +THTTPD_USER=thttpd +THTTPD_GROUP=thttpd +THTTPD_DOCROOT="${EPREFIX}${WEBROOT}/htdocs" + +DOCS=( TODO ) + +pkg_setup() { + ebegin "Creating thttpd user and group" + enewgroup ${THTTPD_GROUP} + enewuser ${THTTPD_USER} -1 -1 -1 ${THTTPD_GROUP} +} + +src_prepare() { + eapply "${FILESDIR}"/thttpd-renamed-htpasswd.patch + mv "${S}"/extras/{htpasswd.c,th_htpasswd.c} || die + eapply_user + eautoreconf -f -i +} + +src_configure() { + econf WEBDIR=${THTTPD_DOCROOT} +} + +src_install () { + default + + newinitd "${FILESDIR}"/thttpd.init.1 thttpd + newconfd "${FILESDIR}"/thttpd.confd.1 thttpd + + insinto /etc/logrotate.d + newins "${FILESDIR}/thttpd.logrotate" thttpd + + insinto /etc/thttpd + doins "${FILESDIR}"/thttpd.conf.sample + + #move htdocs to docdir, bug #429632 + docompress -x /usr/share/doc/"${PF}"/htdocs.dist + mv "${ED}"${WEBROOT}/htdocs \ + "${ED}"/usr/share/doc/"${PF}"/htdocs.dist || die + mkdir "${ED}"${WEBROOT}/htdocs || die + + keepdir ${WEBROOT}/htdocs + + chown root:${THTTPD_GROUP} "${ED}/usr/sbin/makeweb" \ + || die "Failed chown makeweb" + chmod 2751 "${ED}/usr/sbin/makeweb" \ + || die "Failed chmod makeweb" + chmod 755 "${ED}/usr/share/doc/${PF}/htdocs.dist/cgi-bin/printenv" \ + || die "Failed chmod printenv" +} diff --git a/www-servers/thttpd/thttpd-9999.ebuild b/www-servers/thttpd/thttpd-9999.ebuild new file mode 100644 index 000000000000..de37464fa183 --- /dev/null +++ b/www-servers/thttpd/thttpd-9999.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI="6" + +inherit autotools flag-o-matic toolchain-funcs user + +if [[ ${PV} = 9999* ]] +then + EGIT_REPO_URI="https://github.com/blueness/sthttpd.git" + inherit git-r3 + KEYWORDS="" +else + MY_P="s${P}" + S="${WORKDIR}/${MY_P}" + SRC_URI="https://github.com/blueness/sthttpd/archive/v${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~arm-linux ~x86-linux" +fi + +DESCRIPTION="Fork of thttpd, a small, fast, multiplexing webserver" +HOMEPAGE="http://opensource.dyc.edu/sthttpd" + +LICENSE="BSD GPL-2" +SLOT="0" +IUSE="" + +RDEPEND="" +DEPEND="" + +WEBROOT="/var/www/localhost" + +THTTPD_USER=thttpd +THTTPD_GROUP=thttpd +THTTPD_DOCROOT="${EPREFIX}${WEBROOT}/htdocs" + +DOCS=( TODO ) + +pkg_setup() { + ebegin "Creating thttpd user and group" + enewgroup ${THTTPD_GROUP} + enewuser ${THTTPD_USER} -1 -1 -1 ${THTTPD_GROUP} +} + +src_prepare() { + eapply "${FILESDIR}"/thttpd-renamed-htpasswd.patch + mv "${S}"/extras/{htpasswd.c,th_htpasswd.c} || die + eapply_user + eautoreconf -f -i +} + +src_configure() { + econf WEBDIR=${THTTPD_DOCROOT} +} + +src_install () { + default + + newinitd "${FILESDIR}"/thttpd.init.1 thttpd + newconfd "${FILESDIR}"/thttpd.confd.1 thttpd + + insinto /etc/logrotate.d + newins "${FILESDIR}/thttpd.logrotate" thttpd + + insinto /etc/thttpd + doins "${FILESDIR}"/thttpd.conf.sample + + #move htdocs to docdir, bug #429632 + docompress -x /usr/share/doc/"${PF}"/htdocs.dist + mv "${ED}"${WEBROOT}/htdocs \ + "${ED}"/usr/share/doc/"${PF}"/htdocs.dist || die + mkdir "${ED}"${WEBROOT}/htdocs || die + + keepdir ${WEBROOT}/htdocs + + chown root:${THTTPD_GROUP} "${ED}/usr/sbin/makeweb" \ + || die "Failed chown makeweb" + chmod 2751 "${ED}/usr/sbin/makeweb" \ + || die "Failed chmod makeweb" + chmod 755 "${ED}/usr/share/doc/${PF}/htdocs.dist/cgi-bin/printenv" \ + || die "Failed chmod printenv" +} -- cgit v1.2.3