diff --git a/calamares-3.3.7.tar.gz b/calamares-3.3.7.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..208319c48d3ace75db94ff296dd4aeca3a885e0c Binary files /dev/null and b/calamares-3.3.7.tar.gz differ diff --git a/calamares-auto_de.ts b/calamares-auto_de.ts new file mode 100644 index 0000000000000000000000000000000000000000..671ec2913ca059e993535ba81dc8e87544e2a4b5 --- /dev/null +++ b/calamares-auto_de.ts @@ -0,0 +1,12 @@ + + + + + show + + + This installer is powered by Calamares, the cross-distribution installer framework. + Dieses Installationsprogramm beruht auf Calamares, dem distributionsunabhängigen Baukasten für Installationsprogramme. + + + diff --git a/calamares-auto_fr.ts b/calamares-auto_fr.ts new file mode 100644 index 0000000000000000000000000000000000000000..e5aa5916cca83e41a07917f8f7640076b1e75125 --- /dev/null +++ b/calamares-auto_fr.ts @@ -0,0 +1,11 @@ + + + + + show + + This installer is powered by Calamares, the cross-distribution installer framework. + Cet installeur tourne avec Calamares, la boîte d'outils pour installeurs toutes distributions. + + + diff --git a/calamares-auto_it.ts b/calamares-auto_it.ts new file mode 100644 index 0000000000000000000000000000000000000000..e08addf3c2b27ffd218baf01e672d7301a6599e6 --- /dev/null +++ b/calamares-auto_it.ts @@ -0,0 +1,12 @@ + + + + + show + + + This installer is powered by Calamares, the cross-distribution installer framework. + Questo programma d'installazione si basa su Calamares, il framework per programmi d'installazione indipendente dalla distribuzione. + + + diff --git a/calamares.service b/calamares.service new file mode 100644 index 0000000000000000000000000000000000000000..295785dc21db877c8a531456c55b7da28a81df88 --- /dev/null +++ b/calamares.service @@ -0,0 +1,13 @@ +[Unit] +Description=Calamares System Installer +Wants=basic.target +After=basic.target + +[Service] +Type=simple +ExecStartPre=/sbin/multipath -F +ExecStart=/usr/bin/calamares -platform linuxfb -style fusion +Restart=on-abort + +[Install] +WantedBy=multi-user.target diff --git a/calamares.spec b/calamares.spec new file mode 100644 index 0000000000000000000000000000000000000000..fac2ec9ccd996412dd68d2b48842c051a9829bcc --- /dev/null +++ b/calamares.spec @@ -0,0 +1,254 @@ +%global __cmake_builddir %{!?__cmake_in_source_build:%{_vpath_builddir}}%{?__cmake_in_source_build:.} + +Name: calamares +Version: 3.3.7 +Release: 1 +Summary: Installer from a live CD/DVD/USB to disk + +License: GPL-3.0-or-later +URL: https://calamares.io/ +Source0: calamares-3.3.7.tar.gz +Source2: show.qml +# Run: +# lupdate-qt6 show.qml -ts calamares-auto_fr.ts +# then translate the template in linguist-qt6. +Source3: calamares-auto_fr.ts +# Run: +# lupdate-qt6 show.qml -ts calamares-auto_de.ts +# then translate the template in linguist-qt6. +Source4: calamares-auto_de.ts +# Run: +# lupdate-qt6 show.qml -ts calamares-auto_it.ts +# then translate the template in linguist-qt6. +Source5: calamares-auto_it.ts +Source6: calamares.service +# Backports from upstream + + +# Calamares is only supported where live images (and GRUB) are. (#1171380) +# This list matches the arches where grub2-efi is used to boot the system +ExclusiveArch: %{ix86} x86_64 aarch64 riscv64 + +# Macros +BuildRequires: git-core +BuildRequires: kf5-rpm-macros + +# Compilation tools +BuildRequires: cmake >= 3.16 +BuildRequires: extra-cmake-modules +BuildRequires: extra-cmake-modules +BuildRequires: gcc-c++ >= 9.0.0 +BuildRequires: pkgconfig +BuildRequires: make +## +### Other build-time tools +BuildRequires: desktop-file-utils +BuildRequires: gettext +## +### Qt 5 +BuildRequires: cmake(Qt5Concurrent) +BuildRequires: cmake(Qt5Core) +BuildRequires: cmake(Qt5DBus) +BuildRequires: cmake(Qt5Gui) +BuildRequires: cmake(Qt5LinguistTools) +BuildRequires: cmake(Qt5Network) +BuildRequires: cmake(Qt5Svg) +BuildRequires: cmake(Qt5Widgets) +BuildRequires: cmake(Qt5Quick) +BuildRequires: cmake(Qt5QuickWidgets) +BuildRequires: polkit-qt5-1-devel +## +### KF5 +BuildRequires: cmake(KF5CoreAddons) +BuildRequires: cmake(KF5Config) +BuildRequires: cmake(KF5Crash) +BuildRequires: cmake(KF5DBusAddons) +BuildRequires: cmake(KF5I18n) +BuildRequires: cmake(KF5Package) +BuildRequires: cmake(KF5Parts) +BuildRequires: cmake(KF5Service) +BuildRequires: cmake(KF5WidgetsAddons) +## +### Plasma +#BuildRequires: cmake(Plasma) +## +### KPMcore +BuildRequires: cmake(KPMcore) >= 4.2.0 +## +### Python 3 +BuildRequires: python3-devel >= 3.3 +BuildRequires: python3-jsonschema +BuildRequires: python3-pyyaml +BuildRequires: boost-devel >= 1.55.0 +##%global __python %{__python3} +## +### Other libraries +BuildRequires: cmake(AppStreamQt) +BuildRequires: libpwquality-devel +BuildRequires: libxcrypt-devel +BuildRequires: parted-devel +BuildRequires: yaml-cpp-devel >= 0.5.1 + +# for automatic branding setup +Requires(post): system-release +Requires(post): system-logos +Requires: system-logos + +Requires: python3-devel +Requires: boost-devel +Requires: coreutils +Requires: util-linux +Requires: upower +Requires: NetworkManager +Requires: dracut +Requires: grub2 +%ifarch x86_64 aarch64 riscv64 +%ifarch x86_64 +# For x86 systems +Requires: grub2-efi-x64 +Recommends: grub2-efi-ia32 +%else +# For all non-x86 arches +Requires: grub2-efi +%endif +Requires: efibootmgr +%endif +Requires: console-setup +Requires: setxkbmap +Requires: os-prober +Requires: e2fsprogs +Requires: dosfstools +Requires: ntfsprogs +Requires: gawk +Requires: systemd +Requires: rsync +Requires: shadow-utils +Requires: dnf +Requires: kdesu +Requires: hicolor-icon-theme + +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +# webview module is no longer available +Obsoletes: %{name}-webview < 3.0.0~ + + +%description +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 6. This package includes the Calamares +framework and the required configuration files to produce a working replacement +for Anaconda's liveinst. + + +%package libs +Summary: Calamares runtime libraries +Requires: %{name} = %{version}-%{release} + +%description libs +%{summary}. + + +%package interactiveterminal +Summary: Calamares interactiveterminal module +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description interactiveterminal +Optional interactiveterminal module for the Calamares installer, based on the +KonsolePart (from Konsole 6) + + +%package plasmalnf +Summary: Calamares plasmalnf module +Requires: %{name} = %{version}-%{release} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} + +%description plasmalnf +Optional plasmalnf module for the Calamares installer, based on the KDE Plasma +Desktop Workspace and its KDE Frameworks (KConfig, KPackage, Plasma) + + +%package devel +Summary: Development files for %{name} +Requires: %{name}-libs%{?_isa} = %{version}-%{release} +Requires: cmake + +%description devel +The %{name}-devel package contains libraries and header files for +developing custom modules for Calamares. + + +%prep +%autosetup + +%build +mkdir build +cd build +cmake .. -DINSTALL_CONFIG=ON +make -j 2 + +%install +cd build +%make_install + +# create the auto branding directory +mkdir -p %{buildroot}%{_datadir}/calamares/branding/auto +touch %{buildroot}%{_datadir}/calamares/branding/auto/branding.desc +install -p -m 644 %{SOURCE2} %{buildroot}%{_datadir}/calamares/branding/auto/show.qml +mkdir -p %{buildroot}%{_datadir}/calamares/branding/auto/lang +lrelease-qt5 %{SOURCE3} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_fr.qm +lrelease-qt5 %{SOURCE4} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_de.qm +lrelease-qt5 %{SOURCE5} -qm %{buildroot}%{_datadir}/calamares/branding/auto/lang/calamares-auto_it.qm +# own the local settings directories +mkdir -p %{buildroot}%{_sysconfdir}/calamares/modules +mkdir -p %{buildroot}%{_sysconfdir}/calamares/branding +# delete dummypythonqt translations, we do not use PythonQt at this time +rm -f %{buildroot}%{_datadir}/locale/*/LC_MESSAGES/calamares-dummypythonqt.mo +%find_lang calamares-python +mkdir -p %{buildroot}%{_sysconfdir}/systemd/system +install -p -m 644 %{SOURCE6} %{buildroot}%{_sysconfdir}/systemd/system/calamares.service + +%files +%doc AUTHORS +%license LICENSES/* +%{_bindir}/calamares +%{_datadir}/bash-completion/completions/calamares +%dir %{_datadir}/calamares/ +%{_datadir}/calamares/settings.conf +%dir %{_datadir}/calamares/branding/ +%{_datadir}/calamares/branding/default/ +%dir %{_datadir}/calamares/branding/auto/ +%ghost %{_datadir}/calamares/branding/auto/branding.desc +%{_datadir}/calamares/branding/auto/show.qml +%{_datadir}/calamares/branding/auto/lang/ +%{_datadir}/calamares/modules/ +%exclude %{_datadir}/calamares/modules/interactiveterminal.conf +%{_datadir}/calamares/qml/ +%{_datadir}/applications/calamares.desktop +%{_datadir}/icons/hicolor/scalable/apps/calamares.svg +%{_mandir}/man8/calamares.8* +%{_sysconfdir}/calamares/ +%{_datadir}/locale/ +%{_datadir}/polkit-1/ +%{_sysconfdir}/systemd/system/calamares.service + +%files libs +%{_libdir}/libcalamares.so.* +%{_libdir}/libcalamaresui.so.* +%{_libdir}/calamares/ +%exclude %{_libdir}/calamares/modules/interactiveterminal/ + +%files interactiveterminal +%{_datadir}/calamares/modules/interactiveterminal.conf +%{_libdir}/calamares/modules/interactiveterminal/ + +%files devel +%{_includedir}/libcalamares/ +%{_libdir}/libcalamares.so +%{_libdir}/libcalamaresui.so +%{_libdir}/cmake/Calamares/ + + +%changelog +* Wed Oct 9 2024 Li Ping - 3.3.7-1 +- Initial package diff --git a/show.qml b/show.qml new file mode 100644 index 0000000000000000000000000000000000000000..d71dfafefaf0fa5a80dcf621c437a60936f18830 --- /dev/null +++ b/show.qml @@ -0,0 +1,45 @@ +/* === This file is part of Calamares - === + * + * Copyright 2015, Teo Mrnjavac + * Copyright 2015, Kevin Kofler + * + * Calamares is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * Calamares is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with Calamares. If not, see . + */ + +import QtQuick 2.0; +import calamares.slideshow 1.0; + +Presentation +{ + Slide { + Image { + id: background + source: "/usr/share/calamares/branding/default/squid.png" + width: 200; height: 200 + fillMode: Image.PreserveAspectFit + anchors.centerIn: parent + } + + Text { + anchors.horizontalCenter: background.horizontalCenter + anchors.top: background.bottom + text: qsTr("This installer is powered by Calamares, the cross-distribution installer framework.") + + "
https://calamares.io/" + wrapMode: Text.WordWrap + width: root.width + horizontalAlignment: Text.Center + onLinkActivated: Qt.openUrlExternally(link) + } + } +}