htop updated to beta version. New git 2.x package, dependency for gitea

This commit is contained in:
2018-11-04 14:50:02 +01:00
parent 58ee2af061
commit 174dfd4ca7
2 changed files with 578 additions and 1 deletions

576
centos/SPECS/git.spec Normal file
View File

@@ -0,0 +1,576 @@
# Pass --without docs to rpmbuild if you don't want the documentation
# Settings for EL-5
# - Leave git-* binaries in %{_bindir}
# - Don't use noarch subpackages
# - Use proper libcurl devel package
# - Explicitly enable ipv6 for git-daemon
# - Use prebuilt documentation, asciidoc is too old
# - Define missing python macro
%if 0%{?rhel} && 0%{?rhel} <= 5
%global gitcoredir %{_bindir}
%global noarch_sub 0
%global libcurl_devel curl-devel
%global docbook_suppress_sp 1
%global enable_ipv6 1
%global use_prebuilt_docs 1
%global filter_yaml_any 1
%{!?python_sitelib: %global python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
%else
%global gitcoredir %{_libexecdir}/git-core
%global noarch_sub 1
%global libcurl_devel libcurl-devel
%global docbook_suppress_sp 0
%global enable_ipv6 0
%global use_prebuilt_docs 0
%global filter_yaml_any 0
%endif
# Use systemd instead of xinetd on Fedora 19+ and RHEL 7+
%if 0%{?fedora} >= 19 || 0%{?rhel} >= 7
%global use_systemd 1
%else
%global use_systemd 0
%endif
# Build gnome-keyring git-credential helper on Fedora and RHEL >= 7
%if 0%{?fedora} || 0%{?rhel} >= 7
%global gnome_keyring 1
%else
%global gnome_keyring 0
%endif
%if (0%{?fedora} && 0%{?fedora} < 19) || (0%{?rhel} && 0%{?rhel} < 7)
%global with_desktop_vendor_tag 1
%else
%global with_desktop_vendor_tag 0
%endif
Name: git
Version: 2.19.1
Release: 1%{?dist}
Summary: Fast Version Control System
License: GPLv2
Group: Development/Tools
URL: http://git-scm.com/
Source0: http://git-core.googlecode.com/files/%{name}-%{version}.tar.gz
Source2: git-init.el
Source3: git.xinetd.in
Source4: git.conf.httpd
Source5: git-gui.desktop
Source6: gitweb.conf.in
Source10: https://cdn.kernel.org/pub/software/scm/git/%{name}-manpages-%{version}.tar.gz
Source11: https://cdn.kernel.org/pub/software/scm/git/%{name}-htmldocs-%{version}.tar.gz
Source12: git@.service
Source13: git.socket
Patch0: git-1.5-gitweb-home-link.patch
# https://bugzilla.redhat.com/490602
Patch1: git-cvsimport-Ignore-cvsps-2.2b1-Branches-output.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
BuildRequires: asciidoc >= 8.4.1
BuildRequires: xmlto
%endif
BuildRequires: desktop-file-utils
BuildRequires: expat-devel
BuildRequires: gettext
BuildRequires: %{libcurl_devel}
%if %{gnome_keyring}
BuildRequires: libgnome-keyring-devel
%endif
BuildRequires: pcre2-devel
BuildRequires: openssl-devel
BuildRequires: zlib-devel >= 1.2
%if %{use_systemd}
# For macros
BuildRequires: systemd
%endif
Requires: less
Requires: openssh-clients
Requires: perl(Error)
Requires: perl(Term::ReadKey)
Requires: perl-Git = %{version}-%{release}
Requires: rsync
Requires: zlib >= 1.2
Provides: git-core = %{version}-%{release}
Obsoletes: git-core <= 1.5.4.3
# Obsolete git-arch
Obsoletes: git-arch < %{version}-%{release}
%description
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.
The git rpm installs the core tools with minimal dependencies. To
install all git packages, including tools for integrating with other
SCMs, install the git-all meta-package.
%package all
Summary: Meta-package to pull in all git tools
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
Requires: git-cvs = %{version}-%{release}
Requires: git-email = %{version}-%{release}
Requires: git-gui = %{version}-%{release}
Requires: git-svn = %{version}-%{release}
Requires: git-p4 = %{version}-%{release}
Requires: gitk = %{version}-%{release}
Requires: perl-Git = %{version}-%{release}
Obsoletes: git <= 1.5.4.3
%description all
Git is a fast, scalable, distributed revision control system with an
unusually rich command set that provides both high-level operations
and full access to internals.
This is a dummy package which brings in all subpackages.
%package bzr
Summary: Git tools for working with bzr repositories
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
Requires: bzr
%description bzr
%{summary}.
%package daemon
Summary: Git protocol dæmon
Group: Development/Tools
Requires: git = %{version}-%{release}
%if %{use_systemd}
Requires: systemd
Requires(post): systemd
Requires(preun): systemd
Requires(postun): systemd
%else
Requires: xinetd
%endif
%description daemon
The git dæmon for supporting git:// access to git repositories
%package -n gitweb
Summary: Simple web interface to git repositories
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
%description -n gitweb
Simple web interface to track changes in git repositories
%package hg
Summary: Git tools for working with mercurial repositories
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
Requires: mercurial
%description hg
%{summary}.
%package p4
Summary: Git tools for working with Perforce depots
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
BuildRequires: python
Requires: git = %{version}-%{release}
%description p4
%{summary}.
%package svn
Summary: Git tools for importing Subversion repositories
Group: Development/Tools
Requires: git = %{version}-%{release}, subversion, perl(Term::ReadKey)
%description svn
Git tools for importing Subversion repositories.
%package cvs
Summary: Git tools for importing CVS repositories
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}, cvs
Requires: cvsps
Requires: perl-DBD-SQLite
%description cvs
Git tools for importing CVS repositories.
%package email
Summary: Git tools for sending email
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}, perl-Git = %{version}-%{release}
Requires: perl(Authen::SASL)
Requires: perl(Net::SMTP::SSL)
%description email
Git tools for sending email.
%package gui
Summary: Git GUI tool
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}, tk >= 8.4
Requires: gitk = %{version}-%{release}
%description gui
Git GUI tool.
%package -n gitk
Summary: Git revision tree visualiser
Group: Development/Tools
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}, tk >= 8.4
%description -n gitk
Git revision tree visualiser.
%package -n perl-Git
Summary: Perl interface to Git
Group: Development/Libraries
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
BuildRequires: perl(Error), perl(ExtUtils::MakeMaker)
Requires: perl(Error)
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -n perl-Git
Perl interface to Git.
%package -n perl-Git-SVN
Summary: Perl interface to Git::SVN
Group: Development/Libraries
%if %{noarch_sub}
BuildArch: noarch
%endif
Requires: git = %{version}-%{release}
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
%description -n perl-Git-SVN
Perl interface to Git.
%prep
%setup -q
%patch1 -p1
%if %{use_prebuilt_docs}
mkdir -p prebuilt_docs/{html,man}
tar xf %{SOURCE10} -C prebuilt_docs/man
tar xf %{SOURCE11} -C prebuilt_docs/html
# Remove non-html files
find prebuilt_docs/html -type f ! -name '*.html' | xargs rm
find prebuilt_docs/html -type d | xargs rmdir --ignore-fail-on-non-empty
%endif
# Use these same options for every invocation of 'make'.
# Otherwise it will rebuild in %%install due to flags changes.
cat << \EOF > config.mak
V = 1
CFLAGS = %{optflags}
BLK_SHA1 = 1
NEEDS_CRYPTO_WITH_SSL = 1
USE_LIBPCRE = 1
ETC_GITCONFIG = %{_sysconfdir}/gitconfig
DESTDIR = %{buildroot}
INSTALL = install -p
GITWEB_PROJECTROOT = %{_var}/lib/git
GNU_ROFF = 1
htmldir = %{_docdir}/%{name}-%{version}
prefix = %{_prefix}
gitwebdir = %{_var}/www/git
EOF
%if "%{gitcoredir}" == "%{_bindir}"
echo gitexecdir = %{_bindir} >> config.mak
%endif
%if %{docbook_suppress_sp}
# This is needed for 1.69.1-1.71.0
echo DOCBOOK_SUPPRESS_SP = 1 >> config.mak
%endif
# Filter bogus perl requires
# packed-refs comes from a comment in contrib/hooks/update-paranoid
# YAML::Any is optional and not available on el5
cat << \EOF > %{name}-req
#!/bin/sh
%{__perl_requires} $* |\
sed \
%if %{filter_yaml_any}
-e '/perl(YAML::Any)/d' \
%endif
-e '/perl(packed-refs)/d'
EOF
%global __perl_requires %{_builddir}/%{name}-%{version}/%{name}-req
chmod +x %{__perl_requires}
%build
sh configure
make %{?_smp_mflags} git-daemon LDFLAGS="-pie -Wl,-z,relro,-z,now" CFLAGS="$RPM_OPT_FLAGS -fPIC"
make %{?_smp_mflags} all -o git-daemon
%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
make %{?_smp_mflags} doc
%endif
%if %{gnome_keyring}
make -C contrib/credential/gnome-keyring/
%endif
make -C contrib/subtree/
# Remove shebang from bash-completion script
sed -i '/^#!bash/,+1 d' contrib/completion/git-completion.bash
%install
rm -rf %{buildroot}
make %{?_smp_mflags} INSTALLDIRS=vendor install -o git-daemon
%if ! %{use_prebuilt_docs} && ! 0%{?_without_docs}
make %{?_smp_mflags} INSTALLDIRS=vendor install-doc -o git-daemon
%else
cp -a prebuilt_docs/man/* %{buildroot}%{_mandir}
cp -a prebuilt_docs/html/* Documentation/
%endif
%if %{gnome_keyring}
install -pm 755 contrib/credential/gnome-keyring/git-credential-gnome-keyring \
%{buildroot}%{gitcoredir}
# Remove built binary files, otherwise they will be installed in doc
make -C contrib/credential/gnome-keyring/ clean
%endif
make -C contrib/subtree install
%if ! %{use_prebuilt_docs}
make -C contrib/subtree install-doc
%endif
mkdir -p %{buildroot}%{_sysconfdir}/httpd/conf.d
install -pm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/httpd/conf.d/git.conf
sed "s|@PROJECTROOT@|%{_var}/lib/git|g" \
%{SOURCE6} > %{buildroot}%{_sysconfdir}/gitweb.conf
find %{buildroot} -type f -name .packlist -exec rm -f {} ';'
find %{buildroot} -type f -name '*.bs' -empty -exec rm -f {} ';'
find %{buildroot} -type f -name perllocal.pod -exec rm -f {} ';'
# Remove remote-helper python libraries and scripts, these are not ready for
# use yet
rm -rf %{buildroot}%{python_sitelib} %{buildroot}%{gitcoredir}/git-remote-testgit
# git-archimport is not supported
find %{buildroot} Documentation -type f -name 'git-archimport*' -exec rm -f {} ';'
exclude_re="archimport|email|git-citool|git-cvs|git-daemon|git-gui|git-remote-bzr|git-remote-hg|gitk|p4|svn"
(find %{buildroot}{%{_bindir},%{_libexecdir}} -type f | grep -vE "$exclude_re" | sed -e s@^%{buildroot}@@) > bin-man-doc-files
(find %{buildroot}{%{_bindir},%{_libexecdir}} -mindepth 1 -type d | grep -vE "$exclude_re" | sed -e 's@^%{buildroot}@%dir @') >> bin-man-doc-files
(find %{buildroot}%{perl_privlib} -type f | sed -e s@^%{buildroot}@@) > perl-git-files
(find %{buildroot}%{perl_privlib} -mindepth 1 -type d | sed -e 's@^%{buildroot}@%dir @') >> perl-git-files
# Split out Git::SVN files
grep Git/SVN perl-git-files > perl-git-svn-files
sed -i "/Git\/SVN/ d" perl-git-files
%if %{!?_without_docs:1}0
(find %{buildroot}%{_mandir} -type f | grep -vE "$exclude_re|Git" | sed -e s@^%{buildroot}@@ -e 's/$/*/' ) >> bin-man-doc-files
%else
rm -rf %{buildroot}%{_mandir}
%endif
mkdir -p %{buildroot}%{_var}/lib/git
%if %{use_systemd}
mkdir -p %{buildroot}%{_unitdir}
cp -a %{SOURCE12} %{SOURCE13} %{buildroot}%{_unitdir}
%else
mkdir -p %{buildroot}%{_sysconfdir}/xinetd.d
# On EL <= 5, xinetd does not enable IPv6 by default
enable_ipv6=" # xinetd does not enable IPv6 by default
flags = IPv6"
perl -p \
-e "s|\@GITCOREDIR\@|%{gitcoredir}|g;" \
-e "s|\@BASE_PATH\@|%{_var}/lib/git|g;" \
%if %{enable_ipv6}
-e "s|^}|$enable_ipv6\n$&|;" \
%endif
%{SOURCE3} > %{buildroot}%{_sysconfdir}/xinetd.d/git
%endif
# Install bzr and hg remote helpers from contrib
install -pm 755 contrib/remote-helpers/git-remote-{bzr,hg} %{buildroot}%{gitcoredir}
# Setup bash completion
mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
install -pm 644 contrib/completion/git-completion.bash %{buildroot}%{_sysconfdir}/bash_completion.d/git
# Install tcsh completion
mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion
install -pm 644 contrib/completion/git-completion.tcsh \
%{buildroot}%{_datadir}/git-core/contrib/completion/
# Move contrib/hooks out of %%docdir and make them executable
mkdir -p %{buildroot}%{_datadir}/git-core/contrib
mv contrib/hooks %{buildroot}%{_datadir}/git-core/contrib
chmod +x %{buildroot}%{_datadir}/git-core/contrib/hooks/*
pushd contrib > /dev/null
ln -s ../../../git-core/contrib/hooks
popd > /dev/null
# Install git-prompt.sh
mkdir -p %{buildroot}%{_datadir}/git-core/contrib/completion
install -pm 644 contrib/completion/git-prompt.sh \
%{buildroot}%{_datadir}/git-core/contrib/completion/
# install git-gui .desktop file
desktop-file-install \
%if %{with_desktop_vendor_tag}
--vendor fedora \
%endif
--dir=%{buildroot}%{_datadir}/applications %{SOURCE5}
# find translations
%find_lang %{name} %{name}.lang
cat %{name}.lang >> bin-man-doc-files
# quiet some rpmlint complaints
chmod -R g-w %{buildroot}
find %{buildroot} -name git-mergetool--lib | xargs chmod a-x
rm -f {Documentation/technical,contrib/emacs,contrib/credential/gnome-keyring}/.gitignore
chmod a-x Documentation/technical/api-index.sh
find contrib -type f | xargs chmod -x
%clean
rm -rf %{buildroot}
%if %{use_systemd}
%post daemon
%systemd_post git@.service
%preun daemon
%systemd_preun git@.service
%postun daemon
%systemd_postun_with_restart git@.service
%endif
%files -f bin-man-doc-files
%defattr(-,root,root)
%{_datadir}/git-core/
%doc COPYING Documentation/*.txt Documentation/RelNotes contrib/
%{!?_without_docs: %doc Documentation/*.html Documentation/docbook-xsl.css}
%{!?_without_docs: %doc Documentation/howto Documentation/technical}
%{_sysconfdir}/bash_completion.d
%files bzr
%defattr(-,root,root)
%{gitcoredir}/git-remote-bzr
%files hg
%defattr(-,root,root)
%{gitcoredir}/git-remote-hg
%files p4
%defattr(-,root,root)
%{gitcoredir}/*p4*
%{gitcoredir}/mergetools/p4merge
%doc Documentation/*p4*.txt
%{!?_without_docs: %{_mandir}/man1/*p4*.1*}
%{!?_without_docs: %doc Documentation/*p4*.html }
%files svn
%defattr(-,root,root)
%{gitcoredir}/*svn*
%doc Documentation/*svn*.txt
%{!?_without_docs: %{_mandir}/man1/*svn*.1*}
%{!?_without_docs: %doc Documentation/*svn*.html }
%files cvs
%defattr(-,root,root)
%doc Documentation/*git-cvs*.txt
%{_bindir}/git-cvsserver
%{gitcoredir}/*cvs*
%{!?_without_docs: %{_mandir}/man1/*cvs*.1*}
%{!?_without_docs: %doc Documentation/*git-cvs*.html }
%files email
%defattr(-,root,root)
%doc Documentation/*email*.txt
%{gitcoredir}/*email*
%{!?_without_docs: %{_mandir}/man1/*email*.1*}
%{!?_without_docs: %doc Documentation/*email*.html }
%files gui
%defattr(-,root,root)
%{gitcoredir}/git-gui*
%{gitcoredir}/git-citool
%{_datadir}/applications/*git-gui.desktop
%{_datadir}/git-gui/
%{!?_without_docs: %{_mandir}/man1/git-gui.1*}
%{!?_without_docs: %doc Documentation/git-gui.html}
%{!?_without_docs: %{_mandir}/man1/git-citool.1*}
%{!?_without_docs: %doc Documentation/git-citool.html}
%files -n gitk
%defattr(-,root,root)
%doc Documentation/*gitk*.txt
%{_bindir}/*gitk*
%{_datadir}/gitk
%{!?_without_docs: %{_mandir}/man1/*gitk*.1*}
%{!?_without_docs: %doc Documentation/*gitk*.html }
%files -n perl-Git -f perl-git-files
%defattr(-,root,root)
%{!?_without_docs: %{_mandir}/man3/*Git*.3pm*}
%files -n perl-Git-SVN -f perl-git-svn-files
%defattr(-,root,root)
%files daemon
%defattr(-,root,root)
%doc Documentation/*daemon*.txt
%if %{use_systemd}
%{_unitdir}/git.socket
%{_unitdir}/git@.service
%else
%config(noreplace)%{_sysconfdir}/xinetd.d/git
%endif
%{gitcoredir}/git-daemon
%{_var}/lib/git
%{!?_without_docs: %{_mandir}/man1/*daemon*.1*}
%{!?_without_docs: %doc Documentation/*daemon*.html}
%files -n gitweb
%defattr(-,root,root)
%doc gitweb/INSTALL gitweb/README
%config(noreplace)%{_sysconfdir}/gitweb.conf
%config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf
%{_var}/www/git/
%files all
# nothing
%changelog
* Sun Nov 4 2018 Daniel Steiner <daniel.steiner@greenmail.ch>
- Initial version 2.19.1

View File

@@ -1,5 +1,5 @@
Name: htop
Version: 2.0.2
Version: 3.0.0beta5
Release: 1%{?dist}
Summary: System Top
@@ -9,6 +9,7 @@ URL: http://someting
SOURCE0: %name-%version.tar.gz
BuildRequires: gcc
BuildRequires: ncurses-devel
%description
This is htop, an interactive process viewer. It requires ncurses. It is developed primarily on Linux, but we also have code for running under FreeBSD and Mac OS X (help and testing are wanted for these platforms!)