mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2026-02-07 16:41:48 +01:00
Work on packaging RPM & DEB
This commit is contained in:
@@ -11,7 +11,6 @@ with format RPM (for Redhat, Mandriva, ...).
|
||||
# This is standard command to work on Debian packaging:
|
||||
#
|
||||
# On Fedora
|
||||
# rpm -i --test dolibarr-...rpm To list dependencies of RPM
|
||||
# yum install dolibarr-...rpm To install package and dependencies
|
||||
# yum erase dolibarr To remove package
|
||||
#
|
||||
@@ -19,6 +18,6 @@ with format RPM (for Redhat, Mandriva, ...).
|
||||
# yast --install dolibarr-...rpm To install package and dependencies
|
||||
# yast --remove dolibarr To remove package
|
||||
#
|
||||
# On Mageia (after su - root)
|
||||
# On Mageia
|
||||
# urpmi dolibarr-...rpm To install package and dependencies
|
||||
# urpme dolibarr To remove package
|
||||
@@ -19,32 +19,20 @@ Packager: Laurent Destailleur (Eldy) <eldy@users.sourceforge.net>
|
||||
Vendor: Dolibarr dev team
|
||||
|
||||
URL: http://www.%{name}.org
|
||||
#Source: http://sourceforge.net/projects/%{name}/files/Dolibarr%20ERP-CRM/%{version}/%{name}-%{version}.tgz/download
|
||||
Source: /usr/src/RPM/SOURCES/%{name}-%{version}.tgz
|
||||
#BuildArch: noarch
|
||||
#BuildArchitectures: noarch
|
||||
BuildRoot: /tmp/%{name}-buildroot
|
||||
#Icon: dolibarr_logo1.gif
|
||||
|
||||
# For Mandriva-Mageia
|
||||
# For Mandrake
|
||||
Group: Networking/WWW
|
||||
# For all other distrib
|
||||
Group: Applications/Internet
|
||||
|
||||
# Requires can use lua to be defined dynamically (but still at build time)
|
||||
# %{lua: if posix.access("/aaa") then print("Requires: bidon1 mysql-server mysql httpd php php-cli php-gd php-ldap php-imap php-mysql") end }
|
||||
|
||||
# Requires for Fedora-Redhat
|
||||
Requires: mysql-server mysql httpd php php-cli php-gd php-ldap php-imap php-mysql
|
||||
# Requires for OpenSuse
|
||||
#Requires: mysql-community-server mysql-community-server-client apache2 apache2-mod_php5 php5 php5-gd php5-ldap php5-imap php5-mysql php5-openssl
|
||||
# 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
|
||||
AutoReqProv: yes
|
||||
|
||||
|
||||
%description
|
||||
@@ -100,19 +88,32 @@ 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
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/dolibarr
|
||||
#mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}/cron.daily
|
||||
|
||||
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
|
||||
cp build/rpm/dolibarr.desktop $RPM_BUILD_ROOT/%{_datadir}/applications/dolibarr.desktop
|
||||
|
||||
install -m 444 README $RPM_BUILD_ROOT/var/www/dolibarr/README
|
||||
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 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
|
||||
|
||||
# menu
|
||||
#%{__install} -d $RPM_BUILD_ROOT%{_menudir}
|
||||
#%{__cat} <<EOF >$RPM_BUILD_ROOT%{_menudir}/%{name}
|
||||
#?package(%{name}):\
|
||||
#command="Dolibarr" \
|
||||
#section="Office" \
|
||||
#title="Dolibarr" \
|
||||
#icon="dolibarr_48x48.png" \
|
||||
#longtitle="Dolibarr ERP & CRM"
|
||||
#EOF
|
||||
|
||||
|
||||
#---- clean
|
||||
%clean
|
||||
@@ -180,32 +181,19 @@ fi
|
||||
|
||||
|
||||
# Detect OS
|
||||
os='unknown';
|
||||
os='fedora';
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d ]; then
|
||||
export os='fedora-redhat';
|
||||
export os='fedora';
|
||||
export conffile="%{_sysconfdir}/httpd/conf.d/dolibarr.conf"
|
||||
export apacheuser='apache';
|
||||
export apachegroup='apache';
|
||||
apacheuser='apache';
|
||||
apachegroup='apache';
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d -a `grep ^wwwrun /etc/passwd | wc -l` -ge 1 ]; then
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d ]; then
|
||||
export os='opensuse';
|
||||
export conffile="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
export apacheuser='wwwrun';
|
||||
export apachegroup='www';
|
||||
apacheuser='wwwrun';
|
||||
apachegroup='wwwrun';
|
||||
fi
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d -a `grep -i "^mageia\|mandriva" /etc/issue | wc -l` -ge 1 ]; then
|
||||
export os='mageia-mandriva';
|
||||
export conffile="%{_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 conffile="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
export apacheuser='www-data';
|
||||
export apachegroup='www-data';
|
||||
fi
|
||||
echo OS detected: $os
|
||||
|
||||
# Create a config link dolibarr.conf for Fedora or Redhat
|
||||
if [ ! -f $conffile ]; then
|
||||
@@ -226,11 +214,11 @@ chmod -R o-w $docdir
|
||||
if [ ! -s $targetdir/htdocs/conf/conf.php ]; then
|
||||
echo Create empty Dolibarr conf.php file
|
||||
touch $targetdir/htdocs/conf/conf.php
|
||||
chown $apacheuser:$apachegroup $targetdir/htdocs/conf/conf.php
|
||||
chown apache.apache $targetdir/htdocs/conf/conf.php
|
||||
chmod ug+rw $targetdir/htdocs/conf/conf.php
|
||||
fi
|
||||
|
||||
if [ "x$os" = "xfedora-redhat" -a -s /usr/bin/chcon ]; then
|
||||
if [ "x$os" = "xfedora" -a -s /usr/bin/chcon ]; then
|
||||
echo Set SELinux permissions
|
||||
# Warning: chcon seems not cumulative
|
||||
#chcon -R -h -t httpd_sys_content_t $targetdir
|
||||
@@ -265,32 +253,16 @@ echo
|
||||
%clean_menus
|
||||
|
||||
# Detect OS
|
||||
os='unknown';
|
||||
os='fedora';
|
||||
if [ -d %{_sysconfdir}/httpd/conf.d ]; then
|
||||
export os='fedora-redhat';
|
||||
export os='fedora';
|
||||
export conffile="%{_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
|
||||
if [ -d %{_sysconfdir}/apache2/conf.d ]; then
|
||||
export os='opensuse';
|
||||
export conffile="%{_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 conffile="%{_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 conffile="%{_sysconfdir}/apache2/conf.d/dolibarr.conf"
|
||||
export apacheuser='www-data';
|
||||
export apachegroup='www-data';
|
||||
fi
|
||||
echo OS detected: $os
|
||||
|
||||
|
||||
# Dolibarr files are stored into /var/www
|
||||
export targetdir='/var/www/dolibarr'
|
||||
@@ -316,12 +288,9 @@ then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Removed dirs after apache restart
|
||||
echo Removed remaining dirs
|
||||
rm -rf /etc/dolibarr
|
||||
rm -rf $targetdir/htdocs/conf
|
||||
rm -rf $targetdir/htdocs/install
|
||||
rmdir $targetdir/doc >/dev/null 2>&1
|
||||
rmdir $targetdir/htdocs >/dev/null 2>&1
|
||||
|
||||
|
||||
%changelog
|
||||
|
||||
Reference in New Issue
Block a user