- move alternatives install to posttrans scriptlet (Resolves: bz239745)

- new release tarball from FSF (Resolves: bz245303)
- new php-mode 1.2.0
Wed May 23 2007 Chip Coldwell <coldwell@redhat.com> - 22.0.990-2
- revert all spec file changes since 22.0.95-1 (Resolves: bz239745)
- new pretest tarball from FSF (Resolves: bz238234)
- restore php-mode (Resolves: bz235941)
Mon May 21 2007 Chip Coldwell <coldwell@redhat.com> - 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)
This commit is contained in:
Charles Coldwell 2007-06-26 17:00:50 +00:00
parent fc47e9e670
commit ee280aae20
3 changed files with 100 additions and 61 deletions

View File

@ -1,2 +1,2 @@
emacs-22.0.990.tar.gz emacs-22.1.tar.gz
php-mode-1.2.0.tgz php-mode-1.2.0.tgz

View File

@ -1,19 +1,15 @@
# This file is encoded in UTF-8. -*- coding: utf-8 -*- # This file is encoded in UTF-8. -*- coding: utf-8 -*-
%define expurgate 0
%define humorless 0
%define paranoid 1
Summary: GNU Emacs text editor Summary: GNU Emacs text editor
Name: emacs Name: emacs
Version: 22.0.990 Version: 22.1
Release: 1%{?dist} Release: 1%{?dist}
License: GPL License: GPL
URL: http://www.gnu.org/software/emacs/ URL: http://www.gnu.org/software/emacs/
Group: Applications/Editors Group: Applications/Editors
Source0: ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-%{version}.tar.gz Source0: ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-%{version}.tar.gz
Source1: emacs.desktop Source1: emacs.desktop
Source2: default.el Source2: emacs.png
Source3: dotemacs.el Source3: dotemacs.el
Source4: site-start.el Source4: site-start.el
Source5: http://www.python.org/emacs/python-mode/python-mode.el Source5: http://www.python.org/emacs/python-mode/python-mode.el
@ -28,6 +24,8 @@ Source13: focus-init.el
Source14: po-mode.el Source14: po-mode.el
Source15: po-mode-init.el Source15: po-mode-init.el
Source16: po-mode-auto-replace-date-71264.patch Source16: po-mode-auto-replace-date-71264.patch
Source18: default.el
Source19: wrapper
Source20: igrep.el Source20: igrep.el
Source21: igrep-init.el Source21: igrep-init.el
Buildroot: %{_tmppath}/%{name}-%{version}-root Buildroot: %{_tmppath}/%{name}-%{version}-root
@ -39,6 +37,12 @@ Requires: xorg-x11-fonts-ISO8859-1-75dpi
Requires: emacs-common = %{version}-%{release} Requires: emacs-common = %{version}-%{release}
Conflicts: gettext < 0.10.40 Conflicts: gettext < 0.10.40
# C and build patches
# Lisp and doc patches
%define paranoid 1
%description %description
Emacs is a powerful, customizable, self-documenting, modeless text Emacs is a powerful, customizable, self-documenting, modeless text
editor. Emacs contains special code editing features, a scripting editor. Emacs contains special code editing features, a scripting
@ -91,72 +95,94 @@ Emacs packages or see some elisp examples.
%prep %prep
%setup -q %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 # install rest of site-lisp files
( cd site-lisp ( cd site-lisp
cp %SOURCE2 %SOURCE4 %SOURCE5 %SOURCE6 %SOURCE9 %SOURCE14 %SOURCE20 . cp %SOURCE5 %SOURCE6 %SOURCE9 %SOURCE14 %SOURCE20 .
tar xfz %SOURCE7 tar xfz %SOURCE7 # php-mode
# xemacs compat patch for rpm-spec-mode # xemacs compat patch for rpm-spec-mode
patch < %SOURCE12 patch < %SOURCE12
# fix po-auto-replace-revision-date nil # fix po-auto-replace-revision-date nil
patch < %SOURCE16 ) patch < %SOURCE16 )
%if %{paranoid}
# avoid trademark issues
( cd lisp/play
rm -f tetris.el tetris.elc )
%endif
%build %build
export CFLAGS="-DMAIL_USE_LOCKF -DSYSTEM_PURESIZE_EXTRA=16777216 $RPM_OPT_FLAGS"
# First, build the binary without X support # stack-protector causes crashing on i386 (#174730)
%configure --without-x %ifarch %{ix86}
%__make %{?_smp_mflags} -C src emacs CFLAGS=`echo $CFLAGS | sed -e "s/ -fstack-protector//"`
mv src/emacs-%{version}.1 src/emacs-%{version}-nox %endif
# Now, rebuild with full X support
%configure --with-pop --with-sound --with-gtk %configure --with-pop --with-sound --with-gtk
%__make %{?_smp_mflags} bootstrap
%__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 sure patched lisp files get byte-compiled # make sure patched lisp files get byte-compiled
src/emacs -batch --no-init-file --no-site-file -f batch-byte-compile site-lisp/*.el %emacsbatch -f batch-byte-compile site-lisp/*.el
%__make %{?_smp_mflags} -C lisp updates
%install %install
rm -rf %{buildroot} rm -rf $RPM_BUILD_ROOT
%makeinstall %makeinstall
install -m 0755 src/emacs-%{version}-nox %{buildroot}%{_bindir}
# install site-lisp files # let alternatives manage the symlink
%define site_lisp %{buildroot}%{_datadir}/emacs/site-lisp rm $RPM_BUILD_ROOT%{_bindir}/emacs
# 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
# 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} mkdir -p %{site_lisp}
install -m 0644 site-lisp/*.el{,c} %{site_lisp} install -m 0644 %SOURCE4 %{site_lisp}/site-start.el
install -m 0644 %SOURCE18 %{site_lisp}
# alternatives will create a symlink to /usr/bin/emacs-22.0.99 mv $RPM_BUILD_ROOT%{_bindir}/{etags,etags.emacs}
rm %{buildroot}%{_bindir}/emacs mv $RPM_BUILD_ROOT%{_mandir}/man1/{ctags.1,gctags.1}
mv $RPM_BUILD_ROOT%{_bindir}/{ctags,gctags}
mv %{buildroot}%{_bindir}/{etags,etags.emacs}
mv %{buildroot}%{_mandir}/man1/{ctags.1,gctags.1}
mv %{buildroot}%{_bindir}/{ctags,gctags}
# GNOME / KDE files # GNOME / KDE files
mkdir -p %{buildroot}%{_datadir}/applications mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
install -m 0644 %SOURCE1 %{buildroot}%{_datadir}/applications/gnu-emacs.desktop 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/
# install site-lisp files
install -m 0644 site-lisp/*.el{,c} %{site_lisp}
mkdir -p %{site_lisp}/site-start.d mkdir -p %{site_lisp}/site-start.d
install -m 0644 $RPM_SOURCE_DIR/*-init.el %{site_lisp}/site-start.d install -m 0644 $RPM_SOURCE_DIR/*-init.el %{site_lisp}/site-start.d
# default initialization file # default initialization file
mkdir -p %{buildroot}%{_sysconfdir}/skel mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/skel
install -m 0644 %SOURCE3 %{buildroot}%{_sysconfdir}/skel/.emacs install -m 0644 %SOURCE3 $RPM_BUILD_ROOT%{_sysconfdir}/skel/.emacs
# after everything is installed, remove info dir # after everything is installed, remove info dir
rm -f %{buildroot}%{_infodir}/dir rm -f $RPM_BUILD_ROOT%{_infodir}/dir
rm %{buildroot}%{_localstatedir}/games/emacs/* rm $RPM_BUILD_ROOT%{_localstatedir}/games/emacs/*
# #
# create file lists # create file lists
@ -168,7 +194,9 @@ rm -f *-filelist {common,el}-*-files
find .%{_datadir}/emacs/%{version}/lisp \ find .%{_datadir}/emacs/%{version}/lisp \
.%{_datadir}/emacs/%{version}/leim \ .%{_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 # put the lists together after filtering ./usr to /usr
sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files sed -i -e "s|\.%{_prefix}|%{_prefix}|" *-files
@ -180,26 +208,22 @@ 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 %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 %preun
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
alternatives --remove emacs %{_bindir}/emacs-%{version} alternatives --remove emacs %{_bindir}/emacs-%{version}
fi fi
%post nox %posttrans
if [ $1 -ge 1 ] ; then alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version} 80
alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70
fi
%preun nox %preun nox
if [ $1 -eq 0 ] ; then if [ $1 -eq 0 ] ; then
alternatives --remove emacs %{_bindir}/emacs-%{version}-nox alternatives --remove emacs %{_bindir}/emacs-%{version}-nox
fi fi
%posttrans nox
alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs-%{version}-nox 70
%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 || :
@ -218,24 +242,29 @@ fi
%files %files
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/emacs-%{version} %{_bindir}/emacs-%{version}
%dir %{_libexecdir}/emacs
%dir %{_libexecdir}/emacs/%{version}
%dir %{emacs_libexecdir}
%{_datadir}/applications/gnu-emacs.desktop %{_datadir}/applications/gnu-emacs.desktop
%{_datadir}/pixmaps/emacs.png
%files nox %files nox
%defattr(-,root,root) %defattr(-,root,root)
%{_bindir}/emacs-%{version}-nox %{_bindir}/emacs-%{version}-nox
%dir %{_libexecdir}/emacs
%dir %{_libexecdir}/emacs/%{version}
%dir %{emacs_libexecdir}
%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-%{version}-nox
%{_bindir}/* %{_bindir}/*
%{_mandir}/*/* %{_mandir}/*/*
%{_infodir}/* %{_infodir}/*
%dir %{_datadir}/emacs %dir %{_datadir}/emacs
%dir %{_datadir}/emacs/%{version} %dir %{_datadir}/emacs/%{version}
%dir %{emacs_libexecdir}
%{_datadir}/emacs/%{version}/etc %{_datadir}/emacs/%{version}/etc
%{_datadir}/emacs/%{version}/site-lisp %{_datadir}/emacs/%{version}/site-lisp
%{_libexecdir}/emacs %{_libexecdir}/emacs
@ -248,6 +277,16 @@ fi
%dir %{_datadir}/emacs/%{version} %dir %{_datadir}/emacs/%{version}
%changelog %changelog
* Fri Jun 6 2007 Chip Coldwell <coldwell@redhat.com> - 22.1-1
- move alternatives install to posttrans scriptlet (Resolves: bz239745)
- new release tarball from FSF (Resolves: bz245303)
- new php-mode 1.2.0
* Wed May 23 2007 Chip Coldwell <coldwell@redhat.com> - 22.0.990-2
- revert all spec file changes since 22.0.95-1 (Resolves: bz239745)
- new pretest tarball from FSF (Resolves: bz238234)
- restore php-mode (Resolves: bz235941)
* Mon May 21 2007 Chip Coldwell <coldwell@redhat.com> - 22.0.990-1 * Mon May 21 2007 Chip Coldwell <coldwell@redhat.com> - 22.0.990-1
- new pretest tarball from FSF - new pretest tarball from FSF
- removed Ulrich Drepper's patch to prevent mmapped pages during dumping - removed Ulrich Drepper's patch to prevent mmapped pages during dumping

View File

@ -1,2 +1,2 @@
809ab62a9b9c36a9d685021a907f6022 emacs-22.0.990.tar.gz 6949df37caec2d7a2e0eee3f1b422726 emacs-22.1.tar.gz
c4ee5e37db3921d6a9aa6d7c417ccadb php-mode-1.2.0.tgz c4ee5e37db3921d6a9aa6d7c417ccadb php-mode-1.2.0.tgz