summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTodd Zullinger <tmz@fedoraproject.org>2009-02-06 18:54:50 +0000
committerTodd Zullinger <tmz@fedoraproject.org>2009-02-06 18:54:50 +0000
commit39d6ae82638684ce61e454dc7f8a1e46a3eeeb22 (patch)
tree10e228d3f9e5f9e4b1e2ceec01b97d1932c50f61
parent2bb39b7cb71e8562798fa3bf737a45c9fdeef064 (diff)
downloadcgit_EL6-39d6ae82638684ce61e454dc7f8a1e46a3eeeb22.tar.gz
Import cgit on F-10 branchcgit-0_8_2-1_fc10
-rw-r--r--.cvsignore3
-rw-r--r--README.SELinux22
-rw-r--r--cgit.httpd2
-rw-r--r--cgit.spec89
-rw-r--r--cgitrc54
-rw-r--r--sources2
6 files changed, 172 insertions, 0 deletions
diff --git a/.cvsignore b/.cvsignore
index e69de29..c6a8266 100644
--- a/.cvsignore
+++ b/.cvsignore
@@ -0,0 +1,3 @@
+*.rpm
+*.tar.bz2
+clog
diff --git a/README.SELinux b/README.SELinux
new file mode 100644
index 0000000..95c690c
--- /dev/null
+++ b/README.SELinux
@@ -0,0 +1,22 @@
+If you use SELinux, you need to ensure that the httpd_enable_cgi boolean is
+set properly. This can be done via the command line, e.g.:
+
+ # setsebool -P httpd_enable_cgi 1
+
+Or you can use the graphical tool system-config-selinux, via System ->
+Administration -> SELinux Management on the Gnome menu.
+
+Additionally, the git repositories need to be readable by the cgi. This is
+handled automatically for repositories in the default path, /var/lib/git. If
+your repositories are in a different path, /srv/git, for example, you can set
+the proper context using semanage:
+
+ # semanage fcontext -a -t httpd_sys_content_t "/srv/git(/.*)?"
+
+If you have other confined daemons that need to access the git repositories,
+you may want to use public_content_t, or public_content_rw_t instead of
+httpd_sys_content_t.
+
+Then use restorecon to update the contexts:
+
+ # restorecon -RF /srv/git
diff --git a/cgit.httpd b/cgit.httpd
new file mode 100644
index 0000000..791d01b
--- /dev/null
+++ b/cgit.httpd
@@ -0,0 +1,2 @@
+Alias /cgit-data /usr/share/cgit
+ScriptAlias /cgit /var/www/cgi-bin/cgit
diff --git a/cgit.spec b/cgit.spec
new file mode 100644
index 0000000..50dd464
--- /dev/null
+++ b/cgit.spec
@@ -0,0 +1,89 @@
+# Review bug: https://bugzilla.redhat.com/479723
+
+%define gitver 1.6.1.1
+%define cachedir %{_localstatedir}/cache/cgit
+%define scriptdir %{_localstatedir}/www/cgi-bin
+%define cgitdata %{_datadir}/cgit
+
+%define make_cgit \
+export CFLAGS="%{optflags}" \
+make V=1 %{?_smp_mflags} \\\
+ DESTDIR=%{buildroot} \\\
+ INSTALL="install -p" \\\
+ CACHE_ROOT=%{cachedir} \\\
+ CGIT_SCRIPT_PATH=%{scriptdir} \\\
+ CGIT_SCRIPT_NAME=cgit \\\
+ CGIT_DATA_PATH=%{cgitdata}
+
+Name: cgit
+Version: 0.8.2
+Release: 1%{?dist}
+Summary: A fast webinterface for git
+
+Group: Development/Tools
+License: GPLv2
+URL: http://hjemli.net/git/cgit/
+Source0: http://hjemli.net/git/cgit/snapshot/%{name}-%{version}.tar.bz2
+Source1: http://www.kernel.org/pub/software/scm/git/git-%{gitver}.tar.bz2
+Source2: cgitrc
+Source3: cgit.httpd
+Source4: README.SELinux
+BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)
+
+%if 0%{?fedora}
+BuildRequires: libcurl-devel
+%else
+BuildRequires: curl-devel
+%endif
+BuildRequires: openssl-devel
+Requires: httpd
+
+%description
+This is an attempt to create a fast web interface for the git scm,
+using a builtin cache to decrease server io-pressure.
+
+%prep
+%setup -q -a 1
+
+# setup the git dir
+rm -rf git
+mv git-%{gitver} git
+sed -i 's/^\(CFLAGS = \).*/\1%{optflags}/' git/Makefile
+
+# add README.SELinux
+cp -p %{SOURCE4} .
+
+
+%build
+%{make_cgit}
+
+
+%install
+rm -rf %{buildroot}
+%{make_cgit} install
+install -d -m0755 %{buildroot}%{_sysconfdir}/httpd/conf.d
+install -p -m0644 %{SOURCE2} %{buildroot}%{_sysconfdir}/cgitrc
+install -p -m0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/httpd/conf.d/cgit.conf
+install -d -m0755 %{buildroot}%{cachedir}
+
+%clean
+rm -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root,-)
+%doc COPYING README* cgitrc.5.txt
+%config(noreplace) %{_sysconfdir}/cgitrc
+%config(noreplace) %{_sysconfdir}/httpd/conf.d/cgit.conf
+%dir %attr(-,apache,root) %{cachedir}
+%{cgitdata}
+%{scriptdir}/*
+
+
+%changelog
+* Fri Feb 06 2009 Todd Zullinger <tmz@pobox.com> - 0.8.2-1
+- Update to 0.8.2
+- Drop upstreamed Makefile patch
+
+* Mon Jan 12 2009 Todd Zullinger <tmz@pobox.com> - 0.8.1-1
+- Initial package
diff --git a/cgitrc b/cgitrc
new file mode 100644
index 0000000..d3f811a
--- /dev/null
+++ b/cgitrc
@@ -0,0 +1,54 @@
+#
+# See /usr/share/doc/cgit-*/cgitrc.5.txt for details
+#
+
+# Enable caching of up to 1000 output entries
+cache-size=1000
+
+# Specify some default clone prefixes
+#clone-prefix=git://example.com ssh://example.com/pub/git http://example.com/git
+
+# Specify the css url
+css=/cgit-data/cgit.css
+
+# Show extra links for each repository on the index page
+enable-index-links=1
+
+# Show number of affected files per commit on the log pages
+enable-log-filecount=1
+
+# Show number of added/removed lines per commit on the log pages
+enable-log-linecount=1
+
+# Add a cgit favicon
+#favicon=/favicon.ico
+
+# Use a custom logo
+logo=/cgit-data/cgit.png
+
+# Set the title and heading of the repository index page
+#root-title=example.com git repositories
+
+# Set a subheading for the repository index page
+#root-desc=tracking the foobar development
+
+# Include some more info about this site on the index page
+#root-readme=/var/www/html/about.html
+
+# Allow download of tar.gz, tar.bz2 and zip-files
+#snapshots=tar.gz tar.bz2 zip
+
+##
+## List of repositories.
+## PS: Any repositories listed when repo.group is unset will not be
+## displayed under a group heading
+## PPS: This list could be kept in a different file (e.g. '/etc/cgitrepos')
+## and included like this:
+## include=/etc/cgitrepos
+##
+
+#repo.url=foo
+#repo.path=/var/lib/git/foo.git
+#repo.desc=the master foo repository
+#repo.owner=fooman@example.com
+#repo.readme=info/web/about.html
diff --git a/sources b/sources
index e69de29..3281b19 100644
--- a/sources
+++ b/sources
@@ -0,0 +1,2 @@
+872fafaa1ea6bd9292f312878864b665 cgit-0.8.2.tar.bz2
+d2b6925cb03e1e33911fdf9392946747 git-1.6.1.1.tar.bz2