gnome-initial-setup/gnome-initial-setup.spec

282 lines
9.4 KiB
RPMSpec
Raw Normal View History

2017-03-14 00:05:35 +00:00
%global nm_version 1.2
%global nma_version 1.0
2020-03-06 14:32:54 +00:00
%global glib_required_version 2.63.1
2022-08-08 19:08:17 +00:00
%global gtk_required_version 4.6
2016-09-13 18:11:57 +00:00
%global geoclue_version 2.3.1
2023-08-28 21:45:59 +00:00
%global gnome_desktop_version 44.0-7
2016-09-03 18:42:21 +00:00
2021-02-17 23:23:44 +00:00
%global tarball_version %%(echo %{version} | tr '~' '.')
2024-01-17 18:36:39 +00:00
%if 0%{?rhel}
%bcond_with webkitgtk
%else
%bcond_without webkitgtk
%endif
2012-09-26 17:20:43 +00:00
Name: gnome-initial-setup
2024-01-17 18:36:39 +00:00
Version: 46.alpha
Release: 10%{?dist}.alma.1
2012-09-26 17:20:43 +00:00
Summary: Bootstrapping your OS
2023-02-15 21:30:46 +00:00
License: GPL-2.0-or-later
2016-09-03 18:49:56 +00:00
URL: https://wiki.gnome.org/Design/OS/InitialSetup
2024-01-17 20:22:59 +00:00
Source0: https://download.gnome.org/sources/%{name}/46/%{name}-%{tarball_version}.tar.xz
Source1: vendor.conf
2013-01-11 19:57:43 +00:00
# https://gitlab.gnome.org/GNOME/gnome-initial-setup/-/merge_requests/200
Patch: live-user-mode.patch
%if 0%{!?almalinux}
# Downstream branding
Patch: 0001-RHEL10-style-illustrations.patch
%endif
2012-09-26 17:20:43 +00:00
BuildRequires: desktop-file-utils
2022-04-21 07:40:11 +00:00
BuildRequires: gcc
BuildRequires: meson
2012-09-26 17:20:43 +00:00
BuildRequires: pkgconfig(accountsservice)
2014-02-19 20:58:13 +00:00
BuildRequires: pkgconfig(fontconfig)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(gdm)
BuildRequires: pkgconfig(geocode-glib-2.0)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(gio-2.0) >= %{glib_required_version}
BuildRequires: pkgconfig(gio-unix-2.0) >= %{glib_required_version}
BuildRequires: pkgconfig(glib-2.0) >= %{glib_required_version}
2022-04-21 07:40:11 +00:00
BuildRequires: pkgconfig(gnome-desktop-4)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(gsettings-desktop-schemas)
BuildRequires: pkgconfig(gstreamer-1.0)
BuildRequires: pkgconfig(gtk4) >= %{gtk_required_version}
2022-04-21 07:40:11 +00:00
BuildRequires: pkgconfig(gweather4)
BuildRequires: pkgconfig(ibus-1.0)
2012-09-26 17:20:43 +00:00
BuildRequires: pkgconfig(iso-codes)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(json-glib-1.0)
2022-04-21 07:40:11 +00:00
BuildRequires: pkgconfig(krb5)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(libadwaita-1)
2016-09-13 18:11:57 +00:00
BuildRequires: pkgconfig(libgeoclue-2.0) >= %{geoclue_version}
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(libnma-gtk4) >= %{nma_version}
2022-04-21 07:40:11 +00:00
BuildRequires: pkgconfig(libnm) >= %{nm_version}
BuildRequires: pkgconfig(libsecret-1)
2016-09-03 18:49:18 +00:00
BuildRequires: pkgconfig(packagekit-glib2)
2022-08-08 19:08:17 +00:00
BuildRequires: pkgconfig(pango)
2022-04-21 07:40:11 +00:00
BuildRequires: pkgconfig(polkit-gobject-1)
BuildRequires: pkgconfig(pwquality)
BuildRequires: pkgconfig(rest-1.0)
2024-01-17 18:36:39 +00:00
%if %{with webkitgtk}
2022-12-06 14:14:09 +00:00
BuildRequires: pkgconfig(webkitgtk-6.0)
2024-01-17 18:36:39 +00:00
%endif
2012-09-26 17:20:43 +00:00
# gnome-initial-setup is being run by gdm
Requires: gdm
2016-09-13 18:11:57 +00:00
Requires: geoclue2-libs%{?_isa} >= %{geoclue_version}
2017-06-25 15:42:29 +00:00
Requires: glib2%{?_isa} >= %{glib_required_version}
2023-08-26 11:00:39 +00:00
Requires: gnome-desktop4%{?_isa} >= %{gnome_desktop_version}
2013-06-07 11:48:46 +00:00
# we install a rules file
Requires: polkit-js-engine
Requires: /usr/bin/tecla
2012-09-26 17:20:43 +00:00
Revert "Use upstream sysusers configuration" This reverts commit 8d38ba4971d7739656747fd99cc0228cb7c1d6e5. It doesn't work, because of a chicken-and-egg problem: we need to create the user account in %pre, but the configuration file is obviously not present on the filesystem when %pre runs. This is a fairly well-known gotcha that's been discussed on devel@ a few times, e.g.: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/EXUGSSEMY2MVVGOFZIK4NBMQB5PWWWNG https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/HFAB4HY2J66367V5HR7XSCFGIIV5ZOVY In the second thread, Rathann and zbyszek recommend using tmpfiles.d snippets for this kind of purpose (needing something in /var owned by a user you want to have created by sysusers), but that's a bit more of a complex change, so I think it makes sense to just revert first then maybe attempt that later. This causes a practical problem: on current Rawhide Workstation live the first two steps of g-i-s are repeated on first boot after install. The way we try to avoid this is by having /var/lib/gnome-initial-setup/state copied to the installed system, but because of this problem, /var/lib/gnome-initial-setup is owned by root.root and g-i-s cannot write to it, so the file is not there to be copied. Note I edited the reversion not to add back the line: BuildRequires: gnome-desktop4 >= %{gnome_desktop_version} because it looks like the removal of that line wasn't really a part of this sysusers change. I also added a comment warning that this problem needs to be handled if anyone attempts to convert to sysusers again.
2024-02-07 21:08:47 +00:00
Requires(pre): shadow-utils
Provides: user(%name)
# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval
ExcludeArch: %{ix86}
2012-09-26 17:20:43 +00:00
%description
GNOME Initial Setup is an alternative to firstboot, providing
a good setup experience to welcome you to your system, and walks
you through configuring it. It is integrated with gdm.
%prep
2022-08-08 19:08:17 +00:00
%autosetup -p1 -n %{name}-%{tarball_version}
2012-09-26 17:20:43 +00:00
%build
2024-01-17 18:36:39 +00:00
%meson \
-Dparental_controls=disabled \
%if !%{with webkitgtk}
-Dwebkitgtk=disabled \
%endif
%{nil}
2019-04-04 15:20:06 +00:00
%meson_build
2012-09-26 17:20:43 +00:00
%install
2019-04-04 15:20:06 +00:00
%meson_install
2012-09-26 17:20:43 +00:00
2012-11-27 02:35:01 +00:00
desktop-file-validate %{buildroot}%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
2021-02-17 23:23:44 +00:00
desktop-file-validate %{buildroot}%{_datadir}/applications/gnome-initial-setup.desktop
2012-11-27 02:35:01 +00:00
Revert "Use upstream sysusers configuration" This reverts commit 8d38ba4971d7739656747fd99cc0228cb7c1d6e5. It doesn't work, because of a chicken-and-egg problem: we need to create the user account in %pre, but the configuration file is obviously not present on the filesystem when %pre runs. This is a fairly well-known gotcha that's been discussed on devel@ a few times, e.g.: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/EXUGSSEMY2MVVGOFZIK4NBMQB5PWWWNG https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/HFAB4HY2J66367V5HR7XSCFGIIV5ZOVY In the second thread, Rathann and zbyszek recommend using tmpfiles.d snippets for this kind of purpose (needing something in /var owned by a user you want to have created by sysusers), but that's a bit more of a complex change, so I think it makes sense to just revert first then maybe attempt that later. This causes a practical problem: on current Rawhide Workstation live the first two steps of g-i-s are repeated on first boot after install. The way we try to avoid this is by having /var/lib/gnome-initial-setup/state copied to the installed system, but because of this problem, /var/lib/gnome-initial-setup is owned by root.root and g-i-s cannot write to it, so the file is not there to be copied. Note I edited the reversion not to add back the line: BuildRequires: gnome-desktop4 >= %{gnome_desktop_version} because it looks like the removal of that line wasn't really a part of this sysusers change. I also added a comment warning that this problem needs to be handled if anyone attempts to convert to sysusers again.
2024-02-07 21:08:47 +00:00
mkdir -p %{buildroot}%{_datadir}/gnome-initial-setup
cp %{SOURCE1} %{buildroot}%{_datadir}/gnome-initial-setup/
2012-11-27 02:35:01 +00:00
2012-09-26 17:20:43 +00:00
%find_lang %{name}
2012-11-08 21:26:48 +00:00
%pre
Revert "Use upstream sysusers configuration" This reverts commit 8d38ba4971d7739656747fd99cc0228cb7c1d6e5. It doesn't work, because of a chicken-and-egg problem: we need to create the user account in %pre, but the configuration file is obviously not present on the filesystem when %pre runs. This is a fairly well-known gotcha that's been discussed on devel@ a few times, e.g.: https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/EXUGSSEMY2MVVGOFZIK4NBMQB5PWWWNG https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/HFAB4HY2J66367V5HR7XSCFGIIV5ZOVY In the second thread, Rathann and zbyszek recommend using tmpfiles.d snippets for this kind of purpose (needing something in /var owned by a user you want to have created by sysusers), but that's a bit more of a complex change, so I think it makes sense to just revert first then maybe attempt that later. This causes a practical problem: on current Rawhide Workstation live the first two steps of g-i-s are repeated on first boot after install. The way we try to avoid this is by having /var/lib/gnome-initial-setup/state copied to the installed system, but because of this problem, /var/lib/gnome-initial-setup is owned by root.root and g-i-s cannot write to it, so the file is not there to be copied. Note I edited the reversion not to add back the line: BuildRequires: gnome-desktop4 >= %{gnome_desktop_version} because it looks like the removal of that line wasn't really a part of this sysusers change. I also added a comment warning that this problem needs to be handled if anyone attempts to convert to sysusers again.
2024-02-07 21:08:47 +00:00
# we do not use sysusers yet because we need /var/lib/gnome-initial-setup
# to be owned by the gnome-initial-setup user. please do not convert
# to sysusers without making sure this is handled, maybe by tmpfiles
useradd -rM -d /run/gnome-initial-setup/ -s /sbin/nologin %{name} &>/dev/null || :
2012-11-08 21:26:48 +00:00
2012-09-26 17:20:43 +00:00
%files -f %{name}.lang
%license COPYING
2022-01-12 11:54:09 +00:00
%doc NEWS README.md
%attr(-, gnome-initial-setup, gnome-initial-setup) %dir %{_localstatedir}/lib/gnome-initial-setup
%ghost %{_localstatedir}/gnome-initial-setup/state
2012-09-26 17:20:43 +00:00
%{_libexecdir}/gnome-initial-setup
%{_libexecdir}/gnome-initial-setup-copy-worker
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-copy-worker.desktop
2014-09-16 09:48:38 +00:00
%{_sysconfdir}/xdg/autostart/gnome-initial-setup-first-login.desktop
2021-02-17 23:23:44 +00:00
%{_datadir}/applications/gnome-initial-setup.desktop
%{_datadir}/dconf/profile/gnome-initial-setup
2023-08-07 19:25:53 +00:00
%dir %{_datadir}/gnome-initial-setup
%{_datadir}/gnome-initial-setup/initial-setup-dconf-defaults
%{_datadir}/gnome-initial-setup/vendor.conf
2012-09-26 17:20:43 +00:00
%{_datadir}/gnome-session/sessions/gnome-initial-setup.session
2013-05-06 09:53:43 +00:00
%{_datadir}/gnome-shell/modes/initial-setup.json
2012-11-27 02:35:01 +00:00
%{_datadir}/polkit-1/rules.d/20-gnome-initial-setup.rules
2022-08-08 19:08:17 +00:00
%{_sysusersdir}/gnome-initial-setup.conf
%{_userunitdir}/*
2012-09-26 17:20:43 +00:00
%changelog
* Thu Sep 19 2024 Eduard ABdullin <eabdullin@almalinux.org> - 46.alpha-10.alma.1
- Dont apply the RHEL patch on AlmaLinux
* Tue Aug 20 2024 Tomas Popela <tpopela@redhat.com> - 46.alpha-10
- Use branded illustrations
* Thu Aug 08 2024 Tomas Pelka <tpelka@redhat.com> - 46.alpha-9
- Add gating.yaml via API
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 46.alpha-8
- Bump release for June 2024 mass rebuild
* Wed Feb 07 2024 Adam Williamson <awilliam@redhat.com> - 46.alpha-7
- Revert "Use upstream sysusers configuration"
* Mon Jan 22 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 46.alpha-6
- Update live-user-mode.patch again
* Fri Jan 19 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 46.alpha-5
- Update live-user-mode patch
* Thu Jan 18 2024 David King <amigadave@amigadave.com> - 46.alpha-4
- Use upstream sysusers configuration
* Wed Jan 17 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 46.alpha-3
- ExcludeArch i686
* Wed Jan 17 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 46.alpha-2
- Fix URL
* Wed Jan 17 2024 Michael Catanzaro <mcatanzaro@redhat.com> - 46.alpha-1
- Update to 46.alpha
* Tue Sep 19 2023 Ray Strode <rstrode@redhat.com> - 45.0-3
- Fix failure from bug in back button patch
* Tue Sep 19 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 45.0-2
- Update to 45.0 and refresh live user mode patchset
* Tue Sep 19 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 45.0-1
- Update to 45.0
* Mon Sep 11 2023 Ray Strode <rstrode@redhat.com> - 45~beta-13
- Fix crash in new user mode
* Sat Sep 09 2023 Ray Strode <rstrode@redhat.com> - 45~beta-12
- Add missing patches
* Sat Sep 09 2023 Ray Strode <rstrode@redhat.com> - 45~beta-11
- Select US by default on Russian keyboards
* Fri Sep 08 2023 Ray Strode <rstrode@redhat.com> - 45~beta-10
- drop unused patches
* Fri Sep 08 2023 Ray Strode <rstrode@redhat.com> - 45~beta-9
- Don't let language page proceed until it has committed its changes
* Thu Sep 07 2023 Ray Strode <rstrode@redhat.com> - 45~beta-8
- Fix keyboard page next button that can't be buttoned
* Mon Aug 28 2023 Ray Strode <rstrode@redhat.com> - 45~beta-7
- More keyboard configuration updates
* Sat Aug 26 2023 Ray Strode <rstrode@redhat.com> - 45~beta-6
- Update to use slightly tweaked default input sources api from gnome-
desktop
* Sat Aug 26 2023 Ray Strode <rstrode@redhat.com> - 45~beta-5
- Clean up gnome-desktop requires
* Sat Aug 26 2023 Ray Strode <rstrode@redhat.com> - 45~beta-4
- Add keyboard and input method handling fixes
* Mon Aug 21 2023 Ray Strode <rstrode@redhat.com> - 45~beta-3
- Add liveuser mode and switch vendor.conf to accomodate it
* Mon Aug 07 2023 Kalev Lember <klember@redhat.com> - 45~beta-2
- Sort files list
* Mon Aug 07 2023 Kalev Lember <klember@redhat.com> - 45~beta-1
- Update to 45.beta
- Requiring tecla instead of gkbd-keyboard-display
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 44.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Mar 23 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 44.0-2
- Add patch to stop calling 'fedora-third-party disable'
* Fri Mar 17 2023 David King <amigadave@amigadave.com> - 44.0-1
- Update to 44.0
* Thu Mar 09 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 44~rc-2
- Rebuild for WebKitGTK 2.39.91
* Sat Mar 04 2023 David King <amigadave@amigadave.com> - 44~rc-1
- Update to 44.rc
* Wed Feb 22 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 44~beta-2
- Rebuild for WebKitGTK 2.39.90
* Wed Feb 15 2023 David King <amigadave@amigadave.com> - 44~beta-1
- Update to 44.beta
* Mon Feb 06 2023 David King <amigadave@amigadave.com> - 44~alpha.2-1
- Update to 44.alpha.2
* Wed Feb 01 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 43.1-6
- Rebuild for WebKitGTK 2.39.6/2.39.7
* Sat Jan 21 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 43.1-5
- Build for WebKitGTK 2.39.5
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 43.1-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Tue Dec 06 2022 Michael Catanzaro <mcatanzaro@redhat.com> - 43.1-3
- Fix WebKitGTK build dependency
* Mon Dec 05 2022 Michael Catanzaro <mcatanzaro@redhat.com> - 43.1-2
- Build against webkitgtk-6.0
* Thu Oct 27 2022 David King <amigadave@amigadave.com> - 43.1-1
- Update to 43.1
* Wed Sep 21 2022 Kalev Lember <klember@redhat.com> - 43.0-3
- Fix a few more issues with enterprise login
* Fri Sep 16 2022 Kalev Lember <klember@redhat.com> - 43.0-2
- Fix criticals when setting up enterprise login
* Fri Sep 16 2022 Kalev Lember <klember@redhat.com> - 43.0-1
- Update to 43.0
* Wed Sep 07 2022 Kalev Lember <klember@redhat.com> - 43~rc.1-1
- Update to 43.rc.1
* Tue Sep 06 2022 Kalev Lember <klember@redhat.com> - 43~rc-3
- Backport an upstream patch to fix the enterprise login dialog
* Tue Sep 06 2022 Kalev Lember <klember@redhat.com> - 43~rc-2
- Drop obsolete libhandy dep
* Tue Sep 06 2022 Kalev Lember <klember@redhat.com> - 43~rc-1
- Update to 43.rc