- update to 21.4 movemail vulnerability release

- no longer need movemail-CAN-2005-0100.patch
- replace %{_bindir}/emacs alternatives with a wrapper script (Warren
    Togami) to prevent it from disappearing when upgrading (Michal
    Jaegermann, 154326)
- suffix the X emacs binaries with -x and the no X binaries with -nox
- the wrapper script %{_bindir}/emacs-%%version runs emacs-x if installed
    or otherwise emacs-nox. %{_bindir}/emacs is a symlink to the wrapper
- make emacs and emacs-nox own the subdirs in %{_libexecdir}
- add a bunch of fixes from debian's emacs21_21.4a-1 patch:
    battery-acpi-support.dpatch, bzero-and-have-stdlib.dpatch,
    coding-region-leak.dpatch, detect-coding-iso2022.dpatch,
    fix-batch-mode-signal-handling.dpatch, pcl-cvs-format.dpatch,
    python-completion-ignored-extensions.dpatch,
    remote-files-permissions.dpatch, save-buffer.dpatch,
    scroll-margin.dpatch, xfree86-4.3-modifiers.dpatch
- add fix-x-vs-no-x-diffs.dpatch
- define emacs_libexecdir
- build both emacs and emacs-nox as %%{version}.1 and move common DOC file
    to emacs-common
- suffix version in fns-%%{version}.1.el with -x and -nox respectively
- add 100 to elisp patches
This commit is contained in:
Jens Petersen 2005-04-10 07:22:59 +00:00
parent effa08f2a1
commit 69dd38cb0d
4 changed files with 122 additions and 67 deletions

View File

@ -5,3 +5,5 @@ emacs-21.3.tar.gz
leim-21.3.tar.gz leim-21.3.tar.gz
php-mode-1.1.0.tgz php-mode-1.1.0.tgz
tramp-2.1.3.tar.gz tramp-2.1.3.tar.gz
emacs-21.4.tar.gz
leim-21.4.tar.gz

View File

