Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
X11:Pantheon:Testing
pantheon-session
gnome-session.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gnome-session.spec of Package pantheon-session
# # spec file for package pantheon-session # # Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via https://bugs.opensuse.org/ # %define wayland 0 Name: pantheon-session Version: 3.36.0 Release: 0 Summary: Session Tools for the Pantheon Desktop License: GPL-2.0-or-later Group: System/GUI/Other URL: https://build.opensuse.org Source0: https://download.gnome.org/sources/gnome-session/3.36/gnome-session-%{version}.tar.xz Source1: pantheon Source2: pantheon.desktop Source99: 099-source-rename.sh Source100: 100-source-cleanup.sh # PATCH-FIX-UPSTREAM gnome-session-better-handle-empty-xdg_session_type.patch bsc#1084756 bgo#794256 yfjiang@suse.com -- solution provided by msrb@suse.com using a more reasonable way to handle gpu acceleration check Patch0: gnome-session-better-handle-empty-xdg_session_type.patch BuildRequires: fdupes BuildRequires: meson BuildRequires: pantheon-settings-daemon BuildRequires: pkgconfig BuildRequires: translation-update-upstream BuildRequires: xsltproc BuildRequires: pkgconfig(dbus-glib-1) >= 0.76 BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(gio-2.0) >= 2.46.0 BuildRequires: pkgconfig(gio-unix-2.0) >= 2.46.0 BuildRequires: pkgconfig(gl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(glib-2.0) >= 2.46.0 BuildRequires: pkgconfig(pantheon-desktop-3.0) >= 3.18.0 BuildRequires: pkgconfig(gtk+-3.0) >= 3.18.0 BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(json-glib-1.0) >= 0.10 BuildRequires: pkgconfig(libsystemd) >= 209 BuildRequires: pkgconfig(sm) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xtrans) #!BuildIgnore: gsettings-desktop-schemas Requires: wingpanel-applications-menu Requires: wingpanel Requires: %{name}-core = %{version} Requires: %{name}-default-session = %{version} Recommends: %{name}-lang Recommends: pantheon-session-settings %description This package provides the basic session tools, like session management functionality, for the Pantheon Desktop. This package is a fork of gnome-session to avoid depending on GNOME with some patches, using the gsettings under org.opensuse.pantheon.wrap.gnome instead of org.gnome, etc. %package default-session Summary: Default session support for the Pantheon Session Manager Group: System/GUI/Other Requires: %{name} = %{version} Requires: pantheon-settings-daemon Requires: gala %description default-session This package contains the definition of the default Pantheon Session. %if 0%{?wayland} %package wayland Summary: Wayland support for the Pantheon Session Manager Group: System/GUI/Other Requires: %{name} = %{version} Requires: pantheon-settings-daemon Requires: xorg-x11-server-wayland %description wayland This package contains the definition of the default Pantheon Session on Wayland. %endif %package core Summary: Minimal version of the Pantheon Session Manager Group: System/GUI/Other Requires: dbus-1-x11 Requires: pantheon-desktop-schemas >= 0.1.7 Requires: hicolor-icon-theme %glib2_gsettings_schema_requires %description core This package contains a minimal version of pantheon-session, that can be used for specific cases. The pantheon-session package is needed for a fully functional Pantheon Desktop. %lang_package %prep %setup -q -n gnome-session-%{version} %patch0 -p1 translation-update-upstream po pantheon-session-3.0 cp %{SOURCE99} %{SOURCE100} .. sh -x ../099-source-rename.sh sh -x ../100-source-cleanup.sh # Change GSD components rm -f $(grep -rwl 'Exec=.*\/gsd' autostart/*) _include=$(rpm -ql --whatprovides pantheon-settings-daemon | grep -o '[^/]*.desktop') # Exclude GSD component _exclude=@@@ _countfile=$(echo "$_include" | wc -l) for _file in $_include; do ((_countfile -- )) ! echo $_file | grep -Ei "${_exclude//,/|}" || continue _components+="${_file%.*};" if [ "$_countfile" -eq 0 ]; then if [ -n "$_components" ]; then sed -e "/RequiredComponents/s/[^=]*$/gala;gala-daemon;${_components}/" \ -i data/gnome.session.desktop.in.in || : fi fi done %build %meson \ -D docbook=false \ -D systemd=true \ -D systemd_journal=true \ -D man=false %{nil} %meson_build %install %meson_install # install startup script and xsession file install -d -m755 %{buildroot}%{_bindir} install -m755 %{SOURCE1} %{buildroot}%{_bindir}/pantheon install -d -m755 %{buildroot}%{_datadir}/xsessions install -m644 %{SOURCE2} %{buildroot}%{_datadir}/xsessions/pantheon.desktop %find_lang %{name}-3.0 %{?no_lang_C} %fdupes %{buildroot}/%{_prefix} %if 0%{?wayland} # remove wayland files on s390/s390x %ifarch s390 s390x rm -fr %{buildroot}%{_datadir}/wayland-sessions %endif %endif # Prepare for 'default.desktop' being update-alternative handled, boo#1039756 mkdir -p %{buildroot}%{_sysconfdir}/alternatives touch %{buildroot}%{_sysconfdir}/alternatives/default-xsession.desktop ln -s %{_sysconfdir}/alternatives/default-xsession.desktop %{buildroot}%{_datadir}/xsessions/default.desktop %if 0%{?wayland} %ifnarch s390 s390x touch %{buildroot}%{_sysconfdir}/alternatives/default-waylandsession.desktop ln -s %{_sysconfdir}/alternatives/default-waylandsession.desktop %{buildroot}%{_datadir}/wayland-sessions/default.desktop %endif %endif %post %{_sbindir}/update-alternatives --install %{_datadir}/xsessions/default.desktop \ default-xsession.desktop %{_datadir}/xsessions/pantheon.desktop 20 %postun [ -f %{_datadir}/xsessions/pantheon.desktop ] || %{_sbindir}/update-alternatives \ --remove default-xsession.desktop %{_datadir}/xsessions/pantheon.desktop %files %{_bindir}/pantheon %{_datadir}/xsessions/default.desktop %{_datadir}/xsessions/pantheon.desktop %{_datadir}/xsessions/pantheon-xorg.desktop %ghost %{_sysconfdir}/alternatives/default-xsession.desktop %if !0%{?wayland} %exclude %{_datadir}/wayland-sessions/pantheon.desktop %endif %files default-session %{_datadir}/pantheon-session/sessions/pantheon.session %{_datadir}/pantheon-session/sessions/pantheon-dummy.session %if 0%{?wayland} %ifnarch s390 s390x %post wayland %{_sbindir}/update-alternatives --install %{_datadir}/wayland-sessions/default.desktop \ default-waylandsession.desktop %{_datadir}/wayland-sessions/pantheon.desktop 20 %postun wayland [ -f %{_datadir}/wayland-sessions/pantheon.desktop ] || %{_sbindir}/update-alternatives \ --remove default-waylandsession.desktop %{_datadir}/wayland-sessions/pantheon.desktop %files wayland %dir %{_datadir}/wayland-sessions %{_datadir}/wayland-sessions/default.desktop %{_datadir}/wayland-sessions/pantheon.desktop %ghost %{_sysconfdir}/alternatives/default-waylandsession.desktop # Disabled as wayland is now the default session again. #{_datadir}/wayland-sessions/pantheon-wayland.desktop %endif %endif %files core %license COPYING %if 0%{?nightly} %config(noreplace) %{_bindir}/pantheon-session %else %{_bindir}/pantheon-session %endif %{_bindir}/pantheon-session-custom-session %{_bindir}/pantheon-session-inhibit %{_bindir}/pantheon-session-quit %{_datadir}/GConf/gsettings/pantheon-session.convert %{_datadir}/glib-2.0/schemas/org.opensuse.pantheon.wrap.gnome.SessionManager.gschema.xml %dir %{_datadir}/pantheon-session %dir %{_datadir}/pantheon-session/sessions %{_libexecdir}/pantheon-session-binary # Helper for the session definitions, to know if hardware is accelerated %{_libexecdir}/pantheon-session-check-accelerated %{_libexecdir}/pantheon-session-check-accelerated-gl-helper %{_libexecdir}/pantheon-session-check-accelerated-gles-helper %{_libexecdir}/pantheon-session-ctl %{_libexecdir}/pantheon-session-failed %{_datadir}/pantheon-session/hardware-compatibility %{_userunitdir}/pantheon-session-failed.service %{_userunitdir}/pantheon-session-failed.target %{_userunitdir}/pantheon-session-initialized.target %{_userunitdir}/pantheon-session-manager.target %{_userunitdir}/pantheon-session-manager@.service %{_userunitdir}/pantheon-session-monitor.service %{_userunitdir}/pantheon-session-pre.target %{_userunitdir}/pantheon-session-restart-dbus.service %{_userunitdir}/pantheon-session-shutdown.target %{_userunitdir}/pantheon-session-signal-init.service %{_userunitdir}/pantheon-session-wayland.target %{_userunitdir}/pantheon-session-wayland@.target %{_userunitdir}/pantheon-session-x11.target %{_userunitdir}/pantheon-session-x11@.target %{_userunitdir}/pantheon-session-x11-services.target %{_userunitdir}/pantheon-session.target %{_userunitdir}/pantheon-session@.target %files lang -f %{name}-3.0.lang %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor