## START: Set by rpmautospec ## (rpmautospec version 0.8.3) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 3; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec %global debug_package %{nil} %global app_commit 5ff07820d3709d1f869a96aa37688ff55a47f284 Name: trilium Version: 0.99.3 Release: %autorelease Summary: A free and open-source, cross-platform hierarchical note taking application. License: AGPL-3.0 URL: https://github.com/TriliumNext/Trilium Source0: https://github.com/TriliumNext/Trilium/archive/refs/tags/v%{version}/Trilium-%{version}.tar.gz Source1: trilium.sysusers.conf Source2: trilium-server.service Source3: trilium-server@.service Source4: trilium.sysconfig Source5: build-server.sh Source6: com.triliumnext.trilium.desktop Source7: com.triliumnext.trilium.metainfo.xml Patch0: 000_calendar_lock.patch BuildRequires: pnpm BuildRequires: nodejs-devel BuildRequires: systemd-rpm-macros BuildRequires: desktop-file-utils BuildRequires: libappstream-glib Requires: hicolor-icon-theme ExclusiveArch: x86_64 aarch64 %description Trilium is an open-source solution for note-taking and organizing a personal knowledge base. Use it locally on your desktop, or sync it with your self-hosted server to keep your notes everywhere you go. %files %license LICENSE %doc README.md %{_bindir}/trilium %{_libdir}/trilium/ %{_datadir}/applications/com.triliumnext.trilium.desktop %{_datadir}/icons/hicolor/1000x1000/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/1024x1024/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/128x128/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/16x16/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/256x256/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/32x32/apps/com.triliumnext.trilium.png %{_datadir}/icons/hicolor/512x512/apps/com.triliumnext.trilium.png %{_metainfodir}/com.triliumnext.trilium.metainfo.xml %package server Summary: Self hosteable version of a hierarchical note taking ExclusiveArch: %{nodejs_arches} Requires: nodejs %description server Trilium is an open-source solution for note-taking and organizing a personal knowledge base. Use it locally on your desktop, or sync it with your self-hosted server to keep your notes everywhere you go. This is a hosteable version of the application. %files server %license LICENSE %doc README.md %attr(755, root, root) %{_bindir}/trilium-server %attr(755, trilium, trilium) %{_sharedstatedir}/trilium-server/ %config(noreplace,missingok) %{_sysconfdir}/sysconfig/trilium-server %{_unitdir}/trilium-server.service %{_unitdir}/trilium-server@.service %{nodejs_sitelib}/trilium-server/ %prep %autosetup -p1 -n Trilium-%{version} mv %{S:5} apps/server/scripts/build-server.sh %build pnpm install --frozen-lockfile sed -i "s/\${getGitRevision()}/%{app_commit}/" ./scripts/update-build-info.ts sed -i "s/\${getBuildDate()}//" ./scripts/update-build-info.ts pnpm run chore:update-build-info pnpm run --filter server package %ifarch x86_64 pnpm run --filter desktop electron-forge:package --arch=x64 --platform=linux mv ./apps/desktop/dist/out/Trilium\ Notes-linux-x64 ./out-electron %endif %ifarch aarch64 pnpm run --filter desktop electron-forge:package --arch=arm64 --platform=linux mv ./apps/desktop/dist/out/Trilium\ Notes-linux-arm64 ./out-electron %endif printf "#!/bin/sh\nnode %{nodejs_sitelib}/trilium-server/main.cjs\n" > ./trilium-server chmod 755 ./trilium-server %install mkdir -p %{buildroot}%{_sysconfdir}/sysconfig/ mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_unitdir} mkdir -p %{buildroot}%{_sharedstatedir}/trilium-server/ mkdir -p %{buildroot}%{_libdir} mkdir -p %{buildroot}%{nodejs_sitelib} # Install server install -m 755 ./trilium-server %{buildroot}%{_bindir}/trilium-server ln -sf %{_libdir}/trilium/trilium %{buildroot}%{_bindir}/trilium cp -pr ./apps/server/dist %{buildroot}%{nodejs_sitelib}/trilium-server %ifarch x86_64 aarch64 cp -pr ./out-electron %{buildroot}%{_libdir}/trilium %endif install -m 644 %{S:2} %{buildroot}%{_unitdir}/trilium-server.service install -m 644 %{S:3} %{buildroot}%{_unitdir}/trilium-server@.service install -m 644 %{S:4} -D %{buildroot}%{_sysconfdir}/sysconfig/trilium-server install -d %{buildroot}%{_datadir}/applications/ install -p -m 644 %{S:6} %{buildroot}%{_datadir}/applications/com.triliumnext.trilium.desktop desktop-file-validate \ %{buildroot}%{_datadir}/applications/com.triliumnext.trilium.desktop install -d %{buildroot}%{_metainfodir}/ install -p -m 644 %{S:7} %{buildroot}%{_metainfodir}/com.triliumnext.trilium.metainfo.xml appstream-util validate-relax --nonet \ %{buildroot}%{_metainfodir}/com.triliumnext.trilium.metainfo.xml install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/1024x1024/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/1024x1024.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/1024x1024/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/1000x1000/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/1000x1000.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/1000x1000/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/512x512/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/512x512.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/512x512/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/256x256/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/256x256.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/256x256/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/128x128/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/128x128.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/128x128/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/32x32.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/32x32/apps/com.triliumnext.trilium.png install -d $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/16x16/apps/ install -p -m 644 ./apps/desktop/electron-forge/app-icon/png/16x16.png $RPM_BUILD_ROOT/%{_datadir}/icons/hicolor/16x16/apps/com.triliumnext.trilium.png %pre server %sysusers_create_compat %{S:1} %post server %systemd_post trilium-server.service %preun server %systemd_preun trilium-server.service %postun server %systemd_postun_with_restart trilium-server.service %changelog ## START: Generated by rpmautospec * Thu Nov 06 2025 Grillo del Mal - 0.99.3-3 - Add feature to lock calendar to a date * Thu Nov 06 2025 Grillo del Mal - 0.99.3-2 - Clean up build process * Wed Nov 05 2025 Grillo del Mal - 0.99.3-1 - Initial commit ## END: Generated by rpmautospec