Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:gladiac:apps
lychee
lychee.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File lychee.spec of Package lychee
# # spec file for package lychee # # Copyright (c) 2024 Andreas Schneider <asn@cryptomilk.org> # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %if "x%{?lychee_php}" == "x" %global lychee_php php8 %endif %define lychee_configdir %{_sysconfdir}/%{name} %define lychee_basedir /srv/www/webapps/%{name} %define lychee_docroot /srv/www/webapps/%{name}/public %define lychee_upload %{lychee_docroot}/uploads %define lychee_homedir /var/lib/%{name} %define lychee_cachedir /var/cache/%{name} %define lychee_sessiondir %{lychee_cachedir}/sessions %define lychee_tmpdir %{lychee_cachedir}/tmp %define lychee_logdir /var/log/%{name} %define lychee_upgrade_trigger %{lychee_basedir}/storage/framework/pending_upgrade %define apparmor_dir /etc/apparmor.d/php-fpm.d %define php_fpm_d /etc/%{lychee_php}/fpm/php-fpm.d %define user_group_name lychee %define pkg_name Lychee Name: lychee Version: 5.5.1 Release: 0 Summary: A great looking and easy-to-use photo-management-system License: MIT Group: Productivity/Publishing/Other URL: https://github.com/LycheeOrg/Lychee Source0: %{url}/archive/refs/tags/v%{version}/%{pkg_name}-%{version}.tar.gz Source1: %{pkg_name}-%{version}-vendor.tar.zst Source2: lychee.conf Source3: lychee-php-fpm.conf Source4: lychee-apparmor.conf Source10: lychee-manage.sh Source11: lychee-upgrade.sh Source20: lychee.logrotate Patch0: lychee-config-path.patch Patch1: lychee-app-path.patch BuildArch: noarch BuildRequires: %{lychee_php} BuildRequires: %{lychee_php}-cli BuildRequires: %{lychee_php}-bcmath BuildRequires: %{lychee_php}-ctype BuildRequires: %{lychee_php}-exif BuildRequires: %{lychee_php}-fileinfo BuildRequires: %{lychee_php}-fpm BuildRequires: %{lychee_php}-gd BuildRequires: %{lychee_php}-mbstring BuildRequires: %{lychee_php}-mysql BuildRequires: %{lychee_php}-openssl BuildRequires: %{lychee_php}-pdo BuildRequires: %{lychee_php}-sodium BuildRequires: %{lychee_php}-tokenizer BuildRequires: apparmor-abstractions BuildRequires: apparmor-rpm-macros BuildRequires: fdupes BuildRequires: logrotate BuildRequires: npm BuildRequires: php-fpm-apparmor BuildRequires: rsync BuildRequires: zstd Requires: %{lychee_php}-bcmath Requires: %{lychee_php}-ctype Requires: %{lychee_php}-exif Requires: %{lychee_php}-fileinfo Requires: %{lychee_php}-gd Requires: %{lychee_php}-mbstring Requires: %{lychee_php}-mysql Requires: %{lychee_php}-openssl Requires: %{lychee_php}-sodium Requires: %{lychee_php}-tokenizer Requires(post): %{lychee_php}-cli Requires(posttrans): %{lychee_php}-cli Requires: sudo Requires(post): sudo Requires(posttrans): sudo Recommends: lychee-php-fpm Recommends: %{lychee_php}-imagick Suggests: logrotate %description Lychee is a free photo-management tool, which runs on your server or web-space. Installing is a matter of seconds. Upload, manage and share photos like from a native application. Lychee comes with everything you need and all your photos are stored securely. %package php-fpm Group: Productivity/Networking/Web/Utilities %requires_eq %{lychee_php}-fpm %requires_eq php-fpm-apparmor Requires: apparmor-abstractions Requires: lychee = %{version} Requires: %{lychee_php}-fpm Summary: lychee - PHP FPM configuration %description php-fpm A great looking and easy-to-use photo-management-system. This package holds the php-fpm configuration. %prep %autosetup -n %{pkg_name}-%{version} -p1 -a1 find -name "\.git*" -print0 | xargs -0 rm -rf for S in $(grep -l '#!.*php' \ artisan \ vendor/bin/* \ ) ; do SB="${S}.backup" cp ${S} ${SB} perl -p -i -e 's|#!/usr/bin/env php|#!%{_bindir}/php|g' $S diff -urN ${SB} ${S} || : rm ${SB} done %build npm run build %install install -d -m 0755 \ %{buildroot}/%{lychee_basedir} \ %{buildroot}/%{lychee_docroot} rsync -av \ app \ artisan \ bootstrap \ config \ database \ lang \ phpstan \ resources \ routes \ storage \ vendor \ composer.json \ composer.lock \ index.php \ simple_error_template.html \ version.md \ %{buildroot}%{lychee_basedir} rsync -av \ public/ \ %{buildroot}/%{lychee_docroot} install -d -m 0770 \ %{buildroot}/%{lychee_configdir} \ %{buildroot}/%{lychee_datadir} \ %{buildroot}/%{lychee_sessiondir} \ %{buildroot}/%{lychee_tmpdir} \ %{buildroot}/%{lychee_logdir} install -d -m 0770 \ %{buildroot}/%{lychee_homedir} \ %{buildroot}/%{lychee_homedir}/storage/framework \ # config file install -m 0600 %{SOURCE2} %{buildroot}%{lychee_configdir}/lychee.conf # php-fpm install -d -m 0755 %{buildroot}%{php_fpm_d} install -m 0644 %{SOURCE3} %{buildroot}%{php_fpm_d}/lychee.conf # apparmor install -d -m 0755 %{buildroot}%{apparmor_dir} install -m 0644 %{SOURCE4} %{buildroot}%{apparmor_dir}/lychee # manage script install -d -m 0755 %{buildroot}%{_sbindir} install -m 0750 %{SOURCE10} %{buildroot}%{_sbindir}/lychee-manage install -m 0750 %{SOURCE11} %{buildroot}%{_sbindir}/lychee-upgrade # fix permissions find %{buildroot}%{lychee_docroot} -type f | xargs chmod -x find %{buildroot}%{lychee_basedir}/resources -type f | xargs chmod -x find %{buildroot}%{lychee_basedir}/vendor -type f | xargs chmod -x # Cleanup vendor dir rm -f %{buildroot}%{lychee_basedir}/vendor/spatie/laravel-image-optimizer/phpunit.xml.dist.bak touch %{buildroot}/%{lychee_logdir}/upgrade.log # logrotate install -d -m 0755 %{buildroot}%{_sysconfdir}/logrotate.d install -m 0644 %{SOURCE20} %{buildroot}%{_sysconfdir}/logrotate.d/%{name} # Find duplicates %fdupes %{buildroot}%{lychee_basedir} %pre /usr/sbin/groupadd -r %{user_group_name} &>/dev/null || : /usr/sbin/useradd -g %{user_group_name} -s /bin/false -r -c "%{name}" -d %{lychee_homedir} %{user_group_name} &>/dev/null || : %service_add_pre %{lychee_services} %post if grep -q "APP_KEY=SomeRandomString" %{lychee_configdir}/lychee.conf; then /usr/sbin/lychee-manage key:generate --force fi %service_add_post %{lychee_services} %preun %service_del_preun %{lychee_services} %postun if [ -x "%{_sbindir}/lychee-upgrade" ]; then touch %{lychee_upgrade_trigger} fi %service_del_postun %{lychee_services} %posttrans if [ -x "%{_sbindir}/lychee-upgrade" ]; then %{_sbindir}/lychee-upgrade fi %files %license LICENSE %doc README.md SECURITY.md %dir /srv/www/webapps %{_sbindir}/lychee-manage %{_sbindir}/lychee-upgrade %dir %{_sysconfdir}/logrotate.d %config(noreplace) %{_sysconfdir}/logrotate.d/%{name} %defattr(-,root,%{user_group_name}) %dir %{lychee_basedir} %{lychee_basedir}/app %{lychee_basedir}/artisan %dir %{lychee_basedir}/bootstrap %{lychee_basedir}/bootstrap/app.php %{lychee_basedir}/bootstrap/initialize.php %{lychee_basedir}/bootstrap/PanicAttack.php %{lychee_basedir}/bootstrap/cache %{lychee_basedir}/config %{lychee_basedir}/database %{lychee_basedir}/lang %{lychee_basedir}/phpstan %{lychee_basedir}/resources %{lychee_basedir}/routes %{lychee_basedir}/simple_error_template.html %dir %{lychee_basedir}/storage %dir %{lychee_basedir}/storage/app %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/bootstrap %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/bootstrap/cache %dir %{lychee_basedir}/storage/debugbar %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/framework %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/framework/cache %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/framework/cache/data %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/framework/sessions %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_basedir}/storage/framework/views %{lychee_basedir}/storage/image-jobs %{lychee_basedir}/storage/image-tmp %{lychee_basedir}/storage/livewire-tmp %{lychee_basedir}/storage/logs %{lychee_basedir}/vendor %{lychee_basedir}/composer.json %{lychee_basedir}/composer.lock %{lychee_basedir}/index.php %{lychee_basedir}/version.md %dir %{lychee_docroot} %{lychee_docroot}/.htaccess %{lychee_docroot}/.user.ini %{lychee_docroot}/build %{lychee_docroot}/dist %{lychee_docroot}/favicon.ico %{lychee_docroot}/fonts %{lychee_docroot}/img %{lychee_docroot}/index.php %{lychee_docroot}/installer %{lychee_docroot}/Lychee-front %{lychee_docroot}/robots.txt %{lychee_docroot}/storage %{lychee_docroot}/vendor %{lychee_docroot}/web.config %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_docroot}/sym %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload} %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/import %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/import/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/medium %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/medium/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/medium2x %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/medium2x/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/original %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/original/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/small %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/small/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/small2x %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/small2x/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/thumb %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/thumb/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/thumb2x %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/thumb2x/index.html %dir %attr(0755,%{user_group_name},%{user_group_name}) %{lychee_upload}/tracks %attr(0644,%{user_group_name},%{user_group_name}) %{lychee_upload}/tracks/index.html %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_cachedir} %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_sessiondir} %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_tmpdir} # /etc/lychee %dir %attr(0750,%{user_group_name},root) %{lychee_configdir} %config(noreplace) %attr(0640,%{user_group_name},root) %{lychee_configdir}/lychee.conf # /var/log/lychee %dir %attr(0750,%{user_group_name},%{user_group_name}) %{lychee_logdir} %ghost %attr(0640,lychee,root) %{lychee_logdir}/upgrade.log %files php-fpm %config(noreplace) %{php_fpm_d}/lychee.conf %config(noreplace) %{apparmor_dir}/lychee %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor