File firetools-add-missing-apps.spec of Package firetools-add-missing-apps

%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
%define _uploaddir %{_sourcedir}
Name:           firetools-add-missing-apps
Version:        0.0.0
Release:        0
Summary:        firetools uiapps adjustments
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-add-missing-apps = %{version}-%{release}
Obsoletes:      firetools-add-missing-apps < %{version}-%{release}
Recommends:     firetools >= 0.9.72

%description
Firetools adjustments:
- add missing apps to uiapps
- reset 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 %%{_uploaddir}=%{_uploaddir}
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}
# Create a script to allow firejail openGL
# Create script in /usr/local/bin/firejail-linphone-allow-opengl
mkdir -pv "%{buildroot}/usr/local/bin"
scriptFile="${pkgdir}/usr/local/bin/firetools-add-missing-apps"
uiappsDir="\$HOME/.config/firetools"
uiappsFile="$uiappsDir/uiapps"
echo "#!/usr/bin/bash" > $scriptFile
echo >> $scriptFile
echo "mkdir -p \"${uiappsDir}\"" >> $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 "zoom;Zoom;Zoom" >> $scriptFile
echo "/opt/appimages/zoom.AppImage;Zoom AppImage;zoom-appimage;firejail --appimage --profile=/etc/firejail/zoom.profile /opt/appimages/zoom.AppImage" >> $scriptFile
echo "linphone;Linphone;linphone" >> $scriptFile
echo "/opt/appimages/linphone.AppImage;Linphone AppImage;linphone-appimage;firejail --appimage --profile=/etc/firejail/linphone.profile /opt/appimages/linphone.AppImage" >> $scriptFile
echo "/opt/linphone/linphone-launcher;Linphone /opt/linphone/linphone-launcher;linphone-desktop;firejail --profile=/etc/firejail/linphone.profile /opt/linphone/linphone-launcher" >> $scriptFile
echo "/opt/appimages/teams-for-linux.AppImage;Teams for Linux AppImage;teams-for-linux-appimage;firejail --appimage --profile=/etc/firejail/teams-for-linux.profile /opt/appimages/teams-for-linux.AppImage" >> $scriptFile
echo "teams-for-linux;Teams for Linux;teams-for-linux;firejail --profile=/etc/firejail/teams-for-linux.profile /usr/bin/teams-for-linux" >> $scriptFile
echo "vivaldi;Vivaldi;vivaldi" >> $scriptFile
echo "brave;Brave Web Browser;brave" >> $scriptFile
echo "brave-browser;Brave Web Browser;brave-browser" >> $scriptFile
echo "libreoffice;LibreOffice;libreoffice" >> $scriptFile
echo "localc;LibreOffice Calc;libreoffice-calc" >> $scriptFile
echo "loimpress;LibreOffice Impress;libreoffice-impress" >> $scriptFile
echo "element-desktop;Element;element-desktop;firejail --ignore=apparmor --apparmor-replac /usr/bin/element-desktop" >> $scriptFile
echo "atril;Atril;atril" >> $scriptFile
echo "EOF" >> $scriptFile
echo >> $scriptFile
echo "echo \"cat \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "cat \"${uiappsFile}\"" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo" >> $scriptFile
echo "echo \"added \\\"Missing Firetools apps\\\" to \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo \"Done.\"" >> $scriptFile
echo "exit 0" >> $scriptFile
# Make script executable
chmod +x "$scriptFile"
# Create a script to reset firetools uiapps
# Create script in /usr/local/bin/firetools-uiapps-reset
scriptFile="${pkgdir}/usr/local/bin/firetools-uiapps-reset"
uiappsFile="\$HOME/.config/firetools/uiapps"
echo "#!/usr/bin/bash" > $scriptFile
echo "rm -f \"${uiappsFile}\"" >> $scriptFile
echo "echo \"Removed \\\"${uiappsFile}\\\"\"" >> $scriptFile
echo "echo \"Please restart Firetools to reflect changes.\"" >> $scriptFile
echo "echo \"Done.\"" >> $scriptFile
echo "exit 0" >> $scriptFile
# Make script executable
chmod +x "$scriptFile"
echo "ls -al %{_uploaddir}"
ls -al %{_uploaddir}
install -m0755 %{_uploaddir}/firejail-brave-keyboard-not-working-fix "${pkgdir}/usr/local/bin/"
install -m0755 %{_uploaddir}/firejail-thunderbird-keyboard-not-working-fix "${pkgdir}/usr/local/bin/"
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.
openSUSE Build Service is sponsored by