File firetools-linphone-desktop.spec of Package firetools-linphone-desktop
%global __brp_check_rpaths %{nil}
%if 0%{?fedora_version}
%global debug_package %{nil}
%endif
%define THISMONTHSHORT %(LC_TIME='en_US.UTF-8' date +%%b)
%define THISMONTHLONG %(LC_TIME='en_US.UTF-8' date +%%B)
%define THISYEAR %(date +%%Y)
%define DAYNUMBER %(LC_TIME='en_US.UTF-8' date +%%d)
%define DAYNAMESHORT %(LC_TIME='en_US.UTF-8' date +%%a)
#today format: Mon Jan 1 2024
%define today %{DAYNAMESHORT} %{THISMONTHSHORT} %{DAYNUMBER} %{THISYEAR}
#TODO: add manpage if missing
#manpage_date format: January 2024
%define manpage_date "%{THISMONTHLONG} %{THISYEAR}"
%define packager Kimi
%define packager_lowercase %(echo %{packager} | tr '[:upper:]' '[:lower:]')
%define packagerEmail noreply@nodomain.org
%define numberOfProcessorsOnMachine %(nproc)
%define wantedJobs %(echo "1.1*%{numberOfProcessorsOnMachine}" | bc -l)
%define jobsIget %(echo %{wantedJobs} | awk '{print int(\$1+0.5)}')
%define executable linphone
Name: firetools-linphone-desktop
Version: 0.0.0
Release: 0
Summary: firetools add linphone to uiapps
License: GPL-3.0-or-later
Group: Devel
URL: https://to.be.def
Source: dummy.tar.xz
BuildRequires: bc
%if 0%{?fedora_version}
BuildRequires: procps-ng
%endif
%if 0%{?suse_version}
BuildRequires: procps
# OBS Build Service "have choice" that is not picked up from Project Config
# https://build.opensuse.org/projects/home:kimi:linphone-desktop/prjconf
BuildRequires: libz1
%endif
Provides: firetools-linphone-desktop = %{version}-%{release}
Obsoletes: firetools-linphone-desktop < %{version}-%{release}
Recommends: firetools >= 0.9.72
%description
Firetools adjustment:
- add linphone app to uiapps
%prep
#%%autosetup -p1
%build
echo "--- Listing rpmbuild variables ---"
echo %%_prefix=%{_prefix}
echo %%_exec_prefix=%{_exec_prefix}
echo %%_bindir=%{_bindir}
echo %%_sbindir=%{_sbindir}
echo %%_libexecdir=%{_libexecdir}
echo %%_datadir=%{_datadir}
echo %%_sysconfdir=%{_sysconfdir}
echo %%_sharedstatedir=%{_sharedstatedir}
echo %%_localstatedir=%{_localstatedir}
echo %%_libdir=%{_libdir}
echo %%_includedir=%{_includedir}
echo %%_oldincludedir==%{_oldincludedir}
echo %%_infodir=%{_infodir}
echo %%_mandir=%{_mandir}
echo %%buildroot=%{buildroot}
echo %%_topdir=%{_topdir}
echo %%_builddir=%{_builddir}
echo %%_rpmdir=%{_rpmdir}
echo %%_sourcedir=%{_sourcedir}
echo %%_specdir=%{_specdir}
echo %%_srcrpmdir=%{_srcrpmdir}
echo %%_buildrootdir=%{_buildrootdir}
echo %%sourcefile=%{sourcefile}
echo %%source_root_directory=%{source_root_directory}
echo "--- Ported variables ---"
echo %%{builddir}=%{builddir}
echo %%{_builddir}=%{_builddir}
echo %%{_srcdir}=%{_srcdir}
echo %%{sourcedir}=%{sourcedir}
echo %%{_sourcedir}=%{_sourcedir}
echo numberOfProcessorsOnMachine=%{numberOfProcessorsOnMachine}
echo wantedJobs=%{wantedJobs}
echo jobsIget=%{jobsIget}
echo 0%%{?fedora}=0%{?fedora}
echo 0%%{?fedora_version}=0%{?fedora_version}
echo 0%%{?rhel_version}=0%{?rhel_version}
echo 0%%{?centos_version}=0%{?centos_version}
echo 0%%{?openeuler_version}=0%{?openeuler_version}
echo 0%%{?sle_version}=0%{?sle_version}
echo 0%%{?is_opensuse}=0%{?is_opensuse}
echo %%{dist}=%{dist}
echo "--- End ported variables ---"
TOP_DIR=$(pwd)
echo "TOP_DIR=$TOP_DIR"
ls -al
%install
echo HOME=$HOME
ls -al $HOME 2>/dev/null
echo %%{_sourcedir}=%{_sourcedir}
ls -al %{_sourcedir} 2>/dev/null
srcdir=%{_sourcedir}
pkgdir_head=%{buildroot}
pkgdir=%{buildroot}
mkdir -pv "%{buildroot}/usr/local/bin"
# Create a script to add linphone app to firetools uiapps
# Create script in /usr/local/bin/firetools-linphone-add
scriptFile="${pkgdir}/usr/local/bin/firetools-linphone-add"
uiappsFile="\$HOME/.config/firetools/uiapps"
echo "#!/usr/bin/bash" > $scriptFile
echo >> $scriptFile
echo "if [ ! -f \"${uiappsFile}\" ]; then" >> $scriptFile
echo "cat <<EOF > \"${uiappsFile}\"" >> $scriptFile
echo "# Program list for Firetools" >> $scriptFile
echo "#" >> $scriptFile
echo "# Each line defines an application, with semicolons separated fields as follows:" >> $scriptFile
echo "#" >> $scriptFile
echo "# executable; description; icon; (optional) command for starting Firejail" >> $scriptFile
echo "#" >> $scriptFile
echo "# Examples:" >> $scriptFile
echo "#" >> $scriptFile
echo "# inkscape;Inkscape SVG Editor;inkscape" >> $scriptFile
echo "# calibre;Calibre eBook Reader;/usr/share/calibre/images/lt.png" >> $scriptFile
echo "#" >> $scriptFile
echo "# Lines starting in # are comments." >> $scriptFile
echo "#" >> $scriptFile
echo >> $scriptFile
echo "# Missing Firetools apps" >> $scriptFile
echo >> $scriptFile
echo "EOF" >> $scriptFile
echo "else" >> $scriptFile
echo "echo \"\\\"${uiappsFile}\\\" exists\"" >> $scriptFile
echo "fi" >> $scriptFile
echo "echo \"linphone;Linphone;linphone\" >> \"${uiappsFile}\"" >> $scriptFile
echo "echo \"/opt/appimages/linphone.AppImage;Linphone AppImage;linphone-appimage;firejail --appimage --profile=/etc/firejail/linphone.profile /opt/appimages/linphone.AppImage\" >> \"${uiappsFile}\"" >> $scriptFile
echo "echo \"/opt/linphone/linphone-launcher;Linphone /opt/linphone/linphone-launcher;linphone-desktop;firejail --profile=/etc/firejail/linphone.profile /opt/linphone/linphone-launcher\" >> \"${uiappsFile}\"" >> $scriptFile
echo >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"cat \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "cat \"${uiappsFile}\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"added linphone to Firetools apps to \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"if you wish to remove \\\"${uiappsFile}\\\" copy and paste the following command followed by pressing ENTER:\"" >> $scriptFile
echo "echo \" rm -f \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"if you wish to edit \\\"${uiappsFile}\\\" copy and paste the following command followed by pressing ENTER:\"" >> $scriptFile
echo "echo \" xdg-open \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"Done.\"" >> $scriptFile
echo "exit 0" >> $scriptFile
# Make script executable
chmod +x "$scriptFile"
echo "--- List files that will be packaged ---"
find %{buildroot} | sed "s|%{buildroot}||g"
echo "--- End list files that will be packaged ---"
%post -n %{name} -p /sbin/ldconfig
%postun -n %{name} -p /sbin/ldconfig
%files
/usr
%changelog
* %{today} %{packager} <%{packagerEmail}> - %{version}
- New release.