# RPM spec written for and tested on Fedora Core 6 Summary: LedgerSMB - Open Source accounting software Name: ledgersmb Version: 1.2.3 Release: 1 License: GPL URL: http://www.ledgersmb.org/ Group: Applications/Productivity Source0: %{name}-%{version}.tar.gz Source1: Class-Std-v0.0.8.tar.gz Source2: Config-Std-v0.0.4.tar.gz Source3: Locale-Maketext-Lexicon-0.62.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildArch: noarch Requires: perl >= 5.8, httpd, postgresql >= 8.1, tetex-latex Requires: perl-DBD-Pg, perl-DBI >= 1.48, perl-version, perl-Smart-Comments Requires: perl-MIME-Lite BuildRequires: perl # avoid bogus autodetection of perl modules: AutoReqProv: no %description LedgerSMB is a double-entry accounting system written in perl. LedgerSMB is a fork of sql-ledger offering better security and data integrity, and many advanced features. This package does not work in SELinux restricted mode. To finalize the ledgersmb installation: Enable local password autentication in PosgreSQL, leaving ident login for the postgres user: - Start PostgreSQL to create database instance (service postgres start) - Let /var/lib/pgsql/data/pg_hba.conf start with: local all postgres ident sameuser local all all md5 host all all 127.0.0.1/32 md5 - Restart PostgreSQL to apply changes (service postgres restart) In %{_sysconfdir}/%{name}/ledgersmb.conf set DBPassword to something and create the ledgersmb master user and database: su - postgres -c "createuser -d ledgersmb --createdb --superuser -P" su - postgres -c "createdb ledgersmb" su - postgres -c "createlang plpgsql ledgersmb" su - postgres -c "psql ledgersmb < %{_datadir}/%{name}/sql/Pg-central.sql" Bleeding edge hint: Set password to avoid bogus web prompt: su - postgres -c "psql ledgersmb -c \"update users_conf set password = md5('yada') where id = 1;\"" Visit http://localhost/ledgersmb/admin.pl with password "yada" and create an application database and users. %prep %setup -q -n ledgersmb # Include code from perl packages not available in the standard distribution mkdir .tmperl cd .tmperl tar xzf %SOURCE1 tar xzf %SOURCE2 tar xzf %SOURCE3 mv */lib/* .. cd .. chmod 0644 $(find . -type f) chmod 0755 $(find . -type d) chmod +x *.pl chmod -x pos.conf.pl custom.pl # FIXME: Config??? chmod +x utils/*/*.pl utils/devel/find-use utils/pos/pos-hardware-client-startup-script %build cat << TAK > rpm-ledgersmb-httpd.conf Alias /ledgersmb/doc/LedgerSMB-manual.pdf %{_docdir}/%{name}-%{version}/LedgerSMB-manual.pdf TAK perl -p -e "s,/some/path/to/ledgersmb,%{_datadir}/%{name},g" ledgersmb-httpd.conf >> rpm-ledgersmb-httpd.conf %install rm -rf $RPM_BUILD_ROOT mkdir -p -m0755 $RPM_BUILD_ROOT%{_datadir}/%{name} # /usr/lib/ledgersmb - readonly code and cgi directory mkdir -p -m0750 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} # /etc/ledgersmb - configs mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name} # /var/lib/ledgersmb - data files, modified by cgi mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/spool/%{name} # /var/spool/ledgersmb - spool files, modified by cgi # the conf, placed in etc, symlinked back in place mv ledgersmb.conf.default $RPM_BUILD_ROOT%{_sysconfdir}/ledgersmb/ledgersmb.conf ln -s ../../..%{_sysconfdir}/ledgersmb/ledgersmb.conf \ $RPM_BUILD_ROOT%{_datadir}/%{name}/ledgersmb.conf # install relevant parts in data/cgi directory cp -rp *.pl favicon.ico index.html ledger-smb.eps ledger-smb.gif ledger-smb.png ledger-smb_small.png menu.ini \ bin LedgerSMB sql utils locale drivers \ Config Class Locale \ $RPM_BUILD_ROOT%{_datadir}/%{name}/ rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/locale/legacy # users - written to by cgi mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/users ln -s ../../..%{_localstatedir}/lib/%{name}/users \ $RPM_BUILD_ROOT%{_datadir}/%{name}/users # css - written to by cgi mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/css ln -s ../../..%{_localstatedir}/lib/%{name}/css \ $RPM_BUILD_ROOT%{_datadir}/%{name}/css cp -rp css/* \ $RPM_BUILD_ROOT%{_datadir}/%{name}/css # templates - written to by cgi mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/templates ln -s ../../..%{_localstatedir}/lib/%{name}/templates \ $RPM_BUILD_ROOT%{_datadir}/%{name}/templates cp -rp templates/* \ $RPM_BUILD_ROOT%{_datadir}/%{name}/templates # spool - written to by cgi mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/%{name} ln -s ../../..%{_localstatedir}/spool/%{name} \ $RPM_BUILD_ROOT%{_datadir}/%{name}/spool # apache config file mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d install -m 644 rpm-ledgersmb-httpd.conf \ $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ledgersmb.conf %clean rm -rf $RPM_BUILD_ROOT %files %defattr(-,root,root) %{_datadir}/%{name} %attr(-, apache, apache) %config(noreplace) %{_localstatedir}/lib/%{name} %attr(-, apache, apache) %dir %{_localstatedir}/spool/%{name} %attr(0750, root, apache) %dir %{_sysconfdir}/%{name} %attr(0640, root, apache) %config(noreplace) %{_sysconfdir}/%{name}/* %config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf %doc doc/{COPYRIGHT,faq.html,LedgerSMB-manual.pdf,README,release_notes} %doc BUGS Changelog CONTRIBUTORS INSTALL LICENSE README.translations TODO UPGRADE %changelog * Fri Nov 10 2006 Mads Kiilerich - 1.2-alpha - Updating towards 1.2 * Wed Oct 18 2006 Mads Kiilerich - 1.1.1d-1 - Initial version