mirror of https://github.com/gogits/gogs.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
86 lines
2.6 KiB
%define gogsuser git |
|
%define gogsgroup git |
|
%define homedir /usr/local |
|
Name: gogs |
|
Version: 0.9 |
|
Release: 20 |
|
|
|
Summary: A painless self-hosted Git service |
|
License: MIT |
|
Packager: T.J. Yang <tjyang2001@gmail.com> |
|
Group: Applications/System |
|
Url: https://github.com/gogits/gogs |
|
Source0: gogs-0.9.20.tar.gz |
|
BuildArch: x86_64 |
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root |
|
BuildRequires: golang |
|
# Allow newer compiler to suppress warnings |
|
%if 0%{?el6} |
|
Requires: sqlite,mysql-server |
|
%else |
|
Requires: sqlite,mariadb-server,mariadb |
|
%endif |
|
|
|
|
|
|
|
%description |
|
Gogs is a painless self-hosted Git Service written in Go. It aims to make the easiest, fastest and most painless way to set up a self-hosted Git service. With Go, this can be done in independent binary distribution across ALL platforms that Go supports, including Linux, Mac OS X, and Windows. |
|
packager Note: this version of gogs binary has all "sqlite tidb pam cert" components. |
|
|
|
%prep |
|
|
|
%setup -q -n %{name}-0.9.20 |
|
|
|
%install |
|
rm -rf %{buildroot} |
|
mkdir -p %{buildroot} |
|
mkdir -p %{buildroot}%{homedir}/gogs |
|
mkdir -p %{buildroot}/var/log/gogs |
|
touch %{buildroot}/var/log/gogs/gogs.log |
|
|
|
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/gogs/log |
|
rsync -azp . --exclude=gogs/rpmbuild --exclude=#.* %{buildroot}%{homedir}/gogs |
|
|
|
# systemd gogs.service file |
|
mkdir -p %{buildroot}/etc/systemd/system |
|
sudo rsync -azpv %{buildroot}%{homedir}/gogs/contrib/gogs.service %{buildroot}/etc/systemd/system/gogs.service |
|
#touch /var/log/gogs.log && chown gogs:gogs /var/log/gogs.log |
|
%preun |
|
#shutdown gogs if running |
|
#if [ $1 = 0 ] ; then |
|
#/sbin/install-info --delete %{_infodir}/%{name}.info %{_infodir}/dir || : |
|
#fi |
|
|
|
# https://www.redhat.com/archives/rpm-list/2008-September/msg00007.html |
|
%files |
|
%ghost %{_localstatedir}/log/gogs/%{name}.log |
|
%attr(-,%{gogsuser},%{gogsgroup}) %{_localstatedir}/log/gogs/%{name}.log |
|
|
|
%ghost /etc/systemd/system/gogs.service |
|
%attr(-,root,root) /etc/systemd/system/gogs.service |
|
|
|
%dir %{homedir}/%{name} |
|
%attr(-,%{gogsuser},%{gogsgroup}) %{homedir}/%{name} |
|
|
|
%post |
|
# remove all the binary and configs |
|
# hack before fix |
|
rsync -azp %{homedir}/gogs/contrib/gogs.service /etc/systemd/system/gogs.service |
|
chmod 755 /etc/systemd/system/gogs.service |
|
chown root:root /etc/systemd/system/gogs.service |
|
# run a mysql -root to drop all data in gogsdb ? |
|
# |
|
# |
|
%changelog |
|
* Sun Apr 17 2016 T.J. Yang <tjyang2001@gmail.com> 1.0 |
|
- Initial rpm.spec file for gogs. |
|
- TODOs: |
|
- 1. Adding pre/post install script |
|
- 2. Support CentOS 7 systemd and Centos 6 init scripts. |
|
- 3. roll in the go build -x process into this rpm one. |
|
- 4. Detect packageio.in's gogs rpm package. |
|
- 5. remove all gogs db in mariadb also ? |
|
|
|
|
|
|
|
|
|
|