summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dists/rpm/ledgersmb.spec159
1 files changed, 89 insertions, 70 deletions
diff --git a/dists/rpm/ledgersmb.spec b/dists/rpm/ledgersmb.spec
index 5d6bb47d..dfef1671 100644
--- a/dists/rpm/ledgersmb.spec
+++ b/dists/rpm/ledgersmb.spec
@@ -1,141 +1,160 @@
+# RPM spec written for and tested on Fedora Core 6
Summary: LedgerSMB - Open Source accounting software
Name: ledger-smb
-Version: 1.1.1d
+Version: svn
Release: 1
License: GPL
URL: http://www.ledgersmb.org/
-Group: Applications/Office
+Group: Applications/Productivity
Source0: http://prdownloads.sourceforge.net/ledger-smb/%{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-server >= 8.1, perl-DBD-Pg, perl-DBI
+Requires: perl >= 5.8, httpd, postgresql-server >= 8.1, tetex-latex
+Requires: perl-DBD-Pg, perl-DBI, perl-version, perl-Smart-Comments, 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,
+LedgerSMB is a fork of sql-ledger offering better security and data integrity,
and many advanced features.
-SELinux should be disabled to use this RPM.
+This package does not work in SELinux restricted mode.
-To finalize the installation:
+To finalize the ledger-smb installation:
-Start PostgreSQL, let /var/lib/pgsql/data/pg_hba.conf start with
+Start the PostgreSQL service, let /var/lib/pgsql/data/pg_hba.conf start with:
local all postgres ident sameuser
local all all md5
-and restart PostgreSQL
+host all all 127.0.0.1/32 md5
+(Remember to restart PostgreSQL.)
+
+In %{_sysconfdir}/%{name}/ledger-smb.conf set DBPassword to something
+and create the ledgersmb master user and database:
+su - postgres -c "createuser -d ledgersmb --createdb --createrole --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;\""
-Create databaseuser, create database and initialize it
-su - postgres -c "createuser -d ledger-smb --no-createdb --no-createrole --no-superuser -P"
-(remember the password!)
-su - postgres -c "createdb ledger-smb"
-su - postgres -c "createlang plpgsql ledger-smb"
+Visit http://localhost/ledger-smb/admin.pl with password "yada" and create an
+application database and users.
-Delete the "password" in %{_localstatedir}/lib/%{name}/users/members and
-browse http://localhost/ledger-smb/admin.pl and set a ledger-smb master password.
-In "Pg Database Administration" the "User" defaults to the database user "ledger-smb"
-we just created - specify the password and "Create Dataset".
-Set "Create Dataset" to the database "ledger-smb" we just created and continue.
-In "Add User" specify the Dataset, User and password again for each user.
%prep
%setup -q -n ledger-smb
-%build
+# 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 ..
-# generate .conf from default with fixes
-perl -p -e 's,^(\$ENV\{PATH\}),#\1,g' ledger-smb.conf.default > ledger-smb.conf
+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
-# fix location
-perl -pi -e "s,/usr/local/ledger-smb,%{_datadir}/%{name},g" ledger-smb-httpd.conf
-%install
+%build
-# Most stuff is installed readonly in %{_datadir}/%{name}/
-# Some parts are installed other places with other policies and symlinked in place
+cat << TAK > rpm-ledger-smb-httpd.conf
+Alias /ledger-smb/doc/LedgerSMB-manual.pdf %{_docdir}/%{name}-%{version}/LedgerSMB-manual.pdf
+<Files %{_docdir}/%{name}-%{version}/LedgerSMB-manual.pdf>
+</Files>
-rm -rf $RPM_BUILD_ROOT
-mkdir -p -m0755 $RPM_BUILD_ROOT%{_datadir}/%{name} # /usr/share/ledger-smb - primary and cgi directory
-mkdir -p -m0755 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} # /etc/ledger-smb - links to configs
-mkdir -p -m0755 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name} # /var/lib/ledger-smb - data files, modified by cgi
-mkdir -p -m0755 $RPM_BUILD_ROOT%{_localstatedir}/spool/%{name} # /var/spool/ledger-smb - spool files, modified by cgi
+TAK
-# rm setup.pl SL2LS.pl # FiXME - install somewhere else...
+perl -p -e "s,/some/path/to/ledger-smb,%{_datadir}/%{name},g" ledger-smb-httpd.conf >> rpm-ledger-smb-httpd.conf
-# the executable conf
-mv ledger-smb.conf $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/ledger-smb.conf
-# link from /etc to our executable conf
-ln -s ../..%{_localstatedir}/lib/%{name}/ledger-smb.conf \
- $RPM_BUILD_ROOT%{_sysconfdir}/ledger-smb/
+%install
-# link from cgi stuff to our executable conf
-ln -s ../../..%{_localstatedir}/lib/%{name}/ledger-smb.conf \
+rm -rf $RPM_BUILD_ROOT
+mkdir -p -m0755 $RPM_BUILD_ROOT%{_datadir}/%{name} # /usr/lib/ledger-smb - readonly code and cgi directory
+mkdir -p -m0750 $RPM_BUILD_ROOT%{_sysconfdir}/%{name} # /etc/ledger-smb - configs
+mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name} # /var/lib/ledger-smb - data files, modified by cgi
+mkdir -p -m0750 $RPM_BUILD_ROOT%{_localstatedir}/spool/%{name} # /var/spool/ledger-smb - spool files, modified by cgi
+
+# the conf, placed in etc, symlinked back in place
+mv ledger-smb.conf.default $RPM_BUILD_ROOT%{_sysconfdir}/ledger-smb/ledger-smb.conf
+ln -s ../../..%{_sysconfdir}/ledger-smb/ledger-smb.conf \
$RPM_BUILD_ROOT%{_datadir}/%{name}/ledger-smb.conf
-#FIXME
-# menu.ini is pure configuration
-mv menu.ini $RPM_BUILD_ROOT%{_sysconfdir}/ledger-smb/menu.ini
-ln -s ../../..%{_sysconfdir}/ledger-smb/menu.ini \
- $RPM_BUILD_ROOT%{_datadir}/%{name}/menu.ini
-
-# install forelevant parts in data / cgi directory
+# install relevant parts in data/cgi directory
cp -rp *.pl favicon.ico index.html ledger-smb.gif ledger-smb.png ledger-smb_small.png menu.ini \
- bin LedgerSMB sql utils locale \
+ bin LedgerSMB sql utils locale drivers \
+ Config Class Locale \
$RPM_BUILD_ROOT%{_datadir}/%{name}/
+rm $RPM_BUILD_ROOT%{_datadir}/%{name}/{setup.pl,SL2LS.pl} # FIXME - install somewhere else...
+rm -rf $RPM_BUILD_ROOT%{_datadir}/%{name}/locale/legacy
-# users - written by cgi
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/users
+# 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
-cat << TAK > $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/users/members
-# LedgerSMB Accounting members
-[root login]
-password=
-TAK
+ $RPM_BUILD_ROOT%{_datadir}/%{name}/users
-# css - written by cgi
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/css
+# 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 by cgi
-mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/lib/%{name}/templates
+# 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 by cgi
+# spool - written to by cgi
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/spool/%{name}
ln -s ../../..%{_localstatedir}/spool/%{name} \
$RPM_BUILD_ROOT%{_datadir}/%{name}/spool
-# install the apache config file
+# apache config file
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d
-install -m 644 ledger-smb-httpd.conf \
- $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/
+install -m 644 rpm-ledger-smb-httpd.conf \
+ $RPM_BUILD_ROOT%{_sysconfdir}/httpd/conf.d/ledger-smb.conf
+
%clean
rm -rf $RPM_BUILD_ROOT
+
%files
%defattr(-,root,root)
%{_datadir}/%{name}
-%attr(0700, apache, apache) %config(noreplace) %{_localstatedir}/lib/%{name}
-%attr(0700, apache, apache) %dir %{_localstatedir}/spool/%{name}
-%attr(0640, root, apache) %config(noreplace) %{_sysconfdir}/ledger-smb
-%attr(0640, root, apache) %config(noreplace) %{_sysconfdir}/httpd/conf.d/*.conf
+%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,LedgerSMB-manual.pdf,README,faq.html,release_notes}
+%doc LICENSE README.sql-ledger README.translations TODO Changelog CONTRIBUTORS
-%doc doc/*
-%doc LICENSE README.sql-ledger TODO Changelog CONTRIBUTORS COPYRIGHT
%changelog
+* Fri Nov 10 2006 Mads Kiilerich <mads@kiilerich.com> - 1.2 alpha
+- Updating towards 1.2
+
* Wed Oct 18 2006 Mads Kiilerich <mads@kiilerich.com> - 1.1.1d-1
- Initial version
+