calamares/calamares.spec

288 lines
9.3 KiB
RPMSpec
Raw Normal View History

2017-02-12 00:51:57 +10:00
%define major %{version}
2015-01-13 11:48:20 +01:00
%define libname %mklibname %{name} %{major}
2015-10-20 20:29:08 +10:00
%define libnameui %mklibname %{name}ui %{major}
%define devname %mklibname %{name} -d
2015-01-13 00:08:05 +01:00
Summary: Distribution-independent installer framework
2015-01-12 23:33:43 +01:00
Name: calamares
2017-02-10 21:02:06 +10:00
Version: 3.0.1
Release: 2
2015-01-12 23:33:43 +01:00
License: GPLv3+
2015-10-20 20:29:08 +10:00
Group: System/Configuration/Other
Url: http://calamares.io/
2015-06-27 01:16:46 +02:00
Source0: calamares-%{version}.tar.gz
2015-01-20 20:53:48 +01:00
Source2: calamares.rpmlintrc
Source3: %{name}.service
Source4: %{name}.target
Source5: %{name}-install-start
Source6: %{name}-install-setup
2015-10-20 23:07:42 +10:00
Source7: rosa-bootloader.conf
2015-10-20 21:51:42 +10:00
Source8: rosa-displaymanager.conf
2015-10-20 21:52:30 +10:00
Source9: rosa-finished.conf
2015-10-20 21:49:50 +10:00
Source10: rosa-fstab.conf
2015-10-20 22:51:06 +10:00
Source11: rosa-grubcfg.conf
2015-10-20 22:40:09 +10:00
Source12: rosa-keyboard.conf
2015-10-20 22:43:04 +10:00
Source13: rosa-locale.conf
2015-10-20 21:54:40 +10:00
Source14: rosa-machineid.conf
2015-10-20 21:56:57 +10:00
Source15: rosa-mount.conf
2015-10-20 23:01:49 +10:00
Source16: rosa-packages.conf
2015-10-20 20:40:03 +10:00
Source17: rosa-welcome.conf
2015-10-20 22:46:30 +10:00
Source18: rosa-services.conf
2015-10-20 22:44:50 +10:00
Source19: rosa-settings.conf
2015-10-20 23:14:56 +10:00
Source20: rosa-unpackfs.conf
2015-10-20 20:40:48 +10:00
Source21: rosa-users.conf
2015-10-20 21:49:12 +10:00
Source22: rosa-partition.conf
2015-10-20 20:41:30 +10:00
Source23: rosa-removeuser.conf
2015-10-20 20:38:35 +10:00
Source24: rosa-webview.conf
Source100: rosa-adverts-en.tar.bz2
Source101: rosa-adverts-ru.tar.bz2
Patch0: calamares-3.0.1-desktop-file.patch
Patch1: calamares-libparted-detection.patch
2015-10-20 20:29:08 +10:00
BuildRequires: cmake
BuildRequires: extra-cmake-modules
BuildRequires: boost-devel
BuildRequires: boost-python3-devel
BuildRequires: kf5coreaddons-devel
BuildRequires: kf5config-devel
BuildRequires: kf5i18n-devel
2016-02-25 20:07:33 +10:00
BuildRequires: kf5iconthemes-devel
2016-02-25 20:06:23 +10:00
BuildRequires: kf5kio-devel
2016-02-25 20:05:15 +10:00
BuildRequires: kf5parts-devel
2016-02-25 20:06:55 +10:00
BuildRequires: kf5service-devel
2015-10-20 20:29:08 +10:00
BuildRequires: kf5solid-devel
BuildRequires: kpmcore-devel
2015-10-20 20:29:08 +10:00
BuildRequires: yaml-cpp-devel
BuildRequires: pkgconfig(polkit-qt5-1)
BuildRequires: pkgconfig(python3)
BuildRequires: pkgconfig(blkid)
BuildRequires: pkgconfig(libatasmart)
BuildRequires: pkgconfig(libcrypto)
BuildRequires: pkgconfig(libparted)
2016-05-31 20:40:21 +10:00
BuildRequires: pkgconfig(Qt5Concurrent)
2015-01-12 23:33:43 +01:00
BuildRequires: pkgconfig(Qt5Core)
BuildRequires: pkgconfig(Qt5DBus)
BuildRequires: pkgconfig(Qt5Gui)
2016-05-31 20:40:21 +10:00
BuildRequires: pkgconfig(Qt5Network)
2015-02-27 04:31:23 +04:00
BuildRequires: pkgconfig(Qt5Quick)
2015-02-27 04:39:23 +04:00
BuildRequires: pkgconfig(Qt5QuickWidgets)
2016-05-31 20:40:21 +10:00
BuildRequires: pkgconfig(Qt5Svg)
BuildRequires: pkgconfig(Qt5Test)
BuildRequires: pkgconfig(Qt5Widgets)
BuildRequires: pkgconfig(Qt5WebEngineWidgets)
BuildRequires: pkgconfig(Qt5Xml)
Requires(post): branding-configs-fresh
2015-10-20 20:29:08 +10:00
Requires: console-setup
2015-01-12 23:33:43 +01:00
Requires: coreutils
2015-10-20 20:29:08 +10:00
Requires: dmidecode
Requires: dosfstools
Requires: dracut
Requires: e2fsprogs
Requires: gawk
Requires: gptfdisk
2015-01-12 23:33:43 +01:00
Requires: grub2
%ifarch x86_64
# EFI currently only supported on x86_64
2015-10-20 20:29:08 +10:00
Requires: grub2-efi
2015-01-12 23:33:43 +01:00
%endif
2015-10-20 20:29:08 +10:00
Requires: lvm2
2015-01-12 23:33:43 +01:00
Requires: NetworkManager
Requires: ntfs-3g
2015-10-20 20:29:08 +10:00
# (tpg) needed for calamares-install-setup
Requires: openbox
Requires: os-prober
Requires: partitionmanager
Requires: polkit
2015-01-12 23:33:43 +01:00
Requires: rsync
2015-10-20 20:29:08 +10:00
Requires: setxkbmap
2015-11-25 02:59:16 +10:00
Requires: shadow-utils
2015-02-21 15:18:15 +04:00
Requires: squashfs-tools
2015-10-20 20:29:08 +10:00
Requires: systemd
Requires: systemd-units
Requires: urpmi
Requires: util-linux
Requires: xkbcomp
Requires: xli
2015-01-12 23:33:43 +01:00
ExclusiveArch: %{ix86} x86_64
%description
2015-10-20 20:29:08 +10:00
Calamares is a distribution-independent installer framework, designed to
install from a live CD/DVD/USB environment to a hard disk. It includes
a graphical installation program based on Qt 5.
%files
%doc LICENSE AUTHORS
%dir %{_sysconfdir}/systemd/system/calamares.target.wants
%dir %{_libdir}/calamares
%dir %{_datadir}/calamares
%dir %{_datadir}/calamares/branding
%dir %{_datadir}/calamares/branding/default
%dir %{_sysconfdir}/calamares
%dir %{_sysconfdir}/calamares/modules
%dir %{_sysconfdir}/calamares/branding
%dir %{_sysconfdir}/calamares/branding/auto
%dir %{_datadir}/calamares/qml
%dir %{_datadir}/calamares/qml/calamares
%dir %{_datadir}/calamares/qml/calamares/slideshow
%{_presetdir}/90-%{name}.preset
%{_sysconfdir}/systemd/system/calamares.target.wants/%{name}.service
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.target
%{_sbindir}/%{name}-install-start
%{_sbindir}/%{name}-install-setup
%{_bindir}/calamares
%{_datadir}/calamares/settings.conf
%{_datadir}/calamares/branding/default/*
%{_datadir}/calamares/modules/
%{_datadir}/calamares/qml/calamares/slideshow/*.qml
%{_datadir}/calamares/qml/calamares/slideshow/qmldir
%{_datadir}/applications/calamares.desktop
%{_datadir}/polkit-1/actions/com.github.calamares.calamares.policy
%{_iconsdir}/hicolor/*/apps/%{name}.*
2015-10-20 20:29:08 +10:00
%{_sysconfdir}/calamares/*.conf
%{_sysconfdir}/calamares/modules/*.conf
%{_libdir}/calamares/*
%ghost %{_sysconfdir}/calamares/branding/auto/branding.desc
%{_sysconfdir}/calamares/branding/auto/*.qml
%{_sysconfdir}/calamares/branding/auto/*.png
%post
# generate the "auto" branding
. %{_sysconfdir}/os-release
cat >%{_sysconfdir}/calamares/branding/auto/branding.desc <<EOF
# THIS FILE IS AUTOMATICALLY GENERATED! ANY CHANGES TO THIS FILE WILL BE LOST!
---
componentName: auto
strings:
productName: "$NAME"
shortProductName: "$NAME"
version: "$VERSION"
shortVersion: "$VERSION"
versionedName: "$NAME $VERSION"
shortVersionedName: "$NAME $VERSION"
bootloaderEntryName: "ROSA Desktop Fresh"
2015-10-20 20:29:08 +10:00
productUrl: "$HOME_URL"
supportUrl: "$BUG_REPORT_URL"
knownIssuesUrl: "http://wiki.rosalab.ru/ru/index.php/Errata_ROSA_Desktop_R6"
releaseNotesUrl: "http://wiki.rosalab.ru/ru/index.php/ROSA_Desktop_Fresh_R6"
2015-10-20 20:29:08 +10:00
images:
productLogo: "%{_datadir}/calamares/branding/default/squid.png"
productIcon: "%{_datadir}/calamares/branding/default/squid.png"
2015-10-20 20:29:08 +10:00
slideshow: "rosa-ads.qml"
2015-10-20 20:29:08 +10:00
style:
sidebarBackground: "#263039"
sidebarText: "#FFFFFF"
sidebarTextSelect: "#292F34"
EOF
#----------------------------------------------------------------------------
2015-01-12 23:33:43 +01:00
2015-01-13 00:08:05 +01:00
%package -n %{libname}
2015-10-20 20:29:08 +10:00
Summary: Shared library for Calamares
2015-01-13 00:08:05 +01:00
Group: System/Libraries
2015-01-12 23:33:43 +01:00
2015-01-13 00:08:05 +01:00
%description -n %{libname}
2015-10-20 20:29:08 +10:00
Shared library for Calamares.
%files -n %{libname}
%{_libdir}/libcalamares.so.%{major}
2015-10-20 20:29:08 +10:00
#----------------------------------------------------------------------------
%package -n %{libnameui}
Summary: Shared library for Calamares
Group: System/Libraries
%description -n %{libnameui}
Shared library for Calamares.
%files -n %{libnameui}
%{_libdir}/libcalamaresui.so.%{major}
2015-01-12 23:33:43 +01:00
2015-10-20 20:29:08 +10:00
#----------------------------------------------------------------------------
2015-01-12 23:33:43 +01:00
2015-10-20 20:29:08 +10:00
%package -n %{devname}
Summary: Development files for Calamares
Group: Development/C
2015-01-13 00:08:05 +01:00
Requires: %{libname} = %{EVRD}
2015-10-20 20:29:08 +10:00
Requires: %{libnameui} = %{EVRD}
Provides: %{name}-devel = %{EVRD}
2015-01-12 23:33:43 +01:00
2015-10-20 20:29:08 +10:00
%description -n %{devname}
Development files and headers for Calamares.
2015-01-12 23:33:43 +01:00
2015-10-20 20:29:08 +10:00
%files -n %{devname}
%dir %{_includedir}/libcalamares
%dir %{_libdir}/cmake/Calamares
%{_includedir}/libcalamares/*
%{_libdir}/libcalamares.so
%{_libdir}/libcalamaresui.so
%{_libdir}/cmake/Calamares/*
2015-08-01 12:35:32 +02:00
2015-10-20 20:29:08 +10:00
#----------------------------------------------------------------------------
2015-08-01 12:35:32 +02:00
2015-10-20 20:29:08 +10:00
%prep
%setup -q
2015-11-28 03:09:58 +10:00
%patch0 -p1
%patch1 -p1
2015-01-12 23:33:43 +01:00
#delete backup files
rm -f src/modules/*/*.conf.default-settings
%build
2015-10-20 20:29:08 +10:00
%cmake_qt5 \
2015-11-26 03:22:30 +10:00
-DWITH_PARTITIONMANAGER:BOOL=ON \
2015-10-20 20:29:08 +10:00
-DWITH_PYTHON:BOOL=ON
2015-01-12 23:33:43 +01:00
%make
%install
2015-01-13 13:57:49 +04:00
%makeinstall_std -C build
2015-01-12 23:33:43 +01:00
#own the local settings directories
mkdir -p %{buildroot}%{_sysconfdir}/calamares/modules
mkdir -p %{buildroot}%{_sysconfdir}/calamares/branding/auto
2015-02-03 16:48:23 +01:00
touch %{buildroot}%{_sysconfdir}/calamares/branding/auto/branding.desc
# (tpg) settings specific for OMV
install -m 644 %{SOURCE7} %{buildroot}%{_sysconfdir}/calamares/modules/bootloader.conf
install -m 644 %{SOURCE8} %{buildroot}%{_sysconfdir}/calamares/modules/displaymanager.conf
install -m 644 %{SOURCE9} %{buildroot}%{_sysconfdir}/calamares/modules/finished.conf
install -m 644 %{SOURCE10} %{buildroot}%{_sysconfdir}/calamares/modules/fstab.conf
install -m 644 %{SOURCE11} %{buildroot}%{_sysconfdir}/calamares/modules/grubcfg.conf
install -m 644 %{SOURCE12} %{buildroot}%{_sysconfdir}/calamares/modules/keyboard.conf
install -m 644 %{SOURCE13} %{buildroot}%{_sysconfdir}/calamares/modules/locale.conf
install -m 644 %{SOURCE14} %{buildroot}%{_sysconfdir}/calamares/modules/machineid.conf
install -m 644 %{SOURCE15} %{buildroot}%{_sysconfdir}/calamares/modules/mount.conf
install -m 644 %{SOURCE16} %{buildroot}%{_sysconfdir}/calamares/modules/packages.conf
2015-06-06 16:15:07 +02:00
install -m 644 %{SOURCE17} %{buildroot}%{_sysconfdir}/calamares/modules/welcome.conf
install -m 644 %{SOURCE18} %{buildroot}%{_sysconfdir}/calamares/modules/services.conf
install -m 644 %{SOURCE19} %{buildroot}%{_sysconfdir}/calamares/settings.conf
install -m 644 %{SOURCE20} %{buildroot}%{_sysconfdir}/calamares/modules/unpackfs.conf
install -m 644 %{SOURCE21} %{buildroot}%{_sysconfdir}/calamares/modules/users.conf
install -m 644 %{SOURCE22} %{buildroot}%{_sysconfdir}/calamares/modules/partition.conf
install -m 644 %{SOURCE23} %{buildroot}%{_sysconfdir}/calamares/modules/removeuser.conf
2015-09-30 02:14:25 +02:00
install -m 644 %{SOURCE24} %{buildroot}%{_sysconfdir}/calamares/modules/webview.conf
2015-01-12 23:33:43 +01:00
# (tpg) service files
mkdir -p %{buildroot}{%{_unitdir},%{_sbindir},%{_sysconfdir}/systemd/system/calamares.target.wants}
install -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service
2015-04-18 23:41:22 +02:00
install -m 644 %{SOURCE4} %{buildroot}%{_unitdir}/%{name}.target
install -m 755 %{SOURCE5} %{buildroot}%{_sbindir}/%{name}-install-start
install -m 744 %{SOURCE6} %{buildroot}%{_sbindir}/%{name}-install-setup
ln -sf %{_unitdir}/%{name}.service %{buildroot}%{_sysconfdir}/systemd/system/calamares.target.wants/%{name}.service
install -d %{buildroot}%{_presetdir}
cat > %{buildroot}%{_presetdir}/90-%{name}.preset << EOF
enable %{name}.service
EOF
# (tpg) install adverts and slideshow
tar xf %{SOURCE100} -C %{buildroot}%{_sysconfdir}/calamares/branding/auto