%define perl_version %(eval "`perl -V:version`"; echo $version) %define perl_installlib %{_libdir}/perl5/%{perl_version} %global Pre_Built_Docs 1 Name: git Version: 2.8.1 Release: 1 Summary: Core git tools License: GPLv2 Group: Development/Tools URL: http://kernel.org/pub/software/scm/git/ Source0: http://kernel.org/pub/software/scm/git/%{name}-%{version}.tar.gz Source2: %{name}.conf.httpd Source3: gitweb.conf.in Source4: https://www.kernel.org/pub/software/scm/git/%{name}-htmldocs-%{version}.tar.xz Source5: https://www.kernel.org/pub/software/scm/git/%{name}-manpages-%{version}.tar.xz Patch0: %{name}-1.8.3.1-aix.patch Patch1: %{name}-%{version}-aix.patch Patch2: %{name}-%{version}-mk-aix.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root %if ! %{Pre_Built_Docs} BuildRequires: asciidoc >= 8.6.3 BuildRequires: xmlto >= 0.0.24-1 %endif BuildRequires: coreutils BuildRequires: curl-devel >= 7.19.7-1 BuildRequires: expat-devel >= 2.0.1 BuildRequires: gettext #BuildRequires: openssl >= 1.0.1-g #BuildRequires: openssl-devel >= 1.0.1-g BuildRequires: perl >= 5.8.8 BuildRequires: zlib-devel >= 1.2.3 Requires: bash Requires: curl >= 7.19.7-1 Requires: expat >= 2.0.1 Requires: gettext Requires: less #Requires: openssl >= 1.0.1-g Requires: perl >= 5.8.8 Requires: python >= 2.6.2 Requires: rsync Requires: zlib >= 1.2.3 %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. %package arch Summary: Git tools for importing Arch repositories Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: perl >= 5.8.8 Requires: tla %description arch Git tools for importing Arch repositories. %package cvs Summary: Git tools for importing CVS repositories Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: cvs Requires: cvsps Requires: perl >= 5.8.8 %description cvs Git tools for importing CVS repositories. %package daemon Summary: Git protocol dæmon Group: Development/Tools Requires: %{name} = %{version}-%{release} %description daemon The git daemon for supporting git:// access to git repositories %package email Summary: Git tools for sending email Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: perl >= 5.8.8 Requires: perl-Net-SMTP-SSL Requires: perl-Authen-SASL %description email Git tools for sending email. %package gui Summary: Git GUI tool Group: Development/Tools Requires: %{name} = %{version}-%{release} #Requires: tcl >= 8.4 #Requires: tk >= 8.4 %description gui Git GUI tool. %package svn Summary: Git tools for importing Subversion repositories Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: perl >= 5.8.8 Requires: subversion # Requires: perl(Term::Readkey) %description svn Git tools for importing Subversion repositories. %package -n gitk Summary: Git revision tree visualiser Group: Development/Tools Requires: %{name} = %{version}-%{release} #Requires: tcl >= 8.4 #Requires: tk >= 8.4 %description -n gitk Git revision tree visualiser. %package -n gitweb Summary: Simple web interface to git repositories Group: Development/Tools Requires: %{name} = %{version}-%{release} Requires: httpd Requires: perl >= 5.8.8 %description -n gitweb Simple web interface to track changes in git repositories %package -n perl-Git Summary: Perl interface to Git Group: Development/Libraries # this is contained in our base perl packag # BuildRequires: perl(ExtUtils::MakeMaker) # this we don't have yet # BuildRequires: perl(Error) Requires: %{name} = %{version}-%{release} #Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) Requires: perl >= 5.8.8 #Requires: perl(Error) %description -n perl-Git Perl interface to Git. %prep %setup -q %patch0 %patch1 %patch2 %if %{Pre_Built_Docs} mkdir -p Pre_Built_Docs/html mkdir -p Pre_Built_Docs/man xz -dc %{SOURCE4} | tar xf - -C Pre_Built_Docs/html xz -dc %{SOURCE5} | tar xf - -C Pre_Built_Docs/man # Remove non-html files find Pre_Built_Docs/html -type f ! -name '*.html' | xargs rm find Pre_Built_Docs/html -type d | xargs rmdir --ignore-fail-on-non-empty %endif %build #export CC="/usr/vac/bin/xlc_r" export CC="gcc" export CXX="g++" export RM="/usr/bin/rm -f" export AR="/usr/bin/ar -X32_64" export NM="/usr/bin/nm -X32_64" export CFLAGS="-D_LARGE_FILES" PATH=/opt/freeware/bin:$PATH gmake %{?_smp_mflags} %install export PATH=/opt/freeware/bin:$PATH [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} LIBPATH="/opt/freeware/lib:/usr/lib" \ gmake install DESTDIR=${RPM_BUILD_ROOT} INSTALLDIRS=vendor %if ! %{Pre_Built_Docs} gmake install-doc DESTDIR=${RPM_BUILD_ROOT} INSTALLDIRS=vendor %else mkdir -p %{buildroot}%{_mandir} cp -a Pre_Built_Docs/man/* %{buildroot}%{_mandir} cp -a Pre_Built_Docs/html/* Documentation/ %endif /usr/bin/strip ${RPM_BUILD_ROOT}%{_bindir}/* || : /usr/bin/strip ${RPM_BUILD_ROOT}%{_libexecdir}/git-core/* || : mkdir -p ${RPM_BUILD_ROOT}/var/www/git cp ${RPM_BUILD_ROOT}%{_datadir}/gitweb/gitweb.cgi ${RPM_BUILD_ROOT}/var/www/git cp ${RPM_BUILD_ROOT}%{_datadir}/gitweb/static/* ${RPM_BUILD_ROOT}/var/www/git mkdir -p ${RPM_BUILD_ROOT}/%{_sysconfdir}/httpd/conf.d install -m 0644 %{SOURCE2} ${RPM_BUILD_ROOT}/%{_sysconfdir}/httpd/conf.d/git.conf mkdir -p ${RPM_BUILD_ROOT}/var/lib/git sed "s|@PROJECTROOT@|/var/lib/git|g" \ %{SOURCE3} > ${RPM_BUILD_ROOT}%{_sysconfdir}/gitweb.conf mkdir -p ${RPM_BUILD_ROOT}%{_libdir}/perl5/%{perl_version} mkdir -p ${RPM_BUILD_ROOT}%{_mandir}/man3 mv ${RPM_BUILD_ROOT}/Error.pm ${RPM_BUILD_ROOT}%{_libdir}/perl5/%{perl_version} mv ${RPM_BUILD_ROOT}/Git ${RPM_BUILD_ROOT}%{_libdir}/perl5/%{perl_version} mv ${RPM_BUILD_ROOT}/Git* ${RPM_BUILD_ROOT}%{_mandir}/man3 mv ${RPM_BUILD_ROOT}/private-Error.3 ${RPM_BUILD_ROOT}%{_mandir}/man3 find ${RPM_BUILD_ROOT} -type f -name .packlist -exec rm -f {} ';' find ${RPM_BUILD_ROOT} -type f -name '*.bs' -empty -exec rm -f {} ';' find ${RPM_BUILD_ROOT} -type f -name perllocal.pod -exec rm -f {} ';' (find ${RPM_BUILD_ROOT}%{_bindir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^${RPM_BUILD_ROOT}@@) > bin-man-doc-files (find ${RPM_BUILD_ROOT}%{_libexecdir} -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^${RPM_BUILD_ROOT}@@) >> bin-man-doc-files (find ${RPM_BUILD_ROOT}%{perl_installlib} -type f | sed -e s@^${RPM_BUILD_ROOT}@@) > perl-files (find ${RPM_BUILD_ROOT}%{_mandir} -type f | grep -vE "archimport|svn|git-cvs|email|gitk|git-gui|git-citool|git-daemon|Git" | sed -e s@^${RPM_BUILD_ROOT}@@ -e 's/$/*/' ) >> bin-man-doc-files cd ${RPM_BUILD_ROOT} mkdir -p usr/bin cd usr/bin ln -sf ../..%{_bindir}/* . (find ${RPM_BUILD_ROOT}/usr/bin -type f | grep -vE "archimport|svn|cvs|email|gitk|git-gui|git-citool|git-daemon" | sed -e s@^${RPM_BUILD_ROOT}@@) >> bin-man-doc-files %clean [ "${RPM_BUILD_ROOT}" != "/" ] && rm -rf ${RPM_BUILD_ROOT} %files -f bin-man-doc-files %defattr(-,root,system) %doc README COPYING Documentation/*.txt contrib/ %doc Documentation/howto Documentation/technical %{_datadir}/git-core/ %dir %{_libexecdir}/git-core/ /usr/bin/git /usr/bin/git-receive-pack /usr/bin/git-shell /usr/bin/git-upload-archive /usr/bin/git-upload-pack %files arch %defattr(-,root,system) %doc Documentation/git-archimport.txt %{_libexecdir}/git-core/git-archimport %files cvs %defattr(-,root,system) %doc Documentation/*git-cvs*.txt %{_bindir}/*cvsserver %{_libexecdir}/git-core/*cvs* /usr/bin/*cvsserver %{_mandir}/man1/*cvs*.1* %files daemon %defattr(-,root,system) %doc Documentation/*daemon*.txt %{_libexecdir}/git-core/*daemon* %{_mandir}/man1/*daemon*.1* /var/lib/git %files email %defattr(-,root,system) %doc Documentation/*email*.txt %{_libexecdir}/git-core/*email* %{_mandir}/man1/*email*.1* %files gui %defattr(-,root,system) %{_libexecdir}/git-core/git-gui* %{_libexecdir}/git-core/git-citool %{_datadir}/git-gui %{_mandir}/man1/git-citool.1* %{_mandir}/man1/git-gui.1* %files svn %defattr(-,root,system) %doc Documentation/*svn*.txt %{_libexecdir}/git-core/*svn* %{_mandir}/man1/*svn*.1* %files -n gitk %defattr(-,root,system) %doc Documentation/*gitk*.txt %{_bindir}/*gitk* %{_datadir}/gitk /usr/bin/*gitk* %files -n perl-Git -f perl-files %defattr(-,root,system) %{_mandir}/man3/*Git*3 %{_mandir}/man3/private-Error.3 %files -n gitweb %defattr(-,root,system) %doc gitweb/INSTALL gitweb/README %config(noreplace)%{_sysconfdir}/gitweb.conf %config(noreplace)%{_sysconfdir}/httpd/conf.d/git.conf /var/www/git/ %changelog * Tue Jun 28 2016 Ravi Hirekurabar 2.8.1 - Initial Port