From 21b10bf8207e9afeacce85f4bdc6e65349f0464c Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 6 Aug 2011 23:10:00 +0000 Subject: [PATCH] Work on rpm package --- build/makepack-dolibarr.pl | 28 +++++++---- build/rpm/conf.php | 9 ++++ build/rpm/dolibarr_fedora.spec | 54 +++++++-------------- build/rpm/dolibarr_generic.spec | 71 ++++++++++++---------------- build/rpm/dolibarr_mandriva.spec | 53 +++++++-------------- build/rpm/dolibarr_opensuse.spec | 51 +++++++------------- build/rpm/install.forced.php.install | 6 +-- htdocs/install/fileconf.php | 27 ++++++----- 8 files changed, 127 insertions(+), 172 deletions(-) create mode 100755 build/rpm/conf.php diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index f2fe4a762d1..c090ef77e3b 100644 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -2,7 +2,7 @@ #---------------------------------------------------------------------------- # \file build/makepack-dolibarr.pl # \brief Dolibarr package builder (tgz, zip, rpm, deb, exe, aps) -# \version $Id: makepack-dolibarr.pl,v 1.133 2011/08/03 21:46:02 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.134 2011/08/06 23:10:01 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -14,12 +14,15 @@ $MINOR="1"; $BUILD="0-beta"; # Mettre x pour release, x-dev pour dev, x-beta pour beta, x-rc pour release candidate $RPMSUBVERSION="auto"; # auto use value found into BUILD -@LISTETARGET=("TGZ","ZIP","RPM","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages +@LISTETARGET=("TGZ","ZIP","RPM_GENE","RPM_FEDO","RPM_MAND","RPM_OPEN","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages %REQUIREMENTTARGET=( # Tool requirement for each package "SNAPSHOT"=>"tar", "TGZ"=>"tar", "ZIP"=>"7z", -"RPM"=>"rpmbuild", +"RPM_GENE"=>"rpmbuild", +"RPM_FEDO"=>"rpmbuild", +"RPM_MAND"=>"rpmbuild", +"RPM_OPEN"=>"rpmbuild", "DEB"=>"dpkg", "APS"=>"zip", "EXEDOLIWAMP"=>"iscc.exe" @@ -48,7 +51,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.133 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.134 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -135,14 +138,14 @@ else { } # On demande de choisir le fichier à passer - print "Choose one package number or several separated with space: "; + print "Choose one package number or several separated with space (0 - ".$cpt."): "; $NUM_SCRIPT=; chomp($NUM_SCRIPT); if ($NUM_SCRIPT =~ s/-//g) { # Do not do copy $copyalreadydone=1; } - if ($NUM_SCRIPT !~ /^[0-$cpt\s]+$/) + if ($NUM_SCRIPT !~ /^[0-9\s]+$/) { print "This is not a valid package number list.\n"; $found = 0; @@ -421,7 +424,7 @@ if ($nboftargetok) { next; } - if ($target eq 'RPM') { # Linux only + if ($target =~ /RPM/) { # Linux only #$ARCH='i386'; $ARCH='noarch'; if ($RPMDIR eq "") { $RPMDIR=$ENV{'HOME'}."/rpmbuild"; } @@ -506,6 +509,8 @@ if ($nboftargetok) { $ret=`mkdir -p "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT"`; $ret=`cp "$SOURCE/build/rpm/httpd-dolibarr.conf" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/apache.conf"`; $ret=`cp "$SOURCE/build/rpm/file_contexts.dolibarr" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/file_contexts.dolibarr"`; + $ret=`cp "$SOURCE/build/rpm/conf.php" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/conf.php"`; + $ret=`cp "$SOURCE/build/rpm/install.forced.php.install" "$BUILDROOT/$FILENAMETGZ2/etc/$PROJECT/install.forced.php"`; # Dolibarr conf files # TODO @@ -555,9 +560,14 @@ if ($nboftargetok) { rename("$BUILDROOT/$FILENAMETGZ2.tgz","$RPMDIR/SOURCES/$FILENAMETGZ2.tgz"); $ret=`$cmd`; - $BUILDFIC="$FILENAME.spec"; + $BUILDFIC="${FILENAME}.spec"; + $BUILDFICSRC="${FILENAME}_generic.spec"; + if ($target =~ /FEDO/i) { $BUILDFICSRC="${FILENAME}_fedora.spec"; } + if ($target =~ /MAND/i) { $BUILDFICSRC="${FILENAME}_mandriva.spec"; } + if ($target =~ /OPEN/i) { $BUILDFICSRC="${FILENAME}_opensuse.spec"; } + print "Generate file $BUILDROOT/$BUILDFIC\n"; - open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFIC}") || die "Error"; + open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; while () { $_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/; diff --git a/build/rpm/conf.php b/build/rpm/conf.php new file mode 100755 index 00000000000..4aa076f41d8 --- /dev/null +++ b/build/rpm/conf.php @@ -0,0 +1,9 @@ +#!/usr/bin/php + \ No newline at end of file diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index e2233038cb9..8f0a678759d 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -73,33 +73,37 @@ cui hai bisogno ed essere facile da usare. %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/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 +%{__desktop-file-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 +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/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 +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT #---- clean @@ -107,11 +111,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +126,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %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'; @@ -145,19 +150,7 @@ export apachegroup='apache'; 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 +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig echo Add SE Linux permissions for dolibarr @@ -170,7 +163,7 @@ restorecon -R -v /etc/dolibarr restorecon -R -v /var/lib/dolibarr # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -198,7 +191,7 @@ fi 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 "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -210,16 +203,10 @@ echo %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 ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -239,11 +226,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 6da6c40b3ed..6a03be7d091 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -80,16 +80,20 @@ cui hai bisogno ed essere facile da usare. %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/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -101,12 +105,13 @@ cui hai bisogno ed essere facile da usare. %{__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 +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/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 +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -114,11 +119,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -150,19 +156,20 @@ cui hai bisogno ed essere facile da usare. #lang(fr_CH) /usr/share/dolibarr/htdocs/langs/fr_CH #lang(fr) /usr/share/dolibarr/htdocs/langs/fr_FR -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %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" # Detect OS os='unknown'; @@ -200,18 +207,20 @@ 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 ] +if [ "x$os" = "xubuntu-debian" ] then - echo Create empty file $config - touch $config - %{__chown} -R root:$apachegroup $config - %{__chmod} -R 660 $config + 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 + %{__cat} /usr/share/dolibarr/build/rpm/install.forced.php.install | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig + %{__chmod} -R 660 $installconfig fi +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create config for se $seconfig if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then @@ -226,7 +235,7 @@ if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon ]; then fi # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -254,7 +263,7 @@ fi 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 "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -262,46 +271,31 @@ 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" - - # Detect OS os='unknown'; if [ -d %{_sysconfdir}/httpd/conf.d ]; then export os='fedora-redhat'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then export os='opensuse'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='wwwrun'; - export apachegroup='www'; fi if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then export os='mageia-mandriva'; export apachelink="%{_sysconfdir}/httpd/conf.d/dolibarr.conf" - export apacheuser='apache'; - export apachegroup='apache'; fi if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^www-data /etc/passwd | wc -l` -ge 1 ]; then export os='ubuntu-debian'; export apachelink="%{_sysconfdir}/apache2/conf.d/dolibarr.conf" - export apacheuser='www-data'; - export apachegroup='www-data'; fi -echo OS detected: $os # Remove apache link -if [ -f $apachelink ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -321,11 +315,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ab20ef74107..5dd30522ed4 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -73,16 +73,20 @@ cui hai bisogno ed essere facile da usare. %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/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +98,12 @@ cui hai bisogno ed essere facile da usare. %{__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 +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/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 +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT #---- clean @@ -107,11 +111,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +126,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %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'; @@ -145,22 +150,10 @@ export apachegroup='apache'; 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 +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +181,7 @@ fi 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 "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,17 +193,10 @@ echo %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 ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -230,11 +216,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 00373a852a2..c5c6e9e6074 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -83,6 +83,8 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT %{__mkdir} -p $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr +%{__install} -m 644 etc/dolibarr/conf.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/conf.php +%{__install} -m 644 etc/dolibarr/install.forced.php $RPM_BUILD_ROOT%{_sysconfdir}/dolibarr/install.forced.php %{__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 @@ -94,12 +96,13 @@ cui hai bisogno ed essere facile da usare. %{__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 +%{__mkdir} -p $RPM_BUILD_ROOT/usr/share/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 +%{__cp} -pr usr/share/dolibarr/doc/* $RPM_BUILD_ROOT/usr/share/doc/dolibarr +%{__install} -m 644 usr/share/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/usr/share/doc/dolibarr/COPYRIGHT + #---- clean @@ -107,11 +110,12 @@ cui hai bisogno ed essere facile da usare. %{__rm} -rf $RPM_BUILD_ROOT + #---- files %files %defattr(-, root, root, 0755) -%doc /usr/share/doc/dolibarr/* +%doc /usr/share/doc/dolibarr %dir /usr/share/dolibarr/build %dir /usr/share/dolibarr/htdocs %dir /usr/share/dolibarr/scripts @@ -121,19 +125,19 @@ cui hai bisogno ed essere facile da usare. /usr/share/dolibarr/htdocs/* /usr/share/dolibarr/scripts/* -%defattr(0664, -, -, 0755) +%defattr(0664, -, -) +%config(noreplace) %{_sysconfdir}/dolibarr/conf.php %config(noreplace) %{_sysconfdir}/dolibarr/apache.conf +%config(noreplace) %{_sysconfdir}/dolibarr/install.forced.php %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'; @@ -145,22 +149,10 @@ export apachegroup='www'; 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 +%{__chown} -R root:$apachegroup /etc/dolibarr/* # Create a config link dolibarr.conf -if [ ! -f $apachelink ]; then +if [ ! -L $apachelink ]; then echo Create dolibarr web server config link $apachelink ln -fs %{_sysconfdir}/dolibarr/apache.conf $apachelink fi @@ -188,7 +180,7 @@ fi 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 "To finish installation and use Dolibarr, click on the menu" echo "entry Dolibarr ERP-CRM or call the following page from your" echo "web browser:" echo "http://localhost/dolibarr/" @@ -200,16 +192,10 @@ echo %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 ] ; +if [ -L $apachelink ] ; then echo Delete apache config link for Dolibarr %{__rm} -f $apachelink @@ -229,11 +215,6 @@ then fi fi -# Removed dirs after apache restart -echo Removed remaining $config -%{__rm} -f $config -echo Removed remaining $installconfig -%{__rm} -f $installconfig %changelog diff --git a/build/rpm/install.forced.php.install b/build/rpm/install.forced.php.install index 6f760075c5d..2ffcc9e0105 100755 --- a/build/rpm/install.forced.php.install +++ b/build/rpm/install.forced.php.install @@ -1,5 +1,5 @@ '; - print ''; + if ($force_install_noedit) print ''; + print ''; ?> '; - print ''; + if ($force_install_noedit) print ''; + print ''; ?> trans("Examples").":
"; ?> @@ -321,10 +321,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t trans("Server"); ?> - + value=""> - '; ?> + '; ?> trans("ServerAddressDescription"); ?> @@ -333,10 +333,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t trans("Port"); ?> - + value=""> - '; ?> + '; ?> trans("ServerPortDescription"); ?> @@ -390,7 +390,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t - +

trans("DatabaseSuperUserAccess"); ?>