+++ /dev/null
-Requires: perl(Business::CreditCard)
-Requires: perl(CGI)
-Requires: perl(CGI::Cookie)
-Requires: perl(Chart::LinesPoints)
-Requires: perl(Chart::Mountain)
-Requires: perl(Color::Scheme)
-Requires: perl(Date::Format)
-Requires: perl(Date::Parse)
-Requires: perl(DateTime)
-Requires: perl(DateTime::Format::Strptime)
-Requires: perl(FS)
-Requires: perl(FS::AccessRight)
-Requires: perl(FS::CGI)
-Requires: perl(FS::Conf)
-Requires: perl(FS::Misc)
-Requires: perl(FS::Msgcat)
-Requires: perl(FS::Record)
-Requires: perl(FS::Report::Table::Monthly)
-Requires: perl(FS::TicketSystem)
-Requires: perl(FS::UI::Web)
-Requires: perl(FS::UI::bytecount)
-Requires: perl(FS::UID)
-Requires: perl(FS::XMLRPC)
-Requires: perl(FS::access_group)
-Requires: perl(FS::access_groupagent)
-Requires: perl(FS::access_right)
-Requires: perl(FS::access_user)
-Requires: perl(FS::access_usergroup)
-Requires: perl(FS::addr_block)
-Requires: perl(FS::agent)
-Requires: perl(FS::agent_payment_gateway)
-Requires: perl(FS::agent_type)
-Requires: perl(FS::cdr)
-Requires: perl(FS::cust_bill)
-Requires: perl(FS::cust_bill_pay)
-Requires: perl(FS::cust_credit)
-Requires: perl(FS::cust_credit_bill)
-Requires: perl(FS::cust_main)
-Requires: perl(FS::cust_main_county)
-Requires: perl(FS::cust_main_note)
-Requires: perl(FS::cust_pay)
-Requires: perl(FS::cust_pkg)
-Requires: perl(FS::cust_pkg_reason)
-Requires: perl(FS::cust_refund)
-Requires: perl(FS::cust_svc)
-Requires: perl(FS::domain_record)
-Requires: perl(FS::export_svc)
-Requires: perl(FS::inventory_class)
-Requires: perl(FS::inventory_item)
-Requires: perl(FS::msgcat)
-Requires: perl(FS::nas)
-Requires: perl(FS::part_bill_event)
-Requires: perl(FS::part_export)
-Requires: perl(FS::part_export_option)
-Requires: perl(FS::part_pkg)
-Requires: perl(FS::part_referral)
-Requires: perl(FS::part_svc)
-Requires: perl(FS::part_svc_router)
-Requires: perl(FS::part_virtual_field)
-Requires: perl(FS::pay_batch)
-Requires: perl(FS::payby)
-Requires: perl(FS::payment_gateway)
-Requires: perl(FS::pkg_class)
-Requires: perl(FS::pkg_svc)
-Requires: perl(FS::port)
-Requires: perl(FS::queue)
-Requires: perl(FS::raddb)
-Requires: perl(FS::rate)
-Requires: perl(FS::rate_prefix)
-Requires: perl(FS::rate_region)
-Requires: perl(FS::reason)
-Requires: perl(FS::reason_type)
-Requires: perl(FS::router)
-Requires: perl(FS::session)
-Requires: perl(FS::svc_acct)
-Requires: perl(FS::svc_acct_pop)
-Requires: perl(FS::svc_broadband)
-Requires: perl(FS::svc_domain)
-Requires: perl(FS::svc_external)
-Requires: perl(FS::svc_forward)
-Requires: perl(FS::svc_phone)
-Requires: perl(FS::svc_www)
-Requires: perl(FS::type_pkgs)
-Requires: perl(HTML::Entities)
-Requires: perl(HTML::Mason)
-Requires: perl(HTML::Mason::ApacheHandler)
-Requires: perl(HTML::Scrubber)
-Requires: perl(HTML::Widgets::SelectLayers)
-Requires: perl(IO::File)
-Requires: perl(IO::Handle)
-Requires: perl(IO::Scalar)
-Requires: perl(JSON)
-Requires: perl(Lingua::EN::Inflect)
-Requires: perl(List::Util)
-Requires: perl(Locale::Country)
-Requires: perl(MIME::Entity)
-Requires: perl(Net::Whois::Raw)
-Requires: perl(Spreadsheet::WriteExcel)
-Requires: perl(String::Approx)
-Requires: perl(Text::CSV_XS)
-Requires: perl(Text::Quoted)
-Requires: perl(Text::Wrapper)
-Requires: perl(Tie::IxHash)
-Requires: perl(Time::Duration)
-Requires: perl(Time::Local)
-Requires: perl(Time::ParseDate)
-Requires: perl(URI::Escape)
Prefix: /var/www/freeside
Requires: mod_ssl
Requires: perl-Apache-DBI
-%%include freeside-mason.deps.inc
Conflicts: %{name}-apacheasp
Provides: %{name}-frontend
BuildArch: noarch
perl -pi -e 's|/usr/local/bin|%{buildroot}%{_bindir}|g' FS/Makefile.PL
perl -ni -e 'print if !/\s+chown\s+/;' Makefile
+# Override find-requires/find-provides to supplement Perl requires for HTML::Mason file handler.pl
+cat << \EOF > %{name}-req
+#!/bin/sh
+tee %{_tmppath}/filelist | %{_rpmlibdir}/rpmdeps --requires | sort -u
+grep handler.pl %{_tmppath}/filelist | xargs %{_rpmlibdir}/perldeps.pl --requires \
+| grep -v -E '^perl\((lib|strict|vars|RT)\)$' \
+| grep -v -E '^perl\(RT::' \
+| sort -u
+EOF
+
+%define __find_provides %{_rpmlibdir}/rpmdeps --provides
+%define __find_requires %{_builddir}/%{name}-%{version}/%{name}-req
+%{__chmod} +x %{__find_requires}
+%define _use_internal_dependency_generator 0
+
%build
# Add freeside user and group if there isn't already such a user
done
# Make a list of the Mason files before adding self-service, etc.
+echo "%attr(-,freeside,freeside) %{freeside_conf}/handler.pl" > %{name}-%{version}-%{release}-mason-filelist
find $RPM_BUILD_ROOT%{freeside_document_root} -type f -print | \
- sed "s@^$RPM_BUILD_ROOT@@g" > %{name}-%{version}-%{release}-mason-filelist
+ sed "s@^$RPM_BUILD_ROOT@@g" >> %{name}-%{version}-%{release}-mason-filelist
if [ "$(cat %{name}-%{version}-%{release}-mason-filelist)X" = "X" ] ; then
echo "ERROR: EMPTY FILE LIST"
exit 1
%files mason -f %{name}-%{version}-%{release}-mason-filelist
%defattr(-, freeside, freeside, 0755)
-%attr(-,freeside,freeside) %{freeside_conf}/handler.pl
%attr(-,freeside,freeside) %{freeside_cache}/masondata
%attr(0644,root,root) %config(noreplace) %{apache_confdir}/%{name}-base%{apache_version}.conf