@ -5,8 +5,8 @@
Summary: GNU Emacs text editor Summary: GNU Emacs text editor
Name: emacs Name: emacs
Version: 21.3 Version: 21.4
Release: 27 Release: 0.92
License: GPL License: GPL
URL: http://www.gnu.org/software/emacs/ URL: http://www.gnu.org/software/emacs/
Group: Applications/Editors Group: Applications/Editors
@ -35,6 +35,7 @@ Source26: default.el
Source27: rfc1345.el Source27: rfc1345.el
Source28: http://ftp.gnu.org/gnu/tramp/tramp-%{tramp_ver}.tar.gz Source28: http://ftp.gnu.org/gnu/tramp/tramp-%{tramp_ver}.tar.gz
Source29: tramp-init.el Source29: tramp-init.el
Source30: wrapper
Buildroot: %{_tmppath}/%{name}-%{version}-root Buildroot: %{_tmppath}/%{name}-%{version}-root
BuildRequires: glibc-devel, gcc, bzip2, ncurses-devel, zlib-devel, autoconf213 BuildRequires: glibc-devel, gcc, bzip2, ncurses-devel, zlib-devel, autoconf213
Buildrequires: xorg-x11-devel, Xaw3d-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel Buildrequires: xorg-x11-devel, Xaw3d-devel, libpng-devel, libjpeg-devel, libungif-devel, libtiff-devel
@ -43,26 +44,40 @@ Requires: fonts-xorg-75dpi
BuildRequires: setarch BuildRequires: setarch
%endif %endif
Requires: emacs-common = %{version}-%{release} Requires: emacs-common = %{version}-%{release}
PreReq: %{_sbindir}/alternatives
Obsoletes: emacs-X11 Obsoletes: emacs-X11
Conflicts: gettext < 0.10.40 Conflicts: gettext < 0.10.40
# Non-lisp patches
Patch2: emacs-21.2-s390.patch Patch2: emacs-21.2-s390.patch
Patch3: emacs-21.2-x86_64.patch Patch3: emacs-21.2-x86_64.patch
Patch4: emacs-21.2-sticky-bit-80049.patch Patch4: emacs-21.2-sticky-bit-80049.patch
Patch5: emacs-21.2-s390x.patch Patch5: emacs-21.2-s390x.patch
Patch6: emacs-21.2-menubar-games.patch
Patch7: emacs-21.2-alloc-blockinput-83600.patch Patch7: emacs-21.2-alloc-blockinput-83600.patch
Patch8: browse-url-htmlview-84262.patch
Patch9: emacs-21.3-ppc64.patch Patch9: emacs-21.3-ppc64.patch
Patch10: editfns.c-Fformat-multibyte-davej.patch Patch10: editfns.c-Fformat-multibyte-davej.patch
Patch11: emacs-21.3-no-rpath.patch Patch11: emacs-21.3-no-rpath.patch
Patch12: emacs-21.3-lisp-textmodes-ispell-languages.patch
Patch13: emacs-21.3-gud-libtool-fix.patch
Patch14: emacs-xim-status-under-window-125413.patch Patch14: emacs-xim-status-under-window-125413.patch
Patch15: emacs-21.3-xterm-modifiers-137868.patch Patch15: emacs-21.3-xterm-modifiers-137868.patch
Patch16: movemail-CAN-2005-0100.patch
Patch17: emacs-21.3-gcc4.patch Patch17: emacs-21.3-gcc4.patch
Patch18: emacs-21.3-latex-mode-hook-144083.patch Patch19: emacs-21.4-21.4a-diff.patch
Patch20: bzero-and-have-stdlib.dpatch
Patch21: coding-region-leak.dpatch
Patch22: detect-coding-iso2022.dpatch
Patch23: fix-batch-mode-signal-handling.dpatch
Patch24: fix-x-vs-no-x-diffs.dpatch
Patch25: scroll-margin.dpatch
Patch26: xfree86-4.3-modifiers.dpatch
# Lisp patches
Patch106: emacs-21.2-menubar-games.patch
Patch108: browse-url-htmlview-84262.patch
Patch112: emacs-21.3-lisp-textmodes-ispell-languages.patch
Patch113: emacs-21.3-gud-libtool-fix.patch
Patch118: emacs-21.3-latex-mode-hook-144083.patch
Patch119: battery-acpi-support.dpatch
Patch120: pcl-cvs-format.dpatch
Patch121: python-completion-ignored-extensions.dpatch
Patch122: save-buffer.dpatch
%description %description
Emacs is a powerful, customizable, self-documenting, modeless text Emacs is a powerful, customizable, self-documenting, modeless text
@ -76,7 +91,6 @@ This package provides an emacs binary with support for X windows.
Summary: GNU Emacs text editor without X support Summary: GNU Emacs text editor without X support
Group: Applications/Editors Group: Applications/Editors
Requires: emacs-common = %{version}-%{release} Requires: emacs-common = %{version}-%{release}
PreReq: %{_sbindir}/alternatives
%description nox %description nox
Emacs is a powerful, customizable, self-documenting, modeless text Emacs is a powerful, customizable, self-documenting, modeless text
@ -123,38 +137,55 @@ user must press in order to input a particular character in a
non-English character set. Input methods for many different character non-English character set. Input methods for many different character
sets are included in this package. sets are included in this package.
%define emacs_libexecdir %{_libexecdir}/emacs/%{version}/%{_arch}-%{_vendor}-%{_os}%{?_gnu}
%prep %prep
%setup -q -b 1 -a 24 -a 28 %setup -q -b 1 -a 24 -a 28
%patch2 -p1 -b .s390 %patch2 -p1 -b .2-s390
%patch3 -p1 -b .hammer %patch3 -p1 -b .3-hammer
%patch4 -p1 -b .sticky %patch4 -p1 -b .4-sticky
%patch5 -p1 -b .s390x %patch5 -p1 -b .5-s390x
# block input in `allocate_vectorlike' (alloc.c) # block input in `allocate_vectorlike' (alloc.c)
%patch7 -p1 -b .block %patch7 -p1 -b .7-block
%patch9 -p1 -b .ppc64 %patch9 -p1 -b .9-ppc64
%patch10 -p1 -b .multibyte %patch10 -p1 -b .10-multibyte
%patch11 -p1 -b .rpath %patch11 -p1 -b .11-rpath
%patch14 -p1 -b .StatusArea %patch14 -p1 -b .14-StatusArea
%patch15 -p0 -b .modifier %patch15 -p0 -b .15-modifier
%patch16 -p1 -b .fmtstr %patch17 -p1 -b .17-getcwd
%patch17 -p1 -b .getcwd %patch19 -p1 -b .19-fedora
%patch20 -p1 -b .20-bzero
%patch21 -p1 -b .21-leak
%patch22 -p1 -b .22-iso2022
%patch23 -p1 -b .23-batch
%patch24 -p1 -b .24-x-nox
%patch25 -p1 -b .25-scroll-margin
%patch26 -p1 -b .26-xmodifier
# patches 2 and 3 touch configure.in # patches 2 and 3 touch configure.in
autoconf-2.13 autoconf-2.13
## Lisp patches ## Lisp patches
# remove game we can't ship # remove game we can't ship
%patch6 -p1 %patch106 -p1
rm lisp/finder-inf.el lisp/play/tetris.el* rm lisp/finder-inf.el lisp/play/tetris.el*
# make browse-url default to htmlview not netscape # make browse-url default to htmlview not netscape
%patch8 -p1 %patch108 -p1
# fix names of aspell language dictionaries # fix names of aspell language dictionaries
%patch12 -p1 %patch112 -p1
# fix running gdb with libtool # fix running gdb with libtool
%patch13 -p1 %patch113 -p1
# run latex-mode-hook # run latex-mode-hook
%patch18 -p1 %patch118 -p1
# battery acpi
%patch119 -p1
# pcl-cvs format
%patch120 -p1
# .pyc completion
%patch121 -p1
# save-buffer
%patch122 -p1
# install rest of site-lisp files # install rest of site-lisp files
( cd site-lisp ( cd site-lisp
@ -208,22 +239,28 @@ rm -rf $RPM_BUILD_ROOT
%endif %endif
%makeinstall %makeinstall
# suffix binaries with -x
# bindir/emacs handled by alternatives mv $RPM_BUILD_ROOT%{_bindir}/emacs{,-x}
rm $RPM_BUILD_ROOT%{_bindir}/emacs mv $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}{,-x}
mv $RPM_BUILD_ROOT%{emacs_libexecdir}/fns-%{version}.1{,-x}.el
# rebuild without X support # 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 %configure --without-x
%__make %{?_smp_mflags} %__make %{?_smp_mflags}
# install the emacs without X # install the emacs without X
install -m 0755 src/emacs-%{version}.2 $RPM_BUILD_ROOT%{_bindir}/emacs-nox-%{version} install -m 0755 src/emacs-%{version}.1 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}-nox
#ln $RPM_BUILD_ROOT%{_bindir}/emacs-nox{-%{version},} ln $RPM_BUILD_ROOT%{_bindir}/emacs{-%{version},}-nox
install -m 0644 etc/DOC-%{version}.2 $RPM_BUILD_ROOT%{_datadir}/emacs/%{version}/etc/ install -m 0644 lib-src/fns-%{version}.1.el $RPM_BUILD_ROOT%{emacs_libexecdir}/fns-%{version}.1-nox.el
install -m 0644 lib-src/fns-%{version}.2.el $RPM_BUILD_ROOT%{_libexecdir}/emacs/%{version}/*/
# install wrapper script
install -m 0755 %SOURCE30 $RPM_BUILD_ROOT%{_bindir}/emacs-%{version}
ln -s %{_bindir}/emacs-%{version} $RPM_BUILD_ROOT%{_bindir}/emacs
# make sure movemail isn't setgid # make sure movemail isn't setgid
chmod 755 $RPM_BUILD_ROOT%{_libexecdir}/emacs/%{version}/*/movemail chmod 755 $RPM_BUILD_ROOT%{emacs_libexecdir}/movemail
%define site_lisp $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp %define site_lisp $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
@ -289,23 +326,6 @@ rm -rf $RPM_BUILD_ROOT
%define info_files ada-mode autotype ccmode cl dired-x ebrowse ediff efaq elisp emacs eshell eudc forms gnus idlwave info message mh-e pcl-cvs reftex sc speedbar vip viper widget woman %define info_files ada-mode autotype ccmode cl dired-x ebrowse ediff efaq elisp emacs eshell eudc forms gnus idlwave info message mh-e pcl-cvs reftex sc speedbar vip viper widget woman
%post
alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 50
%post nox
alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-nox-%{version} 20
%postun
if [ $1 -eq 0 ]; then
alternatives --remove emacs %{_bindir}/emacs-%{version}
fi
%postun nox
if [ $1 -eq 0 ]; then
alternatives --remove emacs %{_bindir}/emacs-nox-%{version}
fi
%post common %post common
for f in %{info_files}; do for f in %{info_files}; do
/sbin/install-info %{_infodir}/$f.gz %{_infodir}/dir --section="GNU Emacs" 2> /dev/null || : /sbin/install-info %{_infodir}/$f.gz %{_infodir}/dir --section="GNU Emacs" 2> /dev/null || :
@ -323,42 +343,47 @@ fi
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/emacs
%{_bindir}/emacs-%{version} %{_bindir}/emacs-%{version}
%dir %{_datadir}/emacs/%{version} %{_bindir}/emacs-x
%dir %{_datadir}/emacs/%{version}/etc %{_bindir}/emacs-%{version}-x
%{_datadir}/emacs/%{version}/etc/DOC-%{version}.1 %dir %{_libexecdir}/emacs
%dir %{_libexecdir}/emacs/%{version}/* %dir %{_libexecdir}/emacs/%{version}
%{_libexecdir}/emacs/%{version}/*/fns-%{version}.1.el %dir %{emacs_libexecdir}
%{emacs_libexecdir}/fns-%{version}.1-x.el
%{_datadir}/applications/gnu-emacs.desktop %{_datadir}/applications/gnu-emacs.desktop
%{_datadir}/pixmaps/emacs.png %{_datadir}/pixmaps/emacs.png
%files nox %files nox
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/emacs-nox-%{version} %{_bindir}/emacs
%{_bindir}/emacs-%{version}
%{_bindir}/emacs-nox
%{_bindir}/emacs-%{version}-nox
%dir %{_datadir}/emacs
%dir %{_datadir}/emacs/%{version} %dir %{_datadir}/emacs/%{version}
%dir %{_datadir}/emacs/%{version}/etc %dir %{_datadir}/emacs/%{version}/etc
%{_datadir}/emacs/%{version}/etc/DOC-%{version}.2 %dir %{_libexecdir}/emacs
%dir %{_libexecdir}/emacs/%{version}/* %dir %{_libexecdir}/emacs/%{version}
%{_libexecdir}/emacs/%{version}/*/fns-%{version}.2.el %dir %{emacs_libexecdir}
%{emacs_libexecdir}/fns-%{version}.1-nox.el
%files -f common-filelist common %files -f common-filelist common
%defattr(-,root,root) %defattr(-,root,root)
%config(noreplace) %{_sysconfdir}/skel/.emacs %config(noreplace) %{_sysconfdir}/skel/.emacs
%doc etc/NEWS BUGS README %doc etc/NEWS BUGS README
%exclude %{_bindir}/emacs-%{version} %exclude %{_bindir}/emacs*
%exclude %{_bindir}/emacs-nox-%{version}
%{_bindir}/* %{_bindir}/*
%{_mandir}/*/* %{_mandir}/*/*
%{_infodir}/* %{_infodir}/*
%dir %{_datadir}/emacs %dir %{_datadir}/emacs
%dir %{_datadir}/emacs/%{version} %dir %{_datadir}/emacs/%{version}
%{_datadir}/emacs/%{version}/etc %{_datadir}/emacs/%{version}/etc
%exclude %{_datadir}/emacs/%{version}/etc/DOC-%{version}.*
# quieten startup when -leim and -el aren't installed # quieten startup when -leim and -el aren't installed
%dir %{_datadir}/emacs/%{version}/leim %dir %{_datadir}/emacs/%{version}/leim
%{_datadir}/emacs/%{version}/site-lisp %{_datadir}/emacs/%{version}/site-lisp
%{_libexecdir}/emacs %{_libexecdir}/emacs
%exclude %{_libexecdir}/emacs/%{version}/*/fns-%{version}.*.el %exclude %{emacs_libexecdir}/fns-%{version}.*.el
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/default.el %attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/default.el
%attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/site-start.el %attr(0644,root,root) %config %{_datadir}/emacs/site-lisp/site-start.el
@ -369,6 +394,24 @@ fi
%defattr(-,root,root) %defattr(-,root,root)
%changelog %changelog
* Fri Apr 8 2005 Jens Petersen <petersen@redhat.com> - 21.4-1
- update to 21.4 movemail vulnerability release
- no longer need movemail-CAN-2005-0100.patch
- replace %{_bindir}/emacs alternatives with a wrapper script (Warren Togami)
to prevent it from disappearing when upgrading (Michal Jaegermann, 154326)
- suffix the X emacs binaries with -x and the no X binaries with -nox
- the wrapper script %{_bindir}/emacs-%%version runs emacs-x if installed or
otherwise emacs-nox. %{_bindir}/emacs is a symlink to the wrapper
- make emacs and emacs-nox own the subdirs in %{_libexecdir}
- add a bunch of fixes from debian's emacs21_21.4a-1 patch:
battery-acpi-support.dpatch, bzero-and-have-stdlib.dpatch,
coding-region-leak.dpatch, detect-coding-iso2022.dpatch,
fix-batch-mode-signal-handling.dpatch, pcl-cvs-format.dpatch,
python-completion-ignored-extensions.dpatch,
remote-files-permissions.dpatch, save-buffer.dpatch, scroll-margin.dpatch,
xfree86-4.3-modifiers.dpatch
- add fix-x-vs-no-x-diffs.dpatch and
* Wed Apr 6 2005 Jens Petersen <petersen@redhat.com> - 21.3-27 * Wed Apr 6 2005 Jens Petersen <petersen@redhat.com> - 21.3-27
- use alternatives to switch _bindir/emacs between emacs and emacs-nox - use alternatives to switch _bindir/emacs between emacs and emacs-nox
(Henning Schmiedehausen, #151067) (Henning Schmiedehausen, #151067)

View File

@ -1,6 +1,6 @@
1387a2273fe9a9a160f3a0f63e06dbac Mule-UCS-current.tar.gz 1387a2273fe9a9a160f3a0f63e06dbac Mule-UCS-current.tar.gz
a41fdcc6436250b8935fb01af0701cf8 elisp-manual-21-2.8.tar.bz2 a41fdcc6436250b8935fb01af0701cf8 elisp-manual-21-2.8.tar.bz2
a0bab457cbf5b4f8eb99d1d0a3ada420 emacs-21.3.tar.gz
1c968c37e22be0f0d8f8cd57cebe5a5e leim-21.3.tar.gz
aad009f7cff4019aac9a466ec9b55aaf php-mode-1.1.0.tgz aad009f7cff4019aac9a466ec9b55aaf php-mode-1.1.0.tgz
8c41fd80b383e05125a4ac99c896ea99 tramp-2.1.3.tar.gz 8c41fd80b383e05125a4ac99c896ea99 tramp-2.1.3.tar.gz
0a68ea5b29bb2f081ba8dd85d37bb9bc emacs-21.4.tar.gz
32938cb5a7505d995a1e835639d19707 leim-21.4.tar.gz

10
wrapper Executable file
View File

@ -0,0 +1,10 @@
#!/bin/sh
PROG_NAME=`basename $0`
for i in x nox; do
[ -x "/usr/bin/${PROG_NAME}-$i" ] && exec /usr/bin/${PROG_NAME}-$i "$@"
done
echo "Can't find $PROG_NAME" 1>&2
exit 1