packaging: move mercurial.spec to contrib/packaging/
authorGregory Szorc <gregory.szorc@gmail.com>
Sat, 12 May 2018 10:38:36 -0700
changeset 38007 c1a028d15005
parent 38006 64b086f0ebb5
child 38008 b7cd9e94c259
packaging: move mercurial.spec to contrib/packaging/ Differential Revision: https://phab.mercurial-scm.org/D3545
contrib/buildrpm
contrib/mercurial.spec
contrib/packaging/mercurial.spec
--- a/contrib/buildrpm	Sat May 12 10:31:34 2018 -0700
+++ b/contrib/buildrpm	Sat May 12 10:38:36 2018 -0700
@@ -37,7 +37,7 @@
 
 cd "`dirname $0`/.."
 
-specfile=$PWD/contrib/mercurial.spec
+specfile=$PWD/contrib/packaging/mercurial.spec
 if [ ! -f $specfile ]; then
     echo "Cannot find $specfile!" 1>&2
     exit 1
--- a/contrib/mercurial.spec	Sat May 12 10:31:34 2018 -0700
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,164 +0,0 @@
-%global emacs_lispdir %{_datadir}/emacs/site-lisp
-
-%define withpython %{nil}
-
-%if "%{?withpython}"
-
-%global pythonver %{withpython}
-%global pythonname Python-%{withpython}
-%global docutilsname docutils-0.14
-%global docutilsmd5 c53768d63db3873b7d452833553469de
-%global pythonhg python-hg
-%global hgpyprefix /opt/%{pythonhg}
-# byte compilation will fail on some some Python /test/ files
-%global _python_bytecompile_errors_terminate_build 0
-
-%else
-
-%global pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))')
-
-%endif
-
-Summary: A fast, lightweight Source Control Management system
-Name: mercurial
-Version: snapshot
-Release: 0
-License: GPLv2+
-Group: Development/Tools
-URL: https://mercurial-scm.org/
-Source0: %{name}-%{version}-%{release}.tar.gz
-%if "%{?withpython}"
-Source1: %{pythonname}.tgz
-Source2: %{docutilsname}.tar.gz
-%endif
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
-
-BuildRequires: make, gcc, gettext
-%if "%{?withpython}"
-BuildRequires: readline-devel, openssl-devel, ncurses-devel, zlib-devel, bzip2-devel
-%else
-BuildRequires: python >= 2.7, python-devel, python-docutils >= 0.5
-Requires: python >= 2.7
-%endif
-# The hgk extension uses the wish tcl interpreter, but we don't enforce it
-#Requires: tk
-
-%description
-Mercurial is a fast, lightweight source control management system designed
-for efficient handling of very large distributed projects.
-
-%prep
-
-%if "%{?withpython}"
-%setup -q -n mercurial-%{version}-%{release} -a1 -a2
-# despite the comments in cgi.py, we do this to prevent rpmdeps from picking /usr/local/bin/python up
-sed -i '1c#! /usr/bin/env python' %{pythonname}/Lib/cgi.py
-%else
-%setup -q -n mercurial-%{version}-%{release}
-%endif
-
-%build
-
-%if "%{?withpython}"
-
-PYPATH=$PWD/%{pythonname}
-cd $PYPATH
-./configure --prefix=%{hgpyprefix}
-make all %{?_smp_mflags}
-cd -
-
-cd %{docutilsname}
-LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py build
-cd -
-
-# verify Python environment
-LD_LIBRARY_PATH=$PYPATH PYTHONPATH=$PWD/%{docutilsname} $PYPATH/python -c 'import sys, zlib, bz2, ssl, curses, readline'
-
-# set environment for make
-export PATH=$PYPATH:$PATH
-export LD_LIBRARY_PATH=$PYPATH
-export CFLAGS="-L $PYPATH"
-export PYTHONPATH=$PWD/%{docutilsname}
-
-%endif
-
-make all
-make -C contrib/chg
-
-%install
-rm -rf $RPM_BUILD_ROOT
-
-%if "%{?withpython}"
-
-PYPATH=$PWD/%{pythonname}
-cd $PYPATH
-make install DESTDIR=$RPM_BUILD_ROOT
-# these .a are not necessary and they are readonly and strip fails - kill them!
-rm -f %{buildroot}%{hgpyprefix}/lib/{,python2.*/config}/libpython2.*.a
-cd -
-
-cd %{docutilsname}
-LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py install --root="$RPM_BUILD_ROOT"
-cd -
-
-PATH=$PYPATH:$PATH LD_LIBRARY_PATH=$PYPATH make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{hgpyprefix} MANDIR=%{_mandir}
-mkdir -p $RPM_BUILD_ROOT%{_bindir}
-( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/hg . )
-( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/python2.? %{pythonhg} )
-
-%else
-
-make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} MANDIR=%{_mandir}
-
-%endif
-
-install -m 755 contrib/chg/chg $RPM_BUILD_ROOT%{_bindir}/
-install -m 755 contrib/hgk $RPM_BUILD_ROOT%{_bindir}/
-install -m 755 contrib/hg-ssh $RPM_BUILD_ROOT%{_bindir}/
-
-bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
-mkdir -p $bash_completion_dir
-install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh
-
-zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
-mkdir -p $zsh_completion_dir
-install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
-
-mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir}
-install -m 644 contrib/mercurial.el $RPM_BUILD_ROOT%{emacs_lispdir}/
-install -m 644 contrib/mq.el $RPM_BUILD_ROOT%{emacs_lispdir}/
-
-mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
-
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-%files
-%defattr(-,root,root,-)
-%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html *.cgi contrib/*.fcgi
-%doc %attr(644,root,root) %{_mandir}/man?/hg*
-%doc %attr(644,root,root) contrib/*.svg
-%dir %{_datadir}/zsh/
-%dir %{_datadir}/zsh/site-functions/
-%{_datadir}/zsh/site-functions/_mercurial
-%dir %{_datadir}/emacs/site-lisp/
-%{_datadir}/emacs/site-lisp/mercurial.el
-%{_datadir}/emacs/site-lisp/mq.el
-%{_bindir}/hg
-%{_bindir}/chg
-%{_bindir}/hgk
-%{_bindir}/hg-ssh
-%dir %{_sysconfdir}/bash_completion.d/
-%config(noreplace) %{_sysconfdir}/bash_completion.d/mercurial.sh
-%dir %{_sysconfdir}/mercurial
-%dir %{_sysconfdir}/mercurial/hgrc.d
-%if "%{?withpython}"
-%{_bindir}/%{pythonhg}
-%{hgpyprefix}
-%else
-%{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info
-%{_libdir}/python%{pythonver}/site-packages/%{name}
-%{_libdir}/python%{pythonver}/site-packages/hgext
-%{_libdir}/python%{pythonver}/site-packages/hgext3rd
-%{_libdir}/python%{pythonver}/site-packages/hgdemandimport
-%endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/contrib/packaging/mercurial.spec	Sat May 12 10:38:36 2018 -0700
@@ -0,0 +1,164 @@
+%global emacs_lispdir %{_datadir}/emacs/site-lisp
+
+%define withpython %{nil}
+
+%if "%{?withpython}"
+
+%global pythonver %{withpython}
+%global pythonname Python-%{withpython}
+%global docutilsname docutils-0.14
+%global docutilsmd5 c53768d63db3873b7d452833553469de
+%global pythonhg python-hg
+%global hgpyprefix /opt/%{pythonhg}
+# byte compilation will fail on some some Python /test/ files
+%global _python_bytecompile_errors_terminate_build 0
+
+%else
+
+%global pythonver %(python -c 'import sys;print ".".join(map(str, sys.version_info[:2]))')
+
+%endif
+
+Summary: A fast, lightweight Source Control Management system
+Name: mercurial
+Version: snapshot
+Release: 0
+License: GPLv2+
+Group: Development/Tools
+URL: https://mercurial-scm.org/
+Source0: %{name}-%{version}-%{release}.tar.gz
+%if "%{?withpython}"
+Source1: %{pythonname}.tgz
+Source2: %{docutilsname}.tar.gz
+%endif
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildRequires: make, gcc, gettext
+%if "%{?withpython}"
+BuildRequires: readline-devel, openssl-devel, ncurses-devel, zlib-devel, bzip2-devel
+%else
+BuildRequires: python >= 2.7, python-devel, python-docutils >= 0.5
+Requires: python >= 2.7
+%endif
+# The hgk extension uses the wish tcl interpreter, but we don't enforce it
+#Requires: tk
+
+%description
+Mercurial is a fast, lightweight source control management system designed
+for efficient handling of very large distributed projects.
+
+%prep
+
+%if "%{?withpython}"
+%setup -q -n mercurial-%{version}-%{release} -a1 -a2
+# despite the comments in cgi.py, we do this to prevent rpmdeps from picking /usr/local/bin/python up
+sed -i '1c#! /usr/bin/env python' %{pythonname}/Lib/cgi.py
+%else
+%setup -q -n mercurial-%{version}-%{release}
+%endif
+
+%build
+
+%if "%{?withpython}"
+
+PYPATH=$PWD/%{pythonname}
+cd $PYPATH
+./configure --prefix=%{hgpyprefix}
+make all %{?_smp_mflags}
+cd -
+
+cd %{docutilsname}
+LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py build
+cd -
+
+# verify Python environment
+LD_LIBRARY_PATH=$PYPATH PYTHONPATH=$PWD/%{docutilsname} $PYPATH/python -c 'import sys, zlib, bz2, ssl, curses, readline'
+
+# set environment for make
+export PATH=$PYPATH:$PATH
+export LD_LIBRARY_PATH=$PYPATH
+export CFLAGS="-L $PYPATH"
+export PYTHONPATH=$PWD/%{docutilsname}
+
+%endif
+
+make all
+make -C contrib/chg
+
+%install
+rm -rf $RPM_BUILD_ROOT
+
+%if "%{?withpython}"
+
+PYPATH=$PWD/%{pythonname}
+cd $PYPATH
+make install DESTDIR=$RPM_BUILD_ROOT
+# these .a are not necessary and they are readonly and strip fails - kill them!
+rm -f %{buildroot}%{hgpyprefix}/lib/{,python2.*/config}/libpython2.*.a
+cd -
+
+cd %{docutilsname}
+LD_LIBRARY_PATH=$PYPATH $PYPATH/python setup.py install --root="$RPM_BUILD_ROOT"
+cd -
+
+PATH=$PYPATH:$PATH LD_LIBRARY_PATH=$PYPATH make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{hgpyprefix} MANDIR=%{_mandir}
+mkdir -p $RPM_BUILD_ROOT%{_bindir}
+( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/hg . )
+( cd $RPM_BUILD_ROOT%{_bindir}/ && ln -s ../..%{hgpyprefix}/bin/python2.? %{pythonhg} )
+
+%else
+
+make install DESTDIR=$RPM_BUILD_ROOT PREFIX=%{_prefix} MANDIR=%{_mandir}
+
+%endif
+
+install -m 755 contrib/chg/chg $RPM_BUILD_ROOT%{_bindir}/
+install -m 755 contrib/hgk $RPM_BUILD_ROOT%{_bindir}/
+install -m 755 contrib/hg-ssh $RPM_BUILD_ROOT%{_bindir}/
+
+bash_completion_dir=$RPM_BUILD_ROOT%{_sysconfdir}/bash_completion.d
+mkdir -p $bash_completion_dir
+install -m 644 contrib/bash_completion $bash_completion_dir/mercurial.sh
+
+zsh_completion_dir=$RPM_BUILD_ROOT%{_datadir}/zsh/site-functions
+mkdir -p $zsh_completion_dir
+install -m 644 contrib/zsh_completion $zsh_completion_dir/_mercurial
+
+mkdir -p $RPM_BUILD_ROOT%{emacs_lispdir}
+install -m 644 contrib/mercurial.el $RPM_BUILD_ROOT%{emacs_lispdir}/
+install -m 644 contrib/mq.el $RPM_BUILD_ROOT%{emacs_lispdir}/
+
+mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/mercurial/hgrc.d
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(-,root,root,-)
+%doc CONTRIBUTORS COPYING doc/README doc/hg*.txt doc/hg*.html *.cgi contrib/*.fcgi
+%doc %attr(644,root,root) %{_mandir}/man?/hg*
+%doc %attr(644,root,root) contrib/*.svg
+%dir %{_datadir}/zsh/
+%dir %{_datadir}/zsh/site-functions/
+%{_datadir}/zsh/site-functions/_mercurial
+%dir %{_datadir}/emacs/site-lisp/
+%{_datadir}/emacs/site-lisp/mercurial.el
+%{_datadir}/emacs/site-lisp/mq.el
+%{_bindir}/hg
+%{_bindir}/chg
+%{_bindir}/hgk
+%{_bindir}/hg-ssh
+%dir %{_sysconfdir}/bash_completion.d/
+%config(noreplace) %{_sysconfdir}/bash_completion.d/mercurial.sh
+%dir %{_sysconfdir}/mercurial
+%dir %{_sysconfdir}/mercurial/hgrc.d
+%if "%{?withpython}"
+%{_bindir}/%{pythonhg}
+%{hgpyprefix}
+%else
+%{_libdir}/python%{pythonver}/site-packages/%{name}-*-py%{pythonver}.egg-info
+%{_libdir}/python%{pythonver}/site-packages/%{name}
+%{_libdir}/python%{pythonver}/site-packages/hgext
+%{_libdir}/python%{pythonver}/site-packages/hgext3rd
+%{_libdir}/python%{pythonver}/site-packages/hgdemandimport
+%endif