From 368e08190ca95f525c02d7e4fec81a855a72ddf0 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 19:17:00 +0000 Subject: [PATCH] Work on rpm package --- build/rpm/dolibarr_fedora.spec | 251 ++++++++++++++++++ .../{dolibarr.spec => dolibarr_generic.spec} | 88 +++--- build/rpm/dolibarr_mandriva.spec | 242 +++++++++++++++++ build/rpm/dolibarr_opensuse.spec | 241 +++++++++++++++++ build/rpm/install.forced.php.install | 4 +- 5 files changed, 771 insertions(+), 55 deletions(-) create mode 100755 build/rpm/dolibarr_fedora.spec rename build/rpm/{dolibarr.spec => dolibarr_generic.spec} (81%) mode change 100644 => 100755 create mode 100755 build/rpm/dolibarr_mandriva.spec create mode 100755 build/rpm/dolibarr_opensuse.spec diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec new file mode 100755 index 00000000000..e2233038cb9 --- /dev/null +++ b/build/rpm/dolibarr_fedora.spec @@ -0,0 +1,251 @@ +#--------------------------------------------------------- +# Spec file to build a rpm file +# +# This is an example to build a rpm file. You can use this +# file to build a package for your own distributions and +# edit it if you need to match your rules. +# -------------------------------------------------------- + +%define version __VERSION__ + +Name: dolibarr +Version: %{version} +Release: __RELEASE__%{?dist} +Summary: ERP and CRM software for small and medium companies or foundations +Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos +Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations +Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti + +License: GPLv2+ +#Packager: Laurent Destailleur (Eldy) +Vendor: Dolibarr dev team + +URL: http://www.dolibarr.org +Source0: http://www.dolibarr.org/files/fedora/dolibarr-%{version}.tgz +BuildArch: noarch +#BuildArchitectures: noarch +BuildRoot: %{_tmppath}/dolibarr-%{version}-build + +Group: Applications/Internet + +Requires: mysql-server mysql httpd php php-cli php-gd php-ldap php-imap php-mysql + + +# Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse) +AutoReqProv: no + + +%description +An easy to use CRM & ERP open source/free software for small +and medium companies, foundations or freelances. It includes different +features for Enterprise Resource Planning (ERP) and Customer Relationship +Management (CRM) but also for different other activities. +Dolibarr was designed to provide only features you need and be easy to +use. + +%description -l es +Un software ERP y CRM para pequeñas y medianas empresas, asociaciones +o autónomos. Incluye diferentes funcionalidades para la Planificación +de Recursos Empresariales (ERP) y Gestión de la Relación con los +Clientes (CRM) así como para para otras diferentes actividades. +Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades +que necesita y haciendo hincapié en su facilidad de uso. + +%description -l fr +Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, +artisans ou associations. Il permet de gérer vos clients, prospect, +fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings +et bien d'autres choses dans une interface pensée pour la simplicité. + +%description -l it +Un programmo gestionale per piccole e medie +imprese, fondazioni e liberi professionisti. Include varie funzionalità per +Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori +attività. Progettato per poter fornire solo ciò di cui hai bisogno +ed essere facile da usare. +Programmo web, progettato per poter fornire solo ciò di +cui hai bisogno ed essere facile da usare. + + + +#---- prep +%prep +%setup -q + + +#---- build +%build +# Nothing to build + + +#---- install +%install +%{__rm} -rf $RPM_BUILD_ROOT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf +%{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr + +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +%{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications +%{__desktop-file-install} -m 644 usr/share/dolibarr/build/rpmfedora/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop + +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT + + +#---- clean +%clean +%{__rm} -rf $RPM_BUILD_ROOT + + +#---- files +%files + +%defattr(-, root, root, 0755) +%doc /usr/share/doc/dolibarr/* +%dir /usr/share/dolibarr/build +%dir /usr/share/dolibarr/htdocs +%dir /usr/share/dolibarr/scripts +%_datadir/pixmaps/dolibarr.png +%_datadir/applications/dolibarr.desktop +/usr/share/dolibarr/build/* +/usr/share/dolibarr/htdocs/* +/usr/share/dolibarr/scripts/* + +%defattr(0664, -, -, 0755) +%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + + +#---- post (after unzip during install) +%post + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + +# Remove lock file +%{__rm} -f $docdir/install.lock + +# Create empty directory for uploaded files and generated documents +echo Create document directory $docdir +%{__mkdir} -p $docdir + +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] +then + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config +fi + +# Create config for se $seconfig +echo Add SE Linux permissions for dolibarr +# semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local +semanage fcontext -a -t httpd_sys_script_rw_t "/etc/dolibarr(/.*?)" +#semanage fcontext -a -t httpd_sys_script_rw_t "/usr/share/dolibarr(/.*?)" +semanage fcontext -a -t httpd_sys_script_rw_t "/var/lib/dolibarr(/.*?)" +restorecon -R -v /etc/dolibarr +#restorecon -R -v /usr/share/dolibarr +restorecon -R -v /var/lib/dolibarr + +# Create a config link dolibarr.conf +if [ ! -f $apachelink ]; then + echo Create dolibarr web server config link $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink +fi + +echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr +%{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr +%{__chmod} -R o-w /var/lib/dolibarr + +# Restart web server +echo Restart web server +if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart +fi +if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart +fi + +# Restart mysql +echo Restart mysql +if [ -f /etc/init.d/mysqld ]; then + /etc/init.d/mysqld restart +fi + +# Show result +echo +echo "----- Dolibarr %version - (c) Dolibarr dev team -----" +echo "Dolibarr files are now installed (into /usr/share/dolibarr)." +echo "To finish installation and use Dolibarr, click on ne menu" +echo "entry Dolibarr ERP-CRM or call the following page from your" +echo "web browser:" +echo "http://localhost/dolibarr/" +echo "--------------------------------------------------" +echo + + +#---- postun (after uninstall) +%postun + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpmfedora/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + +# Remove apache link +if [ -f $apachelink ] ; +then + echo Delete apache config link for Dolibarr + %{__rm} -f $apachelink + status=purge +fi + +# Restart web servers if required +if [ "x$status" = "xpurge" ] ; +then + # Restart web server + echo Restart web server + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi +fi + +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig + + +%changelog +* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 +- Initial version (#723326) diff --git a/build/rpm/dolibarr.spec b/build/rpm/dolibarr_generic.spec old mode 100644 new mode 100755 similarity index 81% rename from build/rpm/dolibarr.spec rename to build/rpm/dolibarr_generic.spec index 6829d98e847..6da6c40b3ed --- a/build/rpm/dolibarr.spec +++ b/build/rpm/dolibarr_generic.spec @@ -6,13 +6,11 @@ # edit it if you need to match your rules. # -------------------------------------------------------- -%define name dolibarr %define version __VERSION__ -%define release __RELEASE__ -Name: %{name} +Name: dolibarr Version: %{version} -Release: %{release} +Release: __RELEASE__ Summary: ERP and CRM software for small and medium companies or foundations Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations @@ -22,12 +20,11 @@ License: GPLv2+ #Packager: Laurent Destailleur (Eldy) Vendor: Dolibarr dev team -URL: http://www.%{name}.org -Source0: http://www.dolibarr.org/files/fedora/%{name}-%{version}.tgz +URL: http://www.dolibarr.org +Source0: http://www.dolibarr.org/files/fedora/dolibarr-%{version}.tgz BuildArch: noarch #BuildArchitectures: noarch -BuildRoot: %{_tmppath}/%{name}-%{version}-build -#Icon: dolibarr_logo1.gif +BuildRoot: %{_tmppath}/dolibarr-%{version}-build # For Mandriva-Mageia Group: Networking/WWW @@ -41,9 +38,6 @@ Requires: mysql-server mysql httpd php php-cli php-gd php-ldap php-imap php-mysq # Requires for Mandriva-Mageia #Requires: mysql mysql-client apache-base apache-mod_php php-cgi php-cli php-bz2 php-gd php-ldap php-imap php-mysqli php-openssl -#Requires(pre): -#Requires(postun): - # Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse) AutoReqProv: no @@ -83,7 +77,6 @@ cui hai bisogno ed essere facile da usare. #---- prep %prep -echo Building %{name}-%{version}-%{release} %setup -q @@ -124,16 +117,38 @@ echo Building %{name}-%{version}-%{release} #---- files %files -%defattr(-,root,root) -%doc %{_datadir}/doc/dolibarr/* +%defattr(-, root, root, 0755) +%doc /usr/share/doc/dolibarr/* %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts %_datadir/pixmaps/dolibarr.png -%_datadir/applications/%{name}.desktop +%_datadir/applications/dolibarr.desktop /usr/share/dolibarr/build/* /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* +#lang(ar_SA) /usr/share/dolibarr/htdocs/langs/ar_SA +#lang(ca_ES) /usr/share/dolibarr/htdocs/langs/ca_ES +#lang(da_DK) /usr/share/dolibarr/htdocs/langs/da_DK +#lang(de_AT) /usr/share/dolibarr/htdocs/langs/de_AT +#lang(de_DE) /usr/share/dolibarr/htdocs/langs/de_DE +#lang(el_GR) /usr/share/dolibarr/htdocs/langs/el_GR +#lang(en_AU) /usr/share/dolibarr/htdocs/langs/el_AU +#lang(en_GB) /usr/share/dolibarr/htdocs/langs/el_GB +#lang(en_IN) /usr/share/dolibarr/htdocs/langs/el_IN +#lang(en_NZ) /usr/share/dolibarr/htdocs/langs/el_NZ +#lang(en) /usr/share/dolibarr/htdocs/langs/en_US +#lang(es_AR) /usr/share/dolibarr/htdocs/langs/es_AR +#lang(es) /usr/share/dolibarr/htdocs/langs/es_ES +#lang(es_HN) /usr/share/dolibarr/htdocs/langs/es_HN +#lang(es_MX) /usr/share/dolibarr/htdocs/langs/en_MX +#lang(es_PR) /usr/share/dolibarr/htdocs/langs/en_PR +#lang(fa_IR) /usr/share/dolibarr/htdocs/langs/fa_IR +#lang(fi_FI) /usr/share/dolibarr/htdocs/langs/fi_FI +#lang(fr_BE) /usr/share/dolibarr/htdocs/langs/fr_BE +#lang(fr_CA) /usr/share/dolibarr/htdocs/langs/fr_CA +#lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH +#lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR %defattr(0664, -, -, 0755) %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf @@ -144,15 +159,9 @@ echo Building %{name}-%{version}-%{release} %post # Define vars -# Dolibarr files are stored into /usr/share -export targetdir='/usr/share/dolibarr' -# Dolibarr uploaded files and generated documents will be stored into docdir export docdir="/var/lib/dolibarr/documents" -export installfileorig="$targetdir/build/rpm/install.forced.php.install" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" -export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -#export config="/usr/share/dolibarr/htdocs/conf/conf.php" export config="%{_sysconfdir}/dolibarr/conf.php" # Detect OS @@ -189,22 +198,9 @@ echo OS detected: $os # Create empty directory for uploaded files and generated documents echo Create document directory $docdir %{__mkdir} -p $docdir -%{__mkdir} -p %{_sysconfdir}/dolibarr # Create install.forced.php into Dolibarr install directory -superuserlogin='' -superuserpassword='' -if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then - # Load superuser login and pass - superuserlogin=$(/bin/grep --max-count=1 "user" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^user[ =]*//g') - superuserpassword=$(/bin/grep --max-count=1 "password" %{_sysconfdir}/mysql/debian.cnf | /bin/sed -e 's/^password[ =]*//g') -fi -echo Mysql superuser found to use is $superuserlogin -if [ -z "$superuserlogin" ] ; then - %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig -else - %{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig -fi +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig %{__chown} -R root:$apachegroup $installconfig %{__chmod} -R 660 $installconfig @@ -217,7 +213,7 @@ then %{__chmod} -R 660 $config fi -# Create config file for se $seconfig +# Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then echo Add SE Linux permissions for dolibarr # semanage add records into /etc/selinux/targeted/contexts/files/file_contexts.local @@ -232,15 +228,9 @@ fi # Create a config link dolibarr.conf if [ ! -f $apachelink ]; then echo Create dolibarr web server config link $apachelink - ln -fs $apacheconfig $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi -# Set permissions -echo Set permission to $apacheuser:$apachegroup on $targetdir -%{__chown} -R $apacheuser:$apachegroup $targetdir -%{__chmod} -R a-w $targetdir -%{__chmod} u+w $targetdir - echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr %{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr %{__chmod} -R o-w /var/lib/dolibarr @@ -276,15 +266,9 @@ echo %postun # Define vars -# Dolibarr files are stored into targetdir -export targetdir='/usr/share/dolibarr' -# Dolibarr uploaded files and generated documents will be stored into docdir export docdir="/var/lib/dolibarr/documents" -export installfileorig="$targetdir/build/rpm/install.forced.php.install" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" -export apachefileorig="$targetdir/build/rpm/httpd-dolibarr.conf" -export apacheconfig="%{_sysconfdir}/dolibarr/apache.conf" -#export config="/usr/share/dolibarr/htdocs/conf/conf.php" export config="%{_sysconfdir}/dolibarr/conf.php" @@ -342,8 +326,6 @@ echo Removed remaining $config %{__rm} -f $config echo Removed remaining $installconfig %{__rm} -f $installconfig -echo Removed remaining $docdir/install.lock -%{__rm} -f $docdir/install.lock %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec new file mode 100755 index 00000000000..ab20ef74107 --- /dev/null +++ b/build/rpm/dolibarr_mandriva.spec @@ -0,0 +1,242 @@ +#--------------------------------------------------------- +# Spec file to build a rpm file +# +# This is an example to build a rpm file. You can use this +# file to build a package for your own distributions and +# edit it if you need to match your rules. +# -------------------------------------------------------- + +%define version __VERSION__ + +Name: dolibarr +Version: %{version} +Release: __RELEASE__ +Summary: ERP and CRM software for small and medium companies or foundations +Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos +Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations +Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti + +License: GPLv2+ +#Packager: Laurent Destailleur (Eldy) +Vendor: Dolibarr dev team + +URL: http://www.dolibarr.org +Source0: http://www.dolibarr.org/files/mandriva/dolibarr-%{version}.tgz +BuildArch: noarch +#BuildArchitectures: noarch +BuildRoot: %{_tmppath}/dolibarr-%{version}-build + +Group: Networking/WWW + +Requires: mysql mysql-client apache-base apache-mod_php php-cgi php-cli php-bz2 php-gd php-ldap php-imap php-mysqli php-openssl + + +# Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse) +AutoReqProv: no + + +%description +An easy to use CRM & ERP open source/free software for small +and medium companies, foundations or freelances. It includes different +features for Enterprise Resource Planning (ERP) and Customer Relationship +Management (CRM) but also for different other activities. +Dolibarr was designed to provide only features you need and be easy to +use. + +%description -l es +Un software ERP y CRM para pequeñas y medianas empresas, asociaciones +o autónomos. Incluye diferentes funcionalidades para la Planificación +de Recursos Empresariales (ERP) y Gestión de la Relación con los +Clientes (CRM) así como para para otras diferentes actividades. +Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades +que necesita y haciendo hincapié en su facilidad de uso. + +%description -l fr +Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, +artisans ou associations. Il permet de gérer vos clients, prospect, +fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings +et bien d'autres choses dans une interface pensée pour la simplicité. + +%description -l it +Un programmo gestionale per piccole e medie +imprese, fondazioni e liberi professionisti. Include varie funzionalità per +Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori +attività. Progettato per poter fornire solo ciò di cui hai bisogno +ed essere facile da usare. +Programmo web, progettato per poter fornire solo ciò di +cui hai bisogno ed essere facile da usare. + + + +#---- prep +%prep +%setup -q + + +#---- build +%build +# Nothing to build + + +#---- install +%install +%{__rm} -rf $RPM_BUILD_ROOT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf +%{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr + +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +%{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications +%{__install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop + +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT + + +#---- clean +%clean +%{__rm} -rf $RPM_BUILD_ROOT + + +#---- files +%files + +%defattr(-, root, root, 0755) +%doc /usr/share/doc/dolibarr/* +%dir /usr/share/dolibarr/build +%dir /usr/share/dolibarr/htdocs +%dir /usr/share/dolibarr/scripts +%_datadir/pixmaps/dolibarr.png +%_datadir/applications/dolibarr.desktop +/usr/share/dolibarr/build/* +/usr/share/dolibarr/htdocs/* +/usr/share/dolibarr/scripts/* + +%defattr(0664, -, -, 0755) +%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + + +#---- post (after unzip during install) +%post + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + +# Remove lock file +%{__rm} -f $docdir/install.lock + +# Create empty directory for uploaded files and generated documents +echo Create document directory $docdir +%{__mkdir} -p $docdir + +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] +then + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config +fi + +# Create a config link dolibarr.conf +if [ ! -f $apachelink ]; then + echo Create dolibarr web server config link $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink +fi + +echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr +%{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr +%{__chmod} -R o-w /var/lib/dolibarr + +# Restart web server +echo Restart web server +if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart +fi +if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart +fi + +# Restart mysql +echo Restart mysql +if [ -f /etc/init.d/mysqld ]; then + /etc/init.d/mysqld restart +fi + +# Show result +echo +echo "----- Dolibarr %version - (c) Dolibarr dev team -----" +echo "Dolibarr files are now installed (into /usr/share/dolibarr)." +echo "To finish installation and use Dolibarr, click on ne menu" +echo "entry Dolibarr ERP-CRM or call the following page from your" +echo "web browser:" +echo "http://localhost/dolibarr/" +echo "--------------------------------------------------" +echo + + +#---- postun (after uninstall) +%postun + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" +export apacheuser='apache'; +export apachegroup='apache'; + + +# Remove apache link +if [ -f $apachelink ] ; +then + echo Delete apache config link for Dolibarr + %{__rm} -f $apachelink + status=purge +fi + +# Restart web servers if required +if [ "x$status" = "xpurge" ] ; +then + # Restart web server + echo Restart web server + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi +fi + +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig + + +%changelog +* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 +- Initial version (#723326) diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec new file mode 100755 index 00000000000..00373a852a2 --- /dev/null +++ b/build/rpm/dolibarr_opensuse.spec @@ -0,0 +1,241 @@ +#--------------------------------------------------------- +# Spec file to build a rpm file +# +# This is an example to build a rpm file. You can use this +# file to build a package for your own distributions and +# edit it if you need to match your rules. +# -------------------------------------------------------- + +%define version __VERSION__ + +Name: dolibarr +Version: %{version} +Release: __RELEASE__ +Summary: ERP and CRM software for small and medium companies or foundations +Summary(es): Software ERP y CRM para pequeñas y medianas empresas o, asociaciones o autónomos +Summary(fr): Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs ou associations +Summary(it): Programmo gestionale per piccole imprese, fondazioni e liberi professionisti + +License: GPLv2+ +#Packager: Laurent Destailleur (Eldy) +Vendor: Dolibarr dev team + +URL: http://www.dolibarr.org +Source0: http://www.dolibarr.org/files/opensuse/dolibarr-%{version}.tgz +BuildArch: noarch +#BuildArchitectures: noarch +BuildRoot: %{_tmppath}/dolibarr-%{version}-build + +Group: Applications/Internet + +Requires: mysql-community-server mysql-community-server-client apache2 apache2-mod_php5 php5 php5-gd php5-ldap php5-imap php5-mysql php5-openssl + + +# Set yes to build test package, no for release (this disable need of /usr/bin/php not found by OpenSuse) +AutoReqProv: no + + +%description +An easy to use CRM & ERP open source/free software for small +and medium companies, foundations or freelances. It includes different +features for Enterprise Resource Planning (ERP) and Customer Relationship +Management (CRM) but also for different other activities. +Dolibarr was designed to provide only features you need and be easy to +use. + +%description -l es +Un software ERP y CRM para pequeñas y medianas empresas, asociaciones +o autónomos. Incluye diferentes funcionalidades para la Planificación +de Recursos Empresariales (ERP) y Gestión de la Relación con los +Clientes (CRM) así como para para otras diferentes actividades. +Dolibarr ha sido diseñado para suministrarle solamente las funcionalidades +que necesita y haciendo hincapié en su facilidad de uso. + +%description -l fr +Logiciel ERP & CRM de gestion de PME/PMI, autoentrepreneurs, +artisans ou associations. Il permet de gérer vos clients, prospect, +fournisseurs, devis, factures, comptes bancaires, agenda, campagnes mailings +et bien d'autres choses dans une interface pensée pour la simplicité. + +%description -l it +Un programmo gestionale per piccole e medie +imprese, fondazioni e liberi professionisti. Include varie funzionalità per +Enterprise Resource Planning e gestione dei clienti (CRM), ma anche ulteriori +attività. Progettato per poter fornire solo ciò di cui hai bisogno +ed essere facile da usare. +Programmo web, progettato per poter fornire solo ciò di +cui hai bisogno ed essere facile da usare. + + + +#---- prep +%prep +%setup -q + + +#---- build +%build +# Nothing to build + + +#---- install +%install +%{__rm} -rf $RPM_BUILD_ROOT + +%{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/apache.conf $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/apache.conf +%{__install} -m 644 etc/dolibarr/file_contexts.dolibarr $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/file_contexts.dolibarr + +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps +%{__install} -m 644 usr/share/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications +%{__install} -m 644 usr/share/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop + +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/build +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/htdocs +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/dolibarr/scripts +%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__cp} -pr usr/share/dolibarr/build $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/htdocs $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/scripts $RPM_BUILD_ROOT/usr/share/dolibarr +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT%{_datadir}/doc/dolibarr/COPYRIGHT + + +#---- clean +%clean +%{__rm} -rf $RPM_BUILD_ROOT + + +#---- files +%files + +%defattr(-, root, root, 0755) +%doc /usr/share/doc/dolibarr/* +%dir /usr/share/dolibarr/build +%dir /usr/share/dolibarr/htdocs +%dir /usr/share/dolibarr/scripts +%_datadir/pixmaps/dolibarr.png +%_datadir/applications/dolibarr.desktop +/usr/share/dolibarr/build/* +/usr/share/dolibarr/htdocs/* +/usr/share/dolibarr/scripts/* + +%defattr(0664, -, -, 0755) +%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr + + +#---- post (after unzip during install) +%post + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" +export apacheuser='wwwrun'; +export apachegroup='www'; + +# Remove lock file +%{__rm} -f $docdir/install.lock + +# Create empty directory for uploaded files and generated documents +echo Create document directory $docdir +%{__mkdir} -p $docdir + +# Create install.forced.php into Dolibarr install directory +%{__cat} $installfileorig | sed -e 's/__SUPERUSERLOGIN__/root/g' | sed -e 's/__SUPERUSERPASSWORD__//g' > $installconfig +%{__chown} -R root:$apachegroup $installconfig +%{__chmod} -R 660 $installconfig + +# Create an empty conf.php with permission to web server +if [ ! -f $config ] +then + echo Create empty file $config + touch $config + %{__chown} -R root:$apachegroup $config + %{__chmod} -R 660 $config +fi + +# Create a config link dolibarr.conf +if [ ! -f $apachelink ]; then + echo Create dolibarr web server config link $apachelink + ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink +fi + +echo Set permission to $apacheuser:$apachegroup on /var/lib/dolibarr +%{__chown} -R $apacheuser:$apachegroup /var/lib/dolibarr +%{__chmod} -R o-w /var/lib/dolibarr + +# Restart web server +echo Restart web server +if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart +fi +if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart +fi + +# Restart mysql +echo Restart mysql +if [ -f /etc/init.d/mysqld ]; then + /etc/init.d/mysqld restart +fi + +# Show result +echo +echo "----- Dolibarr %version - (c) Dolibarr dev team -----" +echo "Dolibarr files are now installed (into /usr/share/dolibarr)." +echo "To finish installation and use Dolibarr, click on ne menu" +echo "entry Dolibarr ERP-CRM or call the following page from your" +echo "web browser:" +echo "http://localhost/dolibarr/" +echo "--------------------------------------------------" +echo + + +#---- postun (after uninstall) +%postun + +# Define vars +export docdir="/var/lib/dolibarr/documents" +export installfileorig="/usr/share/dolibarr/build/rpm/install.forced.php.install" +export installconfig="%{_sysconfdir}/dolibarr/install.forced.php" +export config="%{_sysconfdir}/dolibarr/conf.php" +export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" +export apacheuser='wwwrun'; +export apachegroup='www'; + +# Remove apache link +if [ -f $apachelink ] ; +then + echo Delete apache config link for Dolibarr + %{__rm} -f $apachelink + status=purge +fi + +# Restart web servers if required +if [ "x$status" = "xpurge" ] ; +then + # Restart web server + echo Restart web server + if [ -f %{_sysconfdir}/init.d/httpd ]; then + %{_sysconfdir}/init.d/httpd restart + fi + if [ -f %{_sysconfdir}/init.d/apache2 ]; then + %{_sysconfdir}/init.d/apache2 restart + fi +fi + +# Removed dirs after apache restart +echo Removed remaining $config +%{__rm} -f $config +echo Removed remaining $installconfig +%{__rm} -f $installconfig + + +%changelog +* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1 +- Initial version (#723326) diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 4d2924a83b4..6f760075c5d 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -10,8 +10,8 @@ $force_install_createdatabase='1'; $force_install_databaselogin='dolibarrrpm'; $force_install_databasepass=''; $force_install_createuser='1'; -$force_install_databaserootlogin='__SUPERUSERLOGIN__'; -$force_install_databaserootpass='__SUPERUSERPASSWORD__'; +$force_install_databaserootlogin='root'; +$force_install_databaserootpass=''; $force_install_dolibarrlogin='admin'; $force_install_nophpinfo='1'; $force_install_lockinstall='444';