Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.1
otrs
otrs.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File otrs.spec of Package otrs
# # spec file for package otrs # # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # 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/ # #Compat macro for new _fillupdir macro introduced in Nov 2017 %if ! %{defined _fillupdir} %define _fillupdir /var/adm/fillup-templates %endif Name: otrs %define otrs_ver 4.0.33 %define itsm_ver 4.0.33 %define itsm_min 4 %define otrs_root /srv/%{name} %define otrsdoc_dir_files AUTHORS* CHANGES* COPYING* CREDITS README* UPGRADING.SUSE doc %define otrsdocs CHANGES* doc Summary: The Open Ticket Request System License: AGPL-3.0 Group: Productivity/Networking/Email/Utilities Version: %{otrs_ver} Release: 0 Url: http://otrs.org/ AutoReqProv: off Source: ftp://ftp.otrs.org/pub/otrs/%{name}-%{otrs_ver}.tar.bz2 Source1: itsm-%{itsm_ver}.tar.bz2 Source2: %{name}.rpmlintrc Source3: %{name}.permissions # Used to update the itsm package Source11: sysconfig.%{name} Source12: %{name}.README.en Source13: %{name}.README.de Source14: itsm.README.en Source15: itsm.README.de Source16: ZZZAuto.pm Source17: UPGRADING.SUSE Source20: %{name}.service Source21: %{name}.service.helper.sh Source22: %{name}-scheduler.service Source23: %{name}.init Source24: %{name}-scheduler.init # Source99: itsm-update.sh # PATCH-FIX-OPENSUSE -- VARS for conf and fix for apache >= 2.4 Patch1: %{name}-httpd_conf.patch # PATCH-FIX-OPENSUSE -- don't test write permissions on bin/ Patch2: otrs-perm_test.patch BuildArch: noarch BuildRoot: %{_tmppath}/%{name}-%{version}-build PreReq: %insserv_prereq %fillup_prereq PreReq: coreutils mktemp net-tools pwdutils PreReq: grep sed PreReq: apache2 Requires(pre): permissions BuildRequires: pwdutils %if 0%{?suse_version} > 1020 BuildRequires: fdupes %endif %if 0%{?suse_version} >= 1210 BuildRequires: systemd %{?systemd_requires} %define has_systemd 1 %endif Requires: apache2-mod_perl Requires: fetchmail Requires: mysql Requires: mysql-client Requires: perl Requires: procmail Requires: perl(Archive::Tar) Requires: perl(Archive::Zip) Requires: perl(DBD::mysql) Requires: perl(DBI) Requires: perl(Date::Format) Requires: perl(Digest::SHA) Requires: perl(LWP::UserAgent) Requires: perl(List::Util::XS) Requires: perl(Net::DNS) >= 0.60 Requires: perl(Template) Requires: perl(Time::HiRes) Requires: perl(Time::Piece) Requires: perl(YAML::XS) # Recommends: perl(Crypt::Eksblowfish::Bcrypt) Recommends: perl(Crypt::SSLeay) Recommends: perl(GD) Recommends: perl(GD::Graph) Recommends: perl(GD::Text) Recommends: perl(IO::Socket::SSL) Recommends: perl(JSON::XS) Recommends: perl(Mail::IMAPClient) >= 3.22 Recommends: perl(ModPerl::Util) Recommends: perl(Net::SSL) Recommends: perl(PDF::API2) >= 0.73 Recommends: perl(SOAP::Lite) Recommends: perl(Text::CSV_XS) Recommends: perl(XML::Parser) # Suggests: perl(DBD::ODBC) Suggests: perl(DBD::Oracle) Suggests: perl(DBD::Pg) Suggests: perl(Encode::HanExtra) >= 0.23 Suggests: perl(Net::LDAP) # ### Framework -> Crypt::SMIME Recommends: ca-certificates %if "%_vendor" == "suse" %define VENDOR SUSE %else %define VENDOR %_vendor %endif %description OTRS is an Open source Ticket Request System with many features to manage customer telephone calls and e-mails. It is distributed under the GNU AFFERO General Public License (AGPL) and tested on Linux, Solaris, AIX, Windows, FreeBSD, OpenBSD and Mac OS 10.x. Do you receive many e-mails and want to answer them with a team of agents? You're going to love OTRS! Feature list: see README Authors list: see CREDITS %package doc Summary: OTRS Documentation Group: Documentation/Other %description doc This package contains the README, Changes and docs for OTRS Authors list: see CREDITS %package -n otrs-itsm Summary: ITIL (R) focused IT service management Group: Productivity/Networking/Email/Utilities Version: %{itsm_ver} Release: 0 Requires: %{name} >= %{itsm_ver} Provides: OTRS::ITSM Provides: itsm = %{itsm_ver} %description itsm OTRS::ITSM implements ITIL (R) focused IT service management. You need a OTRS %{otrs_ver} (http://otrs.org/) installation. Make sure your database accepts packages over 5 MB in size. A MySQL database for example accepts packages up to 1 MB by default. In this case, the value for max_allowed_packet must be increased. The recommended maximum size accepted is 20 MB. for INSTALL see INSTALL-%{itsm_min}.ITSM please see README.itsm for further details, which comes with otrs package Required OTRS::ITSM modules can be found under %{otrs_root}/itsm Authors list: see CREDITS %prep %setup -q -n %{name}-%{otrs_ver} -a 1 %patch1 %patch2 ### Is this critical ? (https://bugs.otrs.org/show_bug.cgi?id=12889) # rpmlint: pem-certificate /srv/otrs/Kernel/cpan-lib/Mozilla/CA/cacert.pem #__rm -f Kernel/cpan-lib/Mozilla/CA/cacert.pem ### UPGRADING.SUSE %__rm -f CONTRIBUTING.md INSTALL.md UPGRADING.md %__cp %{S:17} . # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" UPGRADING.SUSE ### ZZZAuto.pm for OTRS::ITSM pushd Kernel/Config/Files %__cp %{S:16} . # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" ZZZAuto.pm popd # remove not needed files from scripts %__rm -rf \ scripts/*.spec \ scripts/auto_build* \ scripts/redhat-* \ scripts/suse-*rc*otrs* # scripts/test [Kernel::System::Package::_FileInstall] # fix old otrs_root (/opt) %__sed -i -e "s,/opt/%{name},%{otrs_root},g" \ bin/Cron.sh \ bin/otrs.SupportBundle.pl \ i18n/otrs/otrs.*.po \ Kernel/Config/Defaults.pm \ Kernel/Config/Files/Framework.xml \ Kernel/Config.pm.dist \ Kernel/Language/*.pm \ Kernel/Modules/AdminDynamicFieldText.pm \ Kernel/Output/HTML/Standard/AdminGenericInterfaceTransportHTTPREST.tt \ Kernel/Output/HTML/Standard/AdminGenericInterfaceTransportHTTPSOAP.tt \ Kernel/System/ACL/DB/ACL.pm \ Kernel/System/Environment.pm \ Kernel/System/ProcessManagement/DB/Process.pm \ scripts/apache2-perl-startup.pl # rpmlint: wrong-file-end-of-line-encoding %{__perl} -p -i -e "s|\r\n|\n|" itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %build %{_sbindir}/groupadd -g 88 -r %{name} 2>/dev/null || : %{_sbindir}/useradd -c "OTRS User" -d %{otrs_root} -G %{name},www -g %{name} \ -u 88 -r -s /bin/false %{name} 2>/dev/null || : # copy config file %__cp -a Kernel/Config.pm.dist Kernel/Config.pm cd Kernel/Config/ for file in *.dist; do %__cp -a $file $(basename $file .dist) done cd ../../ # copy all crontab dist files for file in var/cron/*.dist; do %__mv $file var/cron/$(basename $file .dist) done %install export DESTROOT="%{otrs_root}/" %__install -d %{buildroot}${DESTROOT} %__install -d %{buildroot}%{_sbindir} # install OTRS base system %__cp -a . %{buildroot}/${DESTROOT} for configFile in .fetchmailrc .mailfilter .procmailrc; do touch %{buildroot}/${DESTROOT}/${configFile} done touch %{buildroot}${DESTROOT}var/log/TicketCounter.log # install README for lang in en de; do %__cp -p "${RPM_SOURCE_DIR}/%{name}.README.${lang}" "README.%{VENDOR}.${lang}" %__cp -p "${RPM_SOURCE_DIR}/itsm.README.${lang}" "README.itsm.%{VENDOR}.${lang}" done # fix @OTRS_ROOT@ in README.* for r in $(ls -1 README.*); do %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" $r done # remove files that are part of the docdir pushd %{buildroot}/${DESTROOT} %__rm -rf %{otrsdoc_dir_files} %__install -d doc popd %if 0%{?suse_version} < 1140 # install permissions file %__install -D -m 0644 %{S:3} %{buildroot}/etc/permissions.d/%{name} # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}/etc/permissions.d/%{name} %endif %__install -D -m 0644 %{S:11} %{buildroot}%{_fillupdir}/sysconfig.%{name} # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}%{_fillupdir}/sysconfig.%{name} # systemd vs SysVinit %if 0%{?has_systemd} %__install -D -m 0644 %{S:20} %{buildroot}%{_unitdir}/%{name}.service %__ln_s -f %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name} %__install -D -m 0755 %{S:21} %{buildroot}%{_bindir}/%{name}.service.helper.sh %__install -D -m 0644 %{S:22} %{buildroot}%{_unitdir}/%{name}-scheduler.service %__ln_s -f %{_sbindir}/service %{buildroot}/%{_sbindir}/rc%{name}-scheduler # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" "%{buildroot}%{_unitdir}/%{name}.service" %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" "%{buildroot}%{_bindir}/%{name}.service.helper.sh" %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" "%{buildroot}%{_unitdir}/%{name}-scheduler.service" %else #SysVinit # install sysconfig file and init script %__install -D -m 0755 %{S:23} %{buildroot}/etc/init.d/%{name} %__ln_s -f ../../etc/init.d/%{name} %{buildroot}%{_sbindir}/rc%{name} %__install -D -m 0755 %{S:24} %{buildroot}/etc/init.d/%{name}-scheduler %__ln_s -f ../../etc/init.d/%{name}-scheduler %{buildroot}%{_sbindir}/rc%{name}-scheduler %endif otrs_apache_conf="scripts/apache2-httpd.include.conf" %__install -D -m 0644 ${otrs_apache_conf} %{buildroot}/etc/apache2/conf.d/%{name}.conf %__rm -f %{buildroot}%{otrs_root}/scripts/apache*.conf # fix @OTRS_ROOT@ %__sed -i -e "s,@OTRS_ROOT@,%{otrs_root},g" %{buildroot}/etc/apache2/conf.d/%{name}.conf # OTRS::ITSM # rename itsm-%{itsm_ver} to itsm pushd %{buildroot}/${DESTROOT} %__mv itsm-%{itsm_ver} itsm popd %if 0%{?suse_version} > 1020 %fdupes %{buildroot}/%{otrs_root}/scripts/test %fdupes %{buildroot}/%{otrs_root}/var %fdupes %{buildroot}/%{otrs_root}/Kernel/cpan-lib %endif %if 0%{?suse_version} %verifyscript %verify_permissions -e %{otrs_root}/var/tmp %endif %pre # on `rpm -ivh` PARAM is 1 # on `rpm -Uvh` PARAM is 2 if [ -z "`%{_bindir}/getent group %{name} 2>/dev/null`" ]; then %{_sbindir}/groupadd -g 88 -r %{name} 2>/dev/null else if [ `%{_bindir}/id -g %{name}` != 88 ]; then %{_sbindir}/groupmod -g 88 %{name} 2>/dev/null fi fi if [ -z "`%{_bindir}/getent passwd %{name} 2>/dev/null`" ]; then %{_sbindir}/useradd -c "OTRS User" -d %{otrs_root} -G %{name},www -g %{name} -u 88 -r -s /bin/false %{name} 2>/dev/null else if [ `%{_bindir}/id -u %{name}` != 88 ]; then %{_sbindir}/usermod -c "OTRS User" -d %{otrs_root} -G %{name},www -g %{name} -u 88 %{name} 2>/dev/null fi fi %if 0%{?has_systemd} %service_add_pre %{name}.service %service_add_pre %{name}-scheduler.service %endif %preun %if 0%{?has_systemd} %service_del_preun %{name}-scheduler.service %service_del_preun %{name}.service %else %stop_on_removal otrs-scheduler %stop_on_removal otrs %endif %post %if 0%{?has_systemd} %{fillup_only -n otrs} %service_add_post %{name}.service %service_add_post %{name}-scheduler.service %else # fill otrs sysconfig file %{fillup_and_insserv -f otrs-scheduler} %{fillup_and_insserv otrs} %endif # set permissions %if 0%{?suse_version} >= 1140 %if 0%{?set_permissions:1} %set_permissions %{otrs_root}/var/tmp %else %run_permissions %endif %endif # %if 0%{?suse_version} /usr/sbin/a2enmod perl >/dev/null /usr/sbin/a2enmod version >/dev/null %endif # Update ? if [ ${FIRST_ARG:-0} -gt 1 ]; then # OTRS_ROOT changed from /opt to /srv if [ -f /opt/%{name}/Kernel/Config.pm.rpmsave ]; then %__mv /opt/%{name}/Kernel/Config.pm.rpmsave %{otrs_root}/Kernel/ fi %{_sbindir}/usermod -d %{otrs_root} %{name} #update sysconfig if [ -f /etc/sysconfig/%{name} ]; then %__sed -i -e "s,/opt/%{name},%{otrs_root},g" /etc/sysconfig/%{name} fi fi # if rpm is not in update mode if ! [ ${FIRST_ARG:-0} -gt 1 ]; then if [ -z "${YAST_IS_RUNNING}" ]; then if [ -n "$LC_ALL" ]; then lang="$LC_ALL" elif [ -n "$LC_MESSAGE" ]; then lang="$LC_MESSAGE" elif [ -n "$LANG" ]; then lang="$LANG" else lang= fi echo case "$lang" in de_*) echo "Hinweise zur Erstkonfiguration von OTRS finden Sie in" echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.de" ;; *) echo "About the initial setup of OTRS, please read" echo "/usr/share/doc/packages/otrs/README.%{VENDOR}.en" ;; esac echo fi fi exit 0 %postun %if 0%{?has_systemd} %service_del_postun %{name}-scheduler.service %service_del_postun %{name}.service %else %restart_on_update otrs-scheduler %restart_on_update otrs %restart_on_update apache2 %insserv_cleanup %endif %files %defattr(-,root,root,-) %doc AUTHORS.md CHANGES.md COPYING* README* UPGRADING.SUSE %{otrs_root}/ARCHIVE %{otrs_root}/RELEASE %dir %{_sysconfdir}/apache2 %dir %{_sysconfdir}/apache2/conf.d %config(noreplace) %{_sysconfdir}/apache2/conf.d/%{name}.conf # %if 0%{?suse_version} < 1140 %config %{_sysconfdir}/permissions.d/%{name} %endif # systemd vs SysVinit %{_fillupdir}/sysconfig.%{name} %if 0%{?has_systemd} %{_unitdir}/%{name}.service %{_bindir}/%{name}.service.helper.sh %{_unitdir}/%{name}-scheduler.service %else %{_sysconfdir}/init.d/%{name} %{_sysconfdir}/init.d/%{name}-scheduler %endif %{_sbindir}/rc%{name} %{_sbindir}/rc%{name}-scheduler # Custom %dir %{otrs_root}/Custom %{otrs_root}/Custom/README # i18n %dir %{otrs_root}/i18n %{otrs_root}/i18n/* # scripts/* %{otrs_root}/scripts/contrib %{otrs_root}/scripts/database %{otrs_root}/scripts/tools %{otrs_root}/scripts/*.pl %{otrs_root}/scripts/*.sql # var/cron %dir %{otrs_root}/var/cron %config(noreplace) %attr(644,%{name},www) %{otrs_root}/var/cron/* # var/fonts %{otrs_root}/var/fonts ############### ## {root,www} ############### #defattr(0770,root,www,0775) %defattr(0750,root,www,0750) # bin %{otrs_root}/bin/*.pl %{otrs_root}/bin/cgi-bin/app.psgi %{otrs_root}/bin/cgi-bin/*.pl %{otrs_root}/bin/Cron.sh %{otrs_root}/bin/fcgi-bin/*.pl %exclude %{otrs_root}/bin/%{name}.GetConfig.pl %exclude %{otrs_root}/bin/%{name}.SetPermissions.pl ############### ## {otrs,otrs} ############### # otrs HOME %defattr(-,%{name},%{name}) %dir %{otrs_root} %ghost %config(noreplace) %{otrs_root}/.fetchmailrc %ghost %config(noreplace) %{otrs_root}/.mailfilter %ghost %config(noreplace) %{otrs_root}/.procmailrc %{otrs_root}/.fetchmailrc.dist %{otrs_root}/.mailfilter.dist %{otrs_root}/.procmailrc.dist ############### ## {otrs,www} ############### %defattr(0644,%{name},www,0775) # var %dir %{otrs_root}/var %{otrs_root}/var/logo-%{name}.png # var/log %dir %attr(0770,%{name},www) %{otrs_root}/var/log %ghost %config(noreplace) %attr(660,%{name},www) %{otrs_root}/var/log/TicketCounter.log ############### ## {wwwrun,www} ############### %defattr(0750,wwwrun,www,0750) # bin %dir %{otrs_root}/bin %dir %{otrs_root}/bin/cgi-bin %dir %{otrs_root}/bin/fcgi-bin %defattr(0644,wwwrun,www,0755) # doc (is empty), [Kernel::System::Package::_FileInstall] %dir %{otrs_root}/doc # scripts/* %dir %{otrs_root}/scripts # scripts/test, [Kernel::System::Package::_FileInstall] %dir %{otrs_root}/scripts/test %{otrs_root}/scripts/test/* # var/httpd, [Kernel::System::Package::_FileInstall] %{otrs_root}/var/httpd # var/stats %dir %{otrs_root}/var/stats %{otrs_root}/var/stats/* # var/tmp %if 0%{?suse_version} < 1140 %dir %attr(2770,wwwrun,www) %{otrs_root}/var/tmp %else %verify(not user group mode) %attr(2770,wwwrun,www) %dir %{otrs_root}/var/tmp %endif %defattr(0664,wwwrun,www,0775) # Kernel DIR %dir %{otrs_root}/Kernel %config(noreplace) %attr(0640,wwwrun,www) %{otrs_root}/Kernel/Config.pm %{otrs_root}/Kernel/Config.pm.dist %dir %{otrs_root}/Kernel/Config %{otrs_root}/Kernel/Config/Defaults.pm %config(noreplace) %{otrs_root}/Kernel/Config/GenericAgent.pm %{otrs_root}/Kernel/Config/GenericAgent.pm.* %dir %{otrs_root}/Kernel/Config/Files %{otrs_root}/Kernel/Config/Files/*.xml %{otrs_root}/Kernel/GenericInterface %{otrs_root}/Kernel/cpan-lib %dir %{otrs_root}/Kernel/Language %config(noreplace) %{otrs_root}/Kernel/Language/*.pm %{otrs_root}/Kernel/Language.pm %{otrs_root}/Kernel/Modules/ %dir %{otrs_root}/Kernel/Output %dir %{otrs_root}/Kernel/Output/HTML %dir %{otrs_root}/Kernel/Output/HTML/Standard %config(noreplace) %{otrs_root}/Kernel/Output/HTML/Standard/*.tt %dir %{otrs_root}/Kernel/Output/HTML/Standard/ProcessManagement %config(noreplace) %{otrs_root}/Kernel/Output/HTML/Standard/ProcessManagement/*.tt %{otrs_root}/Kernel/Output/HTML/*.pm %dir %{otrs_root}/Kernel/Output/Template %{otrs_root}/Kernel/Output/Template/* %{otrs_root}/Kernel/System/ %files doc %defattr(644,root,root,755) %doc %{otrsdocs} %files itsm %defattr(-,root,root,-) %doc COPYING* README.itsm* %doc itsm-%{itsm_ver}/INSTALL-%{itsm_min}.ITSM %{otrs_root}/itsm %config(noreplace) %attr(0664,wwwrun,www) %{otrs_root}/Kernel/Config/Files/ZZZAuto.pm %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