Work on 3.1 packaging

This commit is contained in:
Laurent Destailleur 2011-07-31 13:17:03 +00:00
parent e64a4c1283
commit 5d28fa1b45
3 changed files with 81 additions and 100 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.123 2011/07/30 14:56:12 eldy Exp $
# \version $Id: makepack-dolibarr.pl,v 1.124 2011/07/31 13:17:03 eldy Exp $
# \author (c)2004-2011 Laurent Destailleur <eldy@users.sourceforge.net>
#----------------------------------------------------------------------------
@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") {
use vars qw/ $REVISION $VERSION /;
$REVISION='$Revision: 1.123 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$REVISION='$Revision: 1.124 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1;
$VERSION="1.0 (build $REVISION)";
@ -696,12 +696,12 @@ if ($nboftargetok) {
if ($OS =~ /windows/i)
{
print "Move *_all.deb to $DESTI\n";
$ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`;
$ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`;
}
else
{
print "Move *_all.deb to $DESTI\n";
$ret=`mv "$BUILDROOT/*_all.deb" "$DESTI/"`;
$ret=`mv $BUILDROOT/*_all.deb "$DESTI/"`;
}
next;
}

View File

@ -5,11 +5,6 @@
# file to build a package for your own distributions and
# edit it if you need to match your rules.
# --------------------------------------------------------
#%define is_mandrake %(test -e /etc/mandrake-release && echo 1 || echo 0)
#%define is_suse %(test -e /etc/SuSE-release && echo 1 || echo 0)
#%define is_fedora %(test -e /etc/fedora-release && echo 1 || echo 0)
%define name dolibarr
%define version __VERSION__
%define release __RELEASE__
@ -17,18 +12,15 @@
Name: %{name}
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
Summary: Dolibarr
License: GPLv2+
License: GPL
Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
Vendor: Dolibarr dev team
URL: http://www.%{name}.org
Source: /usr/src/RPM/SOURCES/%{name}-%{version}.tgz
BuildArch: noarch
#BuildArch: noarch
#BuildArchitectures: noarch
BuildRoot: /tmp/%{name}-buildroot
#Icon: dolibarr_logo1.gif
@ -56,7 +48,7 @@ AutoReqProv: no
%description
An easy to use CRM & ERP open source/free software for small
Dolibarr ERP & CRM is an easy to use 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.
@ -64,26 +56,27 @@ 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.
Dolibarr ERP y CRM es un software open source/gratis 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,
Dolibarr ERP & CRM est un logiciel de gestion de PME/PMI, autoentrepreneurs,
artisans ou associations. Il permet de gérer vos clients, prospect,
fournisseurs, devis, factures, comptes bancaires, agenda, campagne emailings
et bien d'autres choses dans une interface pensée pour la simplicité.
%description -l it
Un programmo gestionale per piccole e medie
Dolibarr è un programma gestionale open source e gratuito 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
attività. Dolibar è progettato per poter fornire solo ciò di cui hai bisogno
ed essere facile da usare.
Programmo web, progettato per poter fornire solo ciò di
Dolibar è completamente web-based, progettato per poter fornire solo ciò di
cui hai bisogno ed essere facile da usare.
@ -101,51 +94,48 @@ echo Building %{name}-%{version}-%{release}
#---- install
%install
%{__rm} -rf $RPM_BUILD_ROOT
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/var/www/dolibarr/build
mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/doc
mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs
mkdir -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts
# %{_datadir} = /usr/share
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
%{__install} -m 644 var/www/dolibarr/doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png
%{__mkdir} -p $RPM_BUILD_ROOT%{_datadir}/applications
%{__install} -m 644 var/www/dolibarr/build/rpm/dolibarr.desktop $RPM_BUILD_ROOT%{_datadir}/applications/dolibarr.desktop
mkdir -p $RPM_BUILD_ROOT%{_datadir}/pixmaps
cp doc/images/dolibarr_48x48.png $RPM_BUILD_ROOT%{_datadir}/pixmaps/dolibarr.png
mkdir -p $RPM_BUILD_ROOT%{_datadir}/applications
cp build/rpm/dolibarr.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/dolibarr.desktop
%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/build
%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/doc
%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/htdocs
%{__mkdir} -p $RPM_BUILD_ROOT/var/www/dolibarr/scripts
%{__cp} -pr var/www/dolibarr/build $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr var/www/dolibarr/doc $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr var/www/dolibarr/htdocs $RPM_BUILD_ROOT/var/www/dolibarr
%{__cp} -pr var/www/dolibarr/scripts $RPM_BUILD_ROOT/var/www/dolibarr
%{__install} -m 644 var/www/dolibarr/COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/doc/COPYRIGHT
install -m 444 README $RPM_BUILD_ROOT/var/www/dolibarr/README
install -m 444 COPYRIGHT $RPM_BUILD_ROOT/var/www/dolibarr/COPYRIGHT
cp -pr build $RPM_BUILD_ROOT/var/www/dolibarr
cp -pr doc $RPM_BUILD_ROOT/var/www/dolibarr
cp -pr htdocs $RPM_BUILD_ROOT/var/www/dolibarr
cp -pr scripts $RPM_BUILD_ROOT/var/www/dolibarr
#---- clean
%clean
%{__rm} -rf $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
#---- files
%files
%defattr(-,root,root)
%doc README
%doc COPYRIGHT
%doc /var/www/dolibarr/doc/*
%dir /var/www/dolibarr/build
%dir /var/www/dolibarr/htdocs
%dir /var/www/dolibarr/scripts
%_datadir/pixmaps/dolibarr.png
%_datadir/pixmaps/*
%_datadir/applications/%{name}.desktop
/var/www/dolibarr/build/*
/var/www/dolibarr/htdocs/*
/var/www/dolibarr/scripts/*
%defattr(0664, -, -, 0755)
%config(noreplace) %{_sysconfdir}/dolibarr/apache.conf
%config(noreplace) %{_sysconfdir}/dolibarr/file_contexts.dolibarr
/var/www/dolibarr/README
/var/www/dolibarr/COPYRIGHT
#%config /var/www/dolibarr/htdocs/conf/conf.php
#---- post (after unzip during install)
@ -163,11 +153,9 @@ export installfileorig="$targetdir/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 sefileorig="%{_sysconfdir}/dolibarr/file_contexts.dolibarr"
export seconfig="%{_sysconfdir}/selinux/targeted/contexts/files/file_contexts.dolibarr"
#export config="/usr/share/dolibarr/htdocs/conf/conf.php"
export config="%{_sysconfdir}/dolibarr/conf.php"
export lockfile="/usr/share/dolibarr/install.lock"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="%{_sysconfdir}/dolibarr/conf.php"
lockfile="/usr/share/dolibarr/install.lock"
# Detect OS
@ -201,8 +189,8 @@ 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
mkdir -p $docdir
mkdir -p %{_sysconfdir}/dolibarr
# Create install.forced.php into Dolibarr install directory
superuserlogin=''
@ -214,12 +202,12 @@ if [ -f %{_sysconfdir}/mysql/debian.cnf ] ; then
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
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
cat $installfileorig | sed -e 's/__SUPERUSERLOGIN__/'$superuserlogin'/g' | sed -e 's/__SUPERUSERPASSWORD__/'$superuserpassword'/g' > $installconfig
fi
%{__chown} -R root:$apachegroup $installconfig
%{__chmod} -R 660 $installconfig
chown -R root:$apachegroup $installconfig
chmod -R 660 $installconfig
# Create an empty conf.php with permission to web server
if [ ! -f $config ]
@ -230,24 +218,15 @@ then
chmod -R 660 $config
fi
# Create config file for apache $apacheconfig
#if [ ! -f $apacheconfig ]; then
# echo Create dolibarr web server config file $apacheconfig
# cp $apachefileorig $apacheconfig
# chmod a-x $apacheconfig
# chmod go-w $apacheconfig
#fi
# Create config file for se $seconfig
if [ "x$os" = "xfedora-redhat" -a -s /sbin/restorecon -a ! -f $seconfig ]; then
echo Add SE Linux permission from file $sefileorig
# cp $sefileorig $seconfig
restorecon -R -v /etc/dolibarr
restorecon -R -v /var/www/dolibarr
restorecon -R -v /usr/share/dolibarr
# Create a config file $apacheconfig
if [ ! -f $apacheconfig ]; then
echo Create dolibarr web server config file $apacheconfig
cp $apachefileorig $apacheconfig
chmod a-x $apacheconfig
chmod go-w $apacheconfig
fi
# Create a config link dolibarr.conf
# Create a config link dolibarr.conf for Fedora or Redhat
if [ ! -f $apachelink ]; then
echo Create dolibarr web server config link $apachelink
ln -fs $apacheconfig $apachelink
@ -263,6 +242,18 @@ echo Set permission to $apacheuser:$apachegroup on $docdir
chown -R $apacheuser:$apachegroup $docdir
chmod -R o-w $docdir
# Set SE Linux on OS SE is enabled
if [ "x$os" = "xfedora-redhat" -a -s /usr/bin/chcon ]; then
echo Set SELinux permissions
# Warning: chcon seems not cumulative
#chcon -R -h -t httpd_sys_content_t $targetdir
#chcon -R -h -t httpd_sys_content_t $docdir
chcon -R -h -t httpd_sys_script_rw_t $targetdir
chcon -R -h -t httpd_sys_script_rw_t $docdir
chcon -R -h -t httpd_sys_script_rw_t %{_sysconfdir}/dolibarr
#chcon -R -h -t httpd_sys_script_exec_t $targetdir
fi
# Restart web server
echo Restart web server
if [ -f %{_sysconfdir}/init.d/httpd ]; then
@ -272,12 +263,6 @@ 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 -----"
@ -305,9 +290,9 @@ export installfileorig="$targetdir/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"
export lockfile="$targetdir/install.lock"
#config="/usr/share/dolibarr/htdocs/conf/conf.php"
config="%{_sysconfdir}/dolibarr/conf.php"
lockfile="$targetdir/install.lock"
# Detect OS
@ -342,7 +327,7 @@ echo OS detected: $os
if [ -f $apachelink ] ;
then
echo Delete apache config link for Dolibarr
%{__rm} -f $apachelink
rm -f $apachelink
status=purge
fi
@ -360,16 +345,12 @@ then
fi
# Removed dirs after apache restart
echo Removed remaining $config
%{__rm} -f $config
echo Removed remaining $installconfig
%{__rm} -f $installconfig
echo Removed remaining $lockfile
%{__rm} -f $lockfile
echo Removed remaining dir $targetdir/doc
echo Removed remaining dirs
rm -f $apacheconfig
rm -f $config
rm -f $installconfig
rm -f $lockfile
rmdir $targetdir/doc >/dev/null 2>&1
rmdir $targetdir/htdocs >/dev/null 2>&1
%changelog
* Wed Jul 31 2011 Laurent Destailleur 3.1.0-0.2.beta1
- Initial version (#723326)

View File

@ -4,9 +4,9 @@ $force_install_message='KeepDefaultValuesDeb';
$force_install_main_data_root='/usr/share/dolibarr/documents';
$force_install_type='mysqli';
$force_install_port='3306';
$force_install_database='dolibarr';
$force_install_database='dolibarrrpm';
$force_install_createdatabase='1';
$force_install_databaselogin='dolibarrmysql';
$force_install_databaselogin='dolibarrrpm';
$force_install_databasepass='';
$force_install_createuser='1';
$force_install_databaserootlogin='__SUPERUSERLOGIN__';