From 1a2ba7bb513ae8a6ddc3cc306d2ec2595b9a03b4 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 9 Jul 2011 02:41:36 +0000 Subject: [PATCH] Prepare packaging for debian --- build/deb/config | 11 +++++++++++ build/deb/control | 27 ++++++++++----------------- build/deb/copyright | 3 --- build/deb/templates | 15 +++------------ build/makepack-dolibarr.pl | 38 ++++++++++++++++---------------------- 5 files changed, 40 insertions(+), 54 deletions(-) diff --git a/build/deb/config b/build/deb/config index 1965ef73cc5..e006ebda186 100644 --- a/build/deb/config +++ b/build/deb/config @@ -1,6 +1,17 @@ #!/bin/sh # Debian install package run: config, preinst, prerm, postinst, postrm # +# lintian package To test a package +# +# dpkg -l list all packages +# dpkg -b is to build package +# dpkg -c package.deb list content of package +# dpkg -I package.deb give informations on package +# dpkg -i package.deb install a package +# +# dpkg -L packagename list content of installed package +# dpkg --purge remove interactive saved answers +# set -e diff --git a/build/deb/control b/build/deb/control index 2d356fc7b2b..19eb51664e7 100644 --- a/build/deb/control +++ b/build/deb/control @@ -3,39 +3,35 @@ Version: __VERSION__ Architecture: all Maintainer: Laurent Destailleur Essential: no -Installed-Size: 61200 +Installed-Size: 31200 Depends: apache2, libapache2-mod-php5, php5, php5-cli, php5-cgi, php5-curl, php5-gd, php5-ldap, php5-mysql, mysql-server, perl Section: web Priority: optional -Recommends: firefox +Recommends: mozilla | netscape Homepage: http://www.dolibarr.org -Description: Easy to use ERP & CRM software to manage your activity. +Description: An ERP & CRM software to manage your activity. 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. - It's a web software you can install as a standalone program or on any web - hosting provider to use it from anywhere with any web browser. - Dolibarr was designed to provide only features you need and be easy to use. + Management (CRM) but also other features for different activities. . - Only features you need are visible, depending on which module were activated. - Most common used modules are: + Dolibarr features are activated by modules. Most common modules are: . + * Products and services catalog + * Stock management + * Bank accounts management * Customers, Suppliers or Prospects directory * Contacts directory * Orders management * Commercial proposals management * Invoices management - * Products and services catalog - * Stock management - * Foundations members management - * Bank accounts management * Point of Sale * Payments management * Commercial actions management * Contracts management * Standing orders management * Shipping management + * Foundations members management * Donations management * Bookmarks management * Mass Emailings @@ -43,7 +39,4 @@ Description: Easy to use ERP & CRM software to manage your activity. * Data export and import tools * LDAP connectivity * PDF exports - * And a lot of more modules... - . - You can also add third parties external modules or develop yours. - \ No newline at end of file + * And a lot of other modules diff --git a/build/deb/copyright b/build/deb/copyright index 00aafd563b1..74752ea4864 100644 --- a/build/deb/copyright +++ b/build/deb/copyright @@ -1,4 +1 @@ -Copyright 2011 Laurent Destailleur - -This software is distributed under GPL v2 licence. See file /usr/share/common-licenses/GPL-2 \ No newline at end of file diff --git a/build/deb/templates b/build/deb/templates index 1d1c133f99a..82fcaa1ba48 100644 --- a/build/deb/templates +++ b/build/deb/templates @@ -15,7 +15,7 @@ Description: Package configuration note Template: dolibarr/webserver Type: select Choices: Apache, Apache-ssl, Both, None -Description: Which Web Server are you running ? +Description: Which Web Server are you running? Dolibarr supports any web server with PHP capabilities, but this configuration process only supports Apache and Apache-SSL. @@ -91,15 +91,6 @@ Template: dolibarr/postrm Type: boolean Default: true Description: Delete database ? - Delete the Dolibarr MySQL database and all its datas (datas related - to this quetion are the Dolibarr DBMS account and all + Do I have to delete also the Dolibarr MySQL database and all its datas + (datas subjected to this quetion are the Dolibarr DBMS account and all Dolibarr tables) ? - -Template: dolibarr/postrmfile -Type: boolean -Default: true -Description: Delete attached files ? - Delete also all uploaded and generated files (datas related - to this quetion are all files found into /usr/share/dolibarr/documents, - uploaded or generated when using Dolibarr) ? - \ No newline at end of file diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 8e0e3a0b1d1..799a17c5ff4 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.109 2011/07/11 11:09:02 eldy Exp $ +# \version $Id: makepack-dolibarr.pl,v 1.106 2011/07/09 02:41:37 eldy Exp $ # \author (c)2004-2011 Laurent Destailleur #---------------------------------------------------------------------------- @@ -48,7 +48,7 @@ if (-d "/usr/src/RPM") { use vars qw/ $REVISION $VERSION /; -$REVISION='$Revision: 1.109 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; +$REVISION='$Revision: 1.106 $'; $REVISION =~ /\s(.*)\s/; $REVISION=$1; $VERSION="1.0 (build $REVISION)"; @@ -98,7 +98,7 @@ if (! $TEMP || ! -d $TEMP) { $BUILDROOT="$TEMP/buildroot"; -my $copyalreadydone=0; # Use - before number of choice to avoid copy +my $copyalreadydone=0; my $batch=0; for (0..@ARGV-1) { @@ -262,7 +262,6 @@ if ($nboftargetok) { $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.old`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.postgres`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf*sav*`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/install.lock`; $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; $ret=`rm -fr $BUILDROOT/$PROJECT/document`; @@ -458,6 +457,7 @@ if ($nboftargetok) { print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\n"; $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT\""; $ret=`$cmd`; + print "Create directory $BUILDROOT/$PROJECT.tmp/DEBIAN\n"; $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/DEBIAN"`; print "Copy $SOURCE/build/deb/* to $BUILDROOT/$PROJECT.tmp/DEBIAN\n"; @@ -498,11 +498,13 @@ if ($nboftargetok) { $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/applications"`; print "Copy desktop file into $BUILDROOT/$PROJECT.tmp/usr/share/applications/dolibarr.desktop\n"; $ret=`cp "$SOURCE/build/deb/dolibarr.desktop" "$BUILDROOT/$PROJECT.tmp/usr/share/applications/dolibarr.desktop"`; + $ret=`chmod 444 $BUILDROOT/$PROJECT.tmp/usr/share/applications/dolibarr.desktop`; print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/pixmaps\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/pixmaps"`; print "Copy pixmap file into $BUILDROOT/$PROJECT.tmp/usr/share/pixmaps/dolibarr.xpm\n"; $ret=`cp "$SOURCE/doc/images/dolibarr.xpm" "$BUILDROOT/$PROJECT.tmp/usr/share/pixmaps/dolibarr.xpm"`; + $ret=`chmod 444 $BUILDROOT/$PROJECT.tmp/usr/share/pixmaps/dolibarr.xpm`; print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT\n"; $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT"`; @@ -514,28 +516,20 @@ if ($nboftargetok) { print "Copy copyright file into $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/copyright\n"; $ret=`cp "$BUILDROOT/$PROJECT.tmp/DEBIAN/copyright" "$BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/copyright"`; - #$ret=`gzip -9 -c $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/ChangeLog > $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/changelog.Debian.gz`; - $ret=`gzip -9 -c $BUILDROOT/$PROJECT.tmp/DEBIAN/changelog > $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/changelog.Debian.gz`; + $ret=`gzip -c $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/ChangeLog > $BUILDROOT/$PROJECT.tmp/usr/share/doc/$PROJECT/changelog.Debian.gz`; - print "Set owners on files/dir\n"; + print "Create directory $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/documents\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/documents"`; + + print "Set permissions/owners on files/dir\n"; $ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`; - - print "Set permissions on files/dir\n"; - $ret=`chmod -R 755 $BUILDROOT/$PROJECT.tmp`; - $cmd="find $BUILDROOT/$PROJECT.tmp -type f -exec chmod 644 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/DEBIAN -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; + $ret=`chown -R www-data.www-data $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/documents`; + $ret=`chmod -R 555 $BUILDROOT/$PROJECT.tmp`; + $ret=`chmod 755 $BUILDROOT/$PROJECT.tmp`; + $ret=`chmod -R 755 $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/documents`; + $ret=`chmod -R 755 $BUILDROOT/$PROJECT.tmp/DEBIAN`; $ret=`chmod 644 $BUILDROOT/$PROJECT.tmp/DEBIAN/control`; $ret=`chmod 644 $BUILDROOT/$PROJECT.tmp/DEBIAN/templates`; - $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build -name *.php -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - #$cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/build -name *.pl -type f -exec chmod 755 {} \\; "; - #$ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/dev -name *.php -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/usr/share/$PROJECT/scripts -name *.php -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; print "Go to directory $BUILDROOT\n"; $olddir=getcwd();