Accepting request 1189610 from editors
- Use simple trusted members of the group games (boo#1228058) - Split off the emacs-games package for score handling (boo#1227737) - Implement setgid based score handling - The xauth patch should ignore any locking at read time as otherwise emacs server might hang - Provide support of ELPA systemwide installations to OBS OBS-URL: https://build.opensuse.org/request/show/1189610 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/emacs?expand=0&rev=189
This commit is contained in:
commit
8bb96a72e2
@ -119,7 +119,7 @@ even if the Xauthority file is not the default expected by XCloseDisplay()
|
|||||||
+ (setq xauth-file (expand-file-name "~/.Xauthority")))
|
+ (setq xauth-file (expand-file-name "~/.Xauthority")))
|
||||||
+ (if (and (file-exists-p xauth-file) (not (file-equal-p xauth-file server-xauth-file)))
|
+ (if (and (file-exists-p xauth-file) (not (file-equal-p xauth-file server-xauth-file)))
|
||||||
+ (progn
|
+ (progn
|
||||||
+ (setq xauth-cmd (concat "xauth -f " xauth-file " extract - " display
|
+ (setq xauth-cmd (concat "xauth -i -f " xauth-file " extract - " display
|
||||||
+ "| xauth -f " server-xauth-file " merge -"))
|
+ "| xauth -f " server-xauth-file " merge -"))
|
||||||
+ (shell-command xauth-cmd)))))
|
+ (shell-command xauth-cmd)))))
|
||||||
+
|
+
|
||||||
|
@ -1,3 +1,21 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 25 12:23:48 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- Use simple trusted members of the group games (boo#1228058)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Jul 17 09:11:18 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- Split off the emacs-games package for score handling (boo#1227737)
|
||||||
|
- Implement setgid based score handling
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Jul 11 09:31:21 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
- The xauth patch should ignore any locking at read time
|
||||||
|
as otherwise emacs server might hang
|
||||||
|
- Provide support of ELPA systemwide installations to OBS
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Jul 10 08:54:22 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
Wed Jul 10 08:54:22 UTC 2024 - Dr. Werner Fink <werner@suse.de>
|
||||||
|
|
||||||
|
115
emacs.spec
115
emacs.spec
@ -30,6 +30,14 @@
|
|||||||
%bcond_with tex4pdf
|
%bcond_with tex4pdf
|
||||||
%bcond_with memmmap
|
%bcond_with memmmap
|
||||||
%bcond_with checks
|
%bcond_with checks
|
||||||
|
#
|
||||||
|
# Compare with AUDIT bug boo#1228058
|
||||||
|
# With this setup only members of the group "games" can use
|
||||||
|
# already existing score files below /var/games/emacs/
|
||||||
|
#
|
||||||
|
#
|
||||||
|
%bcond_without games
|
||||||
|
%define gattr 00755
|
||||||
|
|
||||||
Name: emacs
|
Name: emacs
|
||||||
%if %{with checks}
|
%if %{with checks}
|
||||||
@ -74,7 +82,7 @@ BuildRequires: mailutils-devel
|
|||||||
%endif
|
%endif
|
||||||
BuildRequires: makeinfo
|
BuildRequires: makeinfo
|
||||||
BuildRequires: ncurses-devel
|
BuildRequires: ncurses-devel
|
||||||
%if 0%{?suse_version} >= 1500
|
%if %{with games}
|
||||||
BuildRequires: user(games)
|
BuildRequires: user(games)
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: systemd-rpm-macros
|
BuildRequires: systemd-rpm-macros
|
||||||
@ -163,6 +171,7 @@ Provides: nxml-mode = 20041004
|
|||||||
Obsoletes: nxml-mode < 20041004
|
Obsoletes: nxml-mode < 20041004
|
||||||
Provides: epg = 1.0.0
|
Provides: epg = 1.0.0
|
||||||
Obsoletes: epg < 1.0.0
|
Obsoletes: epg < 1.0.0
|
||||||
|
Provides: emacs(ELPA)
|
||||||
Requires: emacs-info = %{version}
|
Requires: emacs-info = %{version}
|
||||||
Requires: emacs_program = %{version}-%{release}
|
Requires: emacs_program = %{version}-%{release}
|
||||||
Requires: etags
|
Requires: etags
|
||||||
@ -170,9 +179,12 @@ Requires: etags
|
|||||||
Requires: mailutils
|
Requires: mailutils
|
||||||
%endif
|
%endif
|
||||||
Requires(pre): fileutils
|
Requires(pre): fileutils
|
||||||
%if 0%{?suse_version} >= 1500
|
%if %{with games}
|
||||||
Requires(pre): group(games)
|
%if !0%{?is_opensuse}
|
||||||
Requires(pre): user(games)
|
Suggests: %{name}-games
|
||||||
|
%else
|
||||||
|
Recommends: %{name}-games
|
||||||
|
%endif
|
||||||
%endif
|
%endif
|
||||||
Source: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
Source: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
|
||||||
Source1: app-defaults.Emacs
|
Source1: app-defaults.Emacs
|
||||||
@ -314,7 +326,7 @@ Summary: Info files for GNU Emacs
|
|||||||
Group: Documentation/Other
|
Group: Documentation/Other
|
||||||
%if 0%{?suse_version} <= 1500
|
%if 0%{?suse_version} <= 1500
|
||||||
Requires(post): %install_info_prereq
|
Requires(post): %install_info_prereq
|
||||||
Requires(preun):%install_info_prereq
|
Requires(preun): %install_info_prereq
|
||||||
%endif
|
%endif
|
||||||
BuildArch: noarch
|
BuildArch: noarch
|
||||||
|
|
||||||
@ -323,11 +335,26 @@ This package contains all the Info files for GNU Emacs. These files can
|
|||||||
be read online with GNU Emacs. They describe Emacs and some of its
|
be read online with GNU Emacs. They describe Emacs and some of its
|
||||||
modes.
|
modes.
|
||||||
|
|
||||||
|
%if %{with games}
|
||||||
|
%package games
|
||||||
|
Requires: emacs = %{version}-%{release}
|
||||||
|
Requires(pre): group(games)
|
||||||
|
Requires(pre): user(games)
|
||||||
|
Requires(pre): permissions
|
||||||
|
Provides: emacs:%{_localstatedir}/games/emacs
|
||||||
|
Summary: Provides scores for Emacs games
|
||||||
|
Group: Amusements/Games/Other
|
||||||
|
|
||||||
|
%description games
|
||||||
|
This package provides capability to play games for members of the user
|
||||||
|
group called "games".
|
||||||
|
%endif
|
||||||
|
|
||||||
%package -n etags
|
%package -n etags
|
||||||
Summary: Generate Tag Files for Use with Emacs
|
Summary: Generate Tag Files for Use with Emacs
|
||||||
Group: Development/Tools/Navigators
|
Group: Development/Tools/Navigators
|
||||||
Requires(post): coreutils update-alternatives
|
Requires(post): coreutils update-alternatives
|
||||||
Requires(preun):coreutils update-alternatives
|
Requires(preun): coreutils update-alternatives
|
||||||
Provides: ctags:/usr/bin/etags
|
Provides: ctags:/usr/bin/etags
|
||||||
|
|
||||||
%description -n etags
|
%description -n etags
|
||||||
@ -520,7 +547,9 @@ DESKTOP="--with-x \
|
|||||||
--without-native-compilation \
|
--without-native-compilation \
|
||||||
%endif
|
%endif
|
||||||
--without-hesiod \
|
--without-hesiod \
|
||||||
|
%if %{with games}
|
||||||
--with-gameuser=:games \
|
--with-gameuser=:games \
|
||||||
|
%endif
|
||||||
--with-kerberos \
|
--with-kerberos \
|
||||||
--with-kerberos5 \
|
--with-kerberos5 \
|
||||||
--with-file-notification=inotify \
|
--with-file-notification=inotify \
|
||||||
@ -796,14 +825,44 @@ do
|
|||||||
done
|
done
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with games} && "%{gattr}" == "02755"
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/permissions/permissions.d
|
||||||
|
(cat > %{buildroot}%{_datadir}/permissions/permissions.d/emacs-games) <<-'EOF'
|
||||||
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score games:games 02755
|
||||||
|
EOF
|
||||||
|
(cat > %{buildroot}%{_datadir}/permissions/permissions.d/emacs-games.paranoid) <<-'EOF'
|
||||||
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score games:games 00755
|
||||||
|
EOF
|
||||||
|
%else
|
||||||
|
mkdir -p %{buildroot}%{_sysconfdir}/permissions.d
|
||||||
|
(cat > %{buildroot}%{_sysconfdir}/permissions.d/emacs-games) <<-'EOF'
|
||||||
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score games:games 02755
|
||||||
|
EOF
|
||||||
|
(cat > %{buildroot}%{_sysconfdir}/permissions.d/emacs-games.paranoid) <<-'EOF'
|
||||||
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score games:games 00755
|
||||||
|
EOF
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
%if %{with checks}
|
%if %{with checks}
|
||||||
%check
|
%check
|
||||||
make check
|
make check
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if %{with games} && "%{gattr}" == "02755"
|
||||||
|
%verifyscript games
|
||||||
|
%verify_permissions -e %{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score
|
||||||
|
%endif
|
||||||
|
|
||||||
%pre
|
%pre
|
||||||
test -L usr/bin/emacs && rm -f usr/bin/emacs || true
|
test -L usr/bin/emacs && rm -f usr/bin/emacs || true
|
||||||
|
|
||||||
|
%if %{with games} && "%{gattr}" == "02755"
|
||||||
|
%post games
|
||||||
|
%set_permissions %{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score
|
||||||
|
%endif
|
||||||
|
|
||||||
%post -n emacs-x11
|
%post -n emacs-x11
|
||||||
%glib2_gsettings_schema_post
|
%glib2_gsettings_schema_post
|
||||||
|
|
||||||
@ -850,17 +909,12 @@ fi
|
|||||||
%dir %{_libdir}/emacs/elpa/
|
%dir %{_libdir}/emacs/elpa/
|
||||||
%dir %{_libexecdir}/emacs/
|
%dir %{_libexecdir}/emacs/
|
||||||
%dir %{_libexecdir}/emacs/%{version}/
|
%dir %{_libexecdir}/emacs/%{version}/
|
||||||
%dir %{_libexecdir}/emacs/%{version}/*-suse-linux*/
|
%dir %{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/hexl
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/hexl
|
||||||
%if %{without mailutils}
|
%if %{without mailutils}
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/movemail
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/movemail
|
||||||
%endif
|
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/rcs2log
|
|
||||||
%if 0
|
|
||||||
%attr(04755,games,games) %{_libexecdir}/emacs/%{version}/*-suse-linux*/update-game-score
|
|
||||||
%else
|
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/update-game-score
|
|
||||||
%endif
|
%endif
|
||||||
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/rcs2log
|
||||||
%{_userunitdir}/emacs.service
|
%{_userunitdir}/emacs.service
|
||||||
%dir %{_datadir}/doc/packages/emacs/
|
%dir %{_datadir}/doc/packages/emacs/
|
||||||
%{_datadir}/doc/packages/emacs/doc
|
%{_datadir}/doc/packages/emacs/doc
|
||||||
@ -3475,23 +3529,40 @@ fi
|
|||||||
%dir %{_datadir}/emacs/site-lisp/site-start.d/
|
%dir %{_datadir}/emacs/site-lisp/site-start.d/
|
||||||
%{_mandir}/man1/*.1%{ext_man}
|
%{_mandir}/man1/*.1%{ext_man}
|
||||||
%exclude %{_mandir}/man1/*tags.1%{ext_man}
|
%exclude %{_mandir}/man1/*tags.1%{ext_man}
|
||||||
%dir %attr(775,games,games) %{_localstatedir}/games/emacs
|
|
||||||
%attr(660,games,games) %{_localstatedir}/games/emacs/snake-scores
|
%if %{with games}
|
||||||
%attr(660,games,games) %{_localstatedir}/games/emacs/tetris-scores
|
%files games
|
||||||
|
%if "%{gattr}" == "02755"
|
||||||
|
%attr(%{gattr},root,games) %{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score
|
||||||
|
%if 0%{?suse_version} >= 1699
|
||||||
|
%attr(0755,root,root) %{_datadir}/permissions/permissions.d/
|
||||||
|
%attr(0644,root,root) %{_datadir}/permissions/permissions.d/emacs-games
|
||||||
|
%attr(0644,root,root) %{_datadir}/permissions/permissions.d/emacs-games.paranoid
|
||||||
|
%else
|
||||||
|
%config %attr(0644,root,root) %{_sysconfdir}/permissions.d/emacs-games
|
||||||
|
%config %attr(0644,root,root) %{_sysconfdir}/permissions.d/emacs-games.paranoid
|
||||||
|
%endif
|
||||||
|
%else
|
||||||
|
%attr(%{gattr},root,root) %{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/update-game-score
|
||||||
|
%endif
|
||||||
|
%dir %attr(0750,root,games) %{_localstatedir}/games/emacs
|
||||||
|
%attr(0660,root,games) %{_localstatedir}/games/emacs/snake-scores
|
||||||
|
%attr(0660,root,games) %{_localstatedir}/games/emacs/tetris-scores
|
||||||
|
%endif
|
||||||
|
|
||||||
%files -n emacs-nox
|
%files -n emacs-nox
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_bindir}/emacs-nox
|
%{_bindir}/emacs-nox
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/emacs-nox*.pdmp
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/emacs-nox*.pdmp
|
||||||
|
|
||||||
%files -n emacs-x11
|
%files -n emacs-x11
|
||||||
%defattr(-, root, root)
|
%defattr(-, root, root)
|
||||||
%{_bindir}/emacs-x11
|
%{_bindir}/emacs-x11
|
||||||
%{_bindir}/emacs-gtk
|
%{_bindir}/emacs-gtk
|
||||||
%{_bindir}/emacs-wayland
|
%{_bindir}/emacs-wayland
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/emacs-x11*.pdmp
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/emacs-x11*.pdmp
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/emacs-gtk*.pdmp
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/emacs-gtk*.pdmp
|
||||||
%{_libexecdir}/emacs/%{version}/*-suse-linux*/emacs-wayland*.pdmp
|
%{_libexecdir}/emacs/%{version}/%{_target_cpu}-suse-linux/emacs-wayland*.pdmp
|
||||||
%dir %{appDefaultsDir}
|
%dir %{appDefaultsDir}
|
||||||
%{appDefaultsFile}
|
%{appDefaultsFile}
|
||||||
%{_datadir}/applications/emacs*.desktop
|
%{_datadir}/applications/emacs*.desktop
|
||||||
|
Loading…
x
Reference in New Issue
Block a user