Work on rpm package

This commit is contained in:
Laurent Destailleur 2011-08-06 23:10:00 +00:00
parent 368e08190c
commit 21b10bf820
8 changed files with 127 additions and 172 deletions

View File

@ -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 <eldy@users.sourceforge.net>
#----------------------------------------------------------------------------
@ -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=<STDIN>;
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 (<SPECFROM>) {
$_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/;

9
build/rpm/conf.php Executable file
View File

@ -0,0 +1,9 @@
#!/usr/bin/php
<?php
#
# Take a look at conf.php.example file for an example of conf.php file
# and explanations for all possibles parameters.
#
# This file will be filled by installer
#
?>

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,5 +1,5 @@
<?php
$force_install_noedit=1;
$force_install_noedit=1; # 1 to block var specific to distrib, 2 to block every technical parameters
$force_install_message='KeepDefaultValuesDeb';
$force_install_main_data_root='/var/lib/dolibarr/documents';
$force_install_type='mysqli';
@ -10,8 +10,8 @@ $force_install_createdatabase='1';
$force_install_databaselogin='dolibarrrpm';
$force_install_databasepass='';
$force_install_createuser='1';
$force_install_databaserootlogin='root';
$force_install_databaserootpass='';
$force_install_databaserootlogin='__SUPERUSERLOGIN__';
$force_install_databaserootpass='__SUPERUSERPASSWORD__';
$force_install_dolibarrlogin='admin';
$force_install_nophpinfo='1';
$force_install_lockinstall='444';

View File

@ -24,7 +24,7 @@
* \file htdocs/install/fileconf.php
* \ingroup install
* \brief Ask all informations required to build Dolibarr htdocs/conf/conf.php file (will be wrote on disk on next page)
* \version $Id: fileconf.php,v 1.94 2011/07/31 23:26:27 eldy Exp $
* \version $Id: fileconf.php,v 1.95 2011/08/06 23:10:01 eldy Exp $
*/
include_once("./inc.php");
@ -161,8 +161,8 @@ if (! empty($force_install_message))
?>
<td class="label" valign="top">
<?php
if ($force_install_noedit == 2) print '<input type="hidden" value="'.$dolibarr_main_data_root.'" name="main_data_dir">';
print '<input type="text" size="60" value="'.$dolibarr_main_data_root.'"'.(($force_install_noedit != 2)?'':' disabled="true"').' name="main_data_dir'.(($force_install_noedit != 2)?'':'_bis').'">';
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_data_root.'" name="main_data_dir">';
print '<input type="text" size="60" value="'.$dolibarr_main_data_root.'"'.(empty($force_install_noedit)?'':' disabled="true"').' name="main_data_dir'.(empty($force_install_noedit)?'':'_bis').'">';
?>
</td>
<td class="comment"><?php
@ -210,8 +210,8 @@ if (empty($dolibarr_main_url_root))
</td>
<td valign="top" class="label">
<?php
if ($force_install_noedit == 2) print '<input type="hidden" value="'.$dolibarr_main_url_root.'" name="main_url">';
print '<input type="text" size="60" value="'.$dolibarr_main_url_root.'"'.(($force_install_noedit != 2)?'':' disabled="true"').' name="main_url'.(($force_install_noedit != 2)?'':'_bis').'">';
if ($force_install_noedit) print '<input type="hidden" value="'.$dolibarr_main_url_root.'" name="main_url">';
print '<input type="text" size="60" value="'.$dolibarr_main_url_root.'"'.(empty($force_install_noedit)?'':' disabled="true"').' name="main_url'.(empty($force_install_noedit)?'':'_bis').'">';
?>
</td>
<td class="comment"><?php print $langs->trans("Examples").":<br>"; ?>
@ -321,10 +321,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t
<tr>
<td valign="top" class="label"><b> <?php echo $langs->trans("Server"); ?>
</b></td>
<td valign="top" class="label"><input type="text" name="db_host<?php print (!empty($force_install_noedit) && $force_install_dbserver)?'_bis':''; ?>"
<?php if (!empty($force_install_noedit) && $force_install_dbserver) print ' disabled="disabled"'; ?>
<td valign="top" class="label"><input type="text" name="db_host<?php print ($force_install_noedit==2 && $force_install_dbserver)?'_bis':''; ?>"
<?php if ($force_install_noedit==2 && $force_install_dbserver) print ' disabled="disabled"'; ?>
value="<?php print (! empty($dolibarr_main_db_host))?$dolibarr_main_db_host:(empty($force_install_dbserver)?'localhost':$force_install_dbserver); ?>">
<?php if (!empty($force_install_noedit) && $force_install_dbserver) print '<input type="hidden" name="db_host" value="'.((! empty($dolibarr_main_db_host))?$dolibarr_main_db_host:$force_install_dbserver).'">'; ?>
<?php if ($force_install_noedit==2 && $force_install_dbserver) print '<input type="hidden" name="db_host" value="'.((! empty($dolibarr_main_db_host))?$dolibarr_main_db_host:$force_install_dbserver).'">'; ?>
</td>
<td class="comment"><?php echo $langs->trans("ServerAddressDescription"); ?>
</td>
@ -333,10 +333,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t
<tr>
<td valign="top" class="label"><?php echo $langs->trans("Port"); ?></td>
<td valign="top" class="label"><input type="text" name="db_port<?php print (!empty($force_install_noedit) && $force_install_port)?'_bis':''; ?>"
<?php if (!empty($force_install_noedit) && $force_install_port) print ' disabled="disabled"'; ?>
<td valign="top" class="label"><input type="text" name="db_port<?php print ($force_install_noedit==2 && $force_install_port)?'_bis':''; ?>"
<?php if ($force_install_noedit==2 && $force_install_port) print ' disabled="disabled"'; ?>
value="<?php print (! empty($dolibarr_main_db_port))?$dolibarr_main_db_port:$force_install_port; ?>">
<?php if (!empty($force_install_noedit) && $force_install_port) print '<input type="hidden" name="db_port" value="'.((! empty($dolibarr_main_db_port))?$dolibarr_main_db_port:$force_install_port).'">'; ?>
<?php if ($force_install_noedit==2 && $force_install_port) print '<input type="hidden" name="db_port" value="'.((! empty($dolibarr_main_db_port))?$dolibarr_main_db_port:$force_install_port).'">'; ?>
</td>
<td class="comment"><?php echo $langs->trans("ServerPortDescription"); ?>
</td>
@ -390,7 +390,10 @@ if (! empty($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == 'on') { // Enabled if t
<!-- Super access -->
<?php
$force_install_databaserootlogin=preg_replace('/__SUPERUSERLOGIN__/','root',$force_install_databaserootlogin);
$force_install_databaserootpass=preg_replace('/__SUPERUSERPASSWORD__/','',$force_install_databaserootpass);
?>
<tr>
<td colspan="3" class="label" align="center"><br>
<h3><?php echo $langs->trans("DatabaseSuperUserAccess"); ?></h3>