diff --git a/.cvsignore b/.cvsignore index 7292ec7..cb68572 100644 --- a/.cvsignore +++ b/.cvsignore @@ -1,2 +1,2 @@ -emacs-22.0.95.tar.gz -php-mode-1.1.0.tgz +emacs-22.0.990.tar.gz +php-mode-1.2.0.tgz diff --git a/emacs.spec b/emacs.spec index ededfca..fd5b3d7 100644 --- a/emacs.spec +++ b/emacs.spec @@ -1,20 +1,24 @@ # This file is encoded in UTF-8. -*- coding: utf-8 -*- +%define expurgate 0 +%define humorless 0 +%define paranoid 1 + Summary: GNU Emacs text editor Name: emacs -Version: 22.0.95 +Version: 22.0.990 Release: 1%{?dist} License: GPL URL: http://www.gnu.org/software/emacs/ Group: Applications/Editors Source0: ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-%{version}.tar.gz Source1: emacs.desktop -Source2: emacs.png +Source2: default.el Source3: dotemacs.el Source4: site-start.el Source5: http://www.python.org/emacs/python-mode/python-mode.el Source6: http://cvs.xemacs.org/viewcvs.cgi/XEmacs/packages/xemacs-packages/prog-modes/rpm-spec-mode.el -Source7: http://download.sourceforge.net/php-mode/php-mode-1.1.0.tgz +Source7: http://download.sourceforge.net/php-mode/php-mode-1.2.0.tgz Source8: php-mode-init.el Source9: ssl.el Source10: python-mode-init.el @@ -24,8 +28,6 @@ Source13: focus-init.el Source14: po-mode.el Source15: po-mode-init.el Source16: po-mode-auto-replace-date-71264.patch -Source18: default.el -Source19: wrapper Source20: igrep.el Source21: igrep-init.el Buildroot: %{_tmppath}/%{name}-%{version}-root @@ -37,12 +39,6 @@ Requires: xorg-x11-fonts-ISO8859-1-75dpi Requires: emacs-common = %{version}-%{release} Conflicts: gettext < 0.10.40 -# C and build patches - -# Lisp and doc patches - -%define paranoid 1 - %description Emacs is a powerful, customizable, self-documenting, modeless text editor. Emacs contains special code editing features, a scripting @@ -95,113 +91,72 @@ Emacs packages or see some elisp examples. %prep %setup -q +%if %{expurgate} +rm -f etc/sex.6 etc/condom.1 etc/celibacy.1 +%endif + +%if %{humorless} +rm -f etc/COOKIES etc/JOKES etc/future-bug +%endif + +%if %{paranoid} +rm -f lisp/play/tetris.el +%endif + # install rest of site-lisp files ( cd site-lisp - cp %SOURCE5 %SOURCE6 %SOURCE9 %SOURCE14 %SOURCE20 . + cp %SOURCE2 %SOURCE4 %SOURCE5 %SOURCE6 %SOURCE9 %SOURCE14 %SOURCE20 . + tar xfz %SOURCE7 # xemacs compat patch for rpm-spec-mode patch < %SOURCE12 # fix po-auto-replace-revision-date nil patch < %SOURCE16 ) -%if %{paranoid} -# avoid trademark issues -( cd lisp/play - rm -f tetris.el tetris.elc ) -%endif - %build -export CFLAGS="-DMAIL_USE_LOCKF -DSYSTEM_PURESIZE_EXTRA=16777216 $RPM_OPT_FLAGS" -# stack-protector causes crashing on i386 (#174730) -%ifarch %{ix86} -CFLAGS=`echo $CFLAGS | sed -e "s/ -fstack-protector//"` -%endif +# First, build the binary without X support +%configure --without-x +%__make %{?_smp_mflags} -C src emacs +mv src/emacs-%{version}.1 src/emacs-%{version}-nox +# Now, rebuild with full X support %configure --with-pop --with-sound --with-gtk - -%__make bootstrap -%__make %{?_smp_mflags} - -# remove versioned file so that we end up with .1 suffix and only one DOC file -rm src/emacs-%{version}.* - -TOPDIR=${PWD} -%define emacsbatch ${TOPDIR}/src/emacs -batch --no-init-file --no-site-file +%__make %{?_smp_mflags} bootstrap # make sure patched lisp files get byte-compiled -%emacsbatch -f batch-byte-compile site-lisp/*.el - -%__make %{?_smp_mflags} -C lisp updates +src/emacs -batch --no-init-file --no-site-file -f batch-byte-compile site-lisp/*.el %install -rm -rf $RPM_BUILD_ROOT - -# workaround #101818 (vm/break dumper problem) -make install \ - prefix=%{?buildroot:%{buildroot}}%{_prefix} \ - exec_prefix=%{?buildroot:%{buildroot}}%{_exec_prefix} \ - bindir=%{?buildroot:%{buildroot}}%{_bindir} \ - sbindir=%{?buildroot:%{buildroot}}%{_sbindir} \ - sysconfdir=%{?buildroot:%{buildroot}}%{_sysconfdir} \ - datadir=%{?buildroot:%{buildroot}}%{_datadir} \ - includedir=%{?buildroot:%{buildroot}}%{_includedir} \ - libdir=%{?buildroot:%{buildroot}}%{_libdir} \ - libexecdir=%{?buildroot:%{buildroot}}%{_libexecdir} \ - localstatedir=%{?buildroot:%{buildroot}}%{_localstatedir} \ - sharedstatedir=%{?buildroot:%{buildroot}}%{_sharedstatedir} \ - mandir=%{?buildroot:%{buildroot}}%{_mandir} \ - infodir=%{?buildroot:%{buildroot}}%{_infodir} - -# suffix binaries with -x -mv $RPM_BUILD_ROOT%{_bindir}/emacs{,-x} -mv $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}{,-x} - -# rebuild without X support -# remove the versioned binary with X support so that we end up with .1 suffix for emacs-nox too -rm src/emacs-%{version}.* -%configure --without-x -%__make %{?_smp_mflags} - -# install the emacs without X -install -m 0755 src/emacs-%{version}.1 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}-nox -ln $RPM_BUILD_ROOT%{_bindir}/emacs{-%{version},}-nox - -# install wrapper script -install -m 0755 %SOURCE19 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version} -ln -s %{_bindir}/emacs-%{version} $RPM_BUILD_ROOT%{_bindir}/emacs - -# make sure movemail isn't setgid -chmod 755 $RPM_BUILD_ROOT%{emacs_libexecdir}/movemail - -%define site_lisp $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp - -mkdir -p %{site_lisp} -install -m 0644 %SOURCE4 %{site_lisp}/site-start.el -install -m 0644 %SOURCE18 %{site_lisp} - -mv $RPM_BUILD_ROOT%{_bindir}/{etags,etags.emacs} -mv $RPM_BUILD_ROOT%{_mandir}/man1/{ctags.1,gctags.1} -mv $RPM_BUILD_ROOT%{_bindir}/{ctags,gctags} - -# GNOME / KDE files -mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications -install -m 0644 %SOURCE1 $RPM_BUILD_ROOT%{_datadir}/applications/gnu-emacs.desktop -mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps -install -m 0644 %SOURCE2 $RPM_BUILD_ROOT%{_datadir}/pixmaps/ +rm -rf %{buildroot} +%makeinstall +install -m 0755 src/emacs-%{version}-nox %{buildroot}%{_bindir} # install site-lisp files +%define site_lisp %{buildroot}%{_datadir}/emacs/site-lisp +mkdir -p %{site_lisp} install -m 0644 site-lisp/*.el{,c} %{site_lisp} +# alternatives will create a symlink to /usr/bin/emacs-22.0.99 +rm %{buildroot}%{_bindir}/emacs + +mv %{buildroot}%{_bindir}/{etags,etags.emacs} +mv %{buildroot}%{_mandir}/man1/{ctags.1,gctags.1} +mv %{buildroot}%{_bindir}/{ctags,gctags} + +# GNOME / KDE files +mkdir -p %{buildroot}%{_datadir}/applications +install -m 0644 %SOURCE1 %{buildroot}%{_datadir}/applications/gnu-emacs.desktop + mkdir -p %{site_lisp}/site-start.d install -m 0644 $RPM_SOURCE_DIR/*-init.el %{site_lisp}/site-start.d # default initialization file -mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/skel -install -m 0644 %SOURCE3 $RPM_BUILD_ROOT%{_sysconfdir}/skel/.emacs +mkdir -p %{buildroot}%{_sysconfdir}/skel +install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/skel/.emacs # after everything is installed, remove info dir -rm -f $RPM_BUILD_ROOT%{_infodir}/dir -rm $RPM_BUILD_ROOT%{_localstatedir}/games/emacs/* +rm -f %{buildroot}%{_infodir}/dir +rm %{buildroot}%{_localstatedir}/games/emacs/* # # create file lists @@ -213,9 +168,7 @@ rm -f *-filelist {common,el}-*-files find .%{_datadir}/emacs/%{version}/lisp \ .%{_datadir}/emacs/%{version}/leim \ - .%{_datadir}/emacs/site-lisp \( -type f -name '*.elc' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el.gz' -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \) - -) + .%{_datadir}/emacs/site-lisp \( -type f -name '*.elc' -fprint $TOPDIR/common-lisp-none-elc-files \) -o \( -type d -fprintf $TOPDIR/common-lisp-dir-files "%%%%dir %%p\n" \) -o \( -name '*.el.gz' -fprint $TOPDIR/el-bytecomped-files -o -fprint $TOPDIR/common-not-comped-files \) ) # put the lists together after filtering ./usr to /usr sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files @@ -227,6 +180,26 @@ rm -rf $RPM_BUILD_ROOT %define info_files ada-mode autotype calc ccmode cl dired-x ebrowse ediff efaq eintr elisp0 elisp1 elisp emacs emacs-mime emacs-xtra erc eshell eudc flymake forms gnus idlwave info message mh-e newsticker org pcl-cvs pgg rcirc reftex sc ses sieve smtpmail speedbar tramp url viper vip widget woman +%post +if [ $1 -ge 1 ] ; then + alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80 +fi + +%preun +if [ $1 -eq 0 ] ; then + alternatives --remove emacs %{_bindir}/emacs-%{version} +fi + +%post nox +if [ $1 -ge 1 ] ; then + alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70 +fi + +%preun nox +if [ $1 -eq 0 ] ; then + alternatives --remove emacs %{_bindir}/emacs-%{version}-nox +fi + %post common for f in %{info_files}; do /sbin/install-info %{_infodir}/$f.gz %{_infodir}/dir --section="GNU Emacs" 2> /dev/null || : @@ -244,37 +217,25 @@ fi %files %defattr(-,root,root) -%{_bindir}/emacs %{_bindir}/emacs-%{version} -%{_bindir}/emacs-x -%{_bindir}/emacs-%{version}-x -%dir %{_libexecdir}/emacs -%dir %{_libexecdir}/emacs/%{version} -%dir %{emacs_libexecdir} %{_datadir}/applications/gnu-emacs.desktop -%{_datadir}/pixmaps/emacs.png %files nox %defattr(-,root,root) -%{_bindir}/emacs -%{_bindir}/emacs-%{version} -%{_bindir}/emacs-nox %{_bindir}/emacs-%{version}-nox -%dir %{_libexecdir}/emacs -%dir %{_libexecdir}/emacs/%{version} -%dir %{emacs_libexecdir} %files -f common-filelist common %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/skel/.emacs %doc etc/NEWS BUGS README -%exclude %{_bindir}/emacs -%exclude %{_bindir}/emacs-* +%exclude %{_bindir}/emacs-%{version} +%exclude %{_bindir}/emacs-%{version}-nox %{_bindir}/* %{_mandir}/*/* %{_infodir}/* %dir %{_datadir}/emacs %dir %{_datadir}/emacs/%{version} +%dir %{emacs_libexecdir} %{_datadir}/emacs/%{version}/etc %{_datadir}/emacs/%{version}/site-lisp %{_libexecdir}/emacs @@ -287,6 +248,25 @@ fi %dir %{_datadir}/emacs/%{version} %changelog +* Mon May 21 2007 Chip Coldwell - 22.0.990-1 +- new pretest tarball from FSF +- removed Ulrich Drepper's patch to prevent mmapped pages during dumping + removed BuildRequires: glibc >= 2.5.90-22 + (bug traced to glibc Resolves: bz239344) +- fix alternatives removal scriptlet (Resolves: bz239745) + +* Thu May 17 2007 Chip Coldwell - 22.0.99-4 +- format of freed blocks changed between glibc 2.5.90-21 and 2.5.90-22 +- BuildRequires: glibc >= 2.5.90-22 (Ulrich Drepper) + +* Sun May 13 2007 Chip Coldwell - 22.0.99-2 +- prevent mmapped pages during dumping (Ulrich Drepper Resolves: bz239344) + +* Tue Apr 24 2007 Chip Coldwell - 22.0.99-1 +- new (last?) pretest tarball from FSF +- update to php-mode-1.2.0 (Ville Skyttä Resolves: bz235941) +- use /etc/alternatives instead of wrapper script + * Tue Mar 6 2007 Chip Coldwell - 22.0.95-1 - new pretest tarball from FSF diff --git a/sources b/sources index 4d04663..bc6cb05 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -07ae2a749fec6decbdf65ae3673d5546 emacs-22.0.95.tar.gz -aad009f7cff4019aac9a466ec9b55aaf php-mode-1.1.0.tgz +809ab62a9b9c36a9d685021a907f6022 emacs-22.0.990.tar.gz +c4ee5e37db3921d6a9aa6d7c417ccadb php-mode-1.2.0.tgz