From 179309710cb71c927a4905a630a25a1f4ed297e4 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Wed, 6 May 2015 16:44:47 +0200 Subject: [PATCH 01/15] Fix: use global $object instead parameter --- htdocs/core/lib/files.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index bcc6c165472..c6d94f17e76 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -726,13 +726,13 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable * @param int $disableglob Disable usage of glob like * * @param int $nophperrors Disable all PHP output errors * @param int $nohook Disable all hooks - * @param object $object Current object in use + * @deprecated object $object Current object in use * @return boolean True if file is deleted (or if glob is used and there's nothing to delete), False if error */ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=null) { global $db, $conf, $user, $langs; - global $hookmanager; + global $object, $hookmanager; $langs->load("other"); $langs->load("errors"); From 1b56144cb8cf5b86d0e44859efc5874612eabc64 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Thu, 7 May 2015 11:41:14 +0200 Subject: [PATCH 02/15] Revert "Fix: use global $object instead parameter" This reverts commit 179309710cb71c927a4905a630a25a1f4ed297e4. --- htdocs/core/lib/files.lib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/htdocs/core/lib/files.lib.php b/htdocs/core/lib/files.lib.php index c6d94f17e76..bcc6c165472 100644 --- a/htdocs/core/lib/files.lib.php +++ b/htdocs/core/lib/files.lib.php @@ -726,13 +726,13 @@ function dol_move_uploaded_file($src_file, $dest_file, $allowoverwrite, $disable * @param int $disableglob Disable usage of glob like * * @param int $nophperrors Disable all PHP output errors * @param int $nohook Disable all hooks - * @deprecated object $object Current object in use + * @param object $object Current object in use * @return boolean True if file is deleted (or if glob is used and there's nothing to delete), False if error */ function dol_delete_file($file,$disableglob=0,$nophperrors=0,$nohook=0,$object=null) { global $db, $conf, $user, $langs; - global $object, $hookmanager; + global $hookmanager; $langs->load("other"); $langs->load("errors"); From 9a32d7ec2f6a1735609eaf8b469774c17f4d72a8 Mon Sep 17 00:00:00 2001 From: Regis Houssin Date: Thu, 7 May 2015 11:59:45 +0200 Subject: [PATCH 03/15] Fix: add $object for use with triggers --- htdocs/product/class/product.class.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php index 2987d0de8fd..c1497ce19ee 100644 --- a/htdocs/product/class/product.class.php +++ b/htdocs/product/class/product.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2004-2014 Laurent Destailleur - * Copyright (C) 2005-2013 Regis Houssin + * Copyright (C) 2005-2015 Regis Houssin * Copyright (C) 2006 Andre Cianfarani * Copyright (C) 2007-2011 Jean Heimburger * Copyright (C) 2010-2013 Juanjo Menent @@ -1482,7 +1482,7 @@ class Product extends CommonObject $this->date_modification = $obj->tms; $this->import_key = $obj->import_key; $this->entity = $obj->entity; - + $this->ref_ext = $obj->ref_ext; $this->db->free($resql); @@ -3376,7 +3376,7 @@ class Product extends CommonObject $filename = preg_replace('/'.preg_quote($dir,'/').'/i','',$file); // Nom du fichier // On efface l'image d'origine - dol_delete_file($file); + dol_delete_file($file, 0, 0, 0, $this); // For triggers // Si elle existe, on efface la vignette if (preg_match('/(\.jpg|\.bmp|\.gif|\.png|\.tiff)$/i',$filename,$regs)) From 92a25e3d4c95d701b37b04e633088f133e8b424e Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 12 May 2015 00:11:51 +0200 Subject: [PATCH 04/15] Prepare 3.7.1 --- build/debian/changelog | 2 +- build/rpm/dolibarr_fedora.spec | 2 +- build/rpm/dolibarr_generic.spec | 2 +- build/rpm/dolibarr_mandriva.spec | 2 +- build/rpm/dolibarr_opensuse.spec | 2 +- htdocs/filefunc.inc.php | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/build/debian/changelog b/build/debian/changelog index 08bad713eb5..76f2161f46d 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -1,4 +1,4 @@ -dolibarr (3.7.0-3) UNRELEASED; urgency=low +dolibarr (3.7.1-3) UNRELEASED; urgency=low [ Laurent Destailleur (eldy) ] * New upstream release. diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 05de30b3d6d..670f7124053 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -332,5 +332,5 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3 +* Wed Oct 29 2014 Laurent Destailleur 3.7.1-0.3 - Upstream release diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 9ba38083e46..8ae1da4de7d 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -568,7 +568,7 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3 +* Wed Oct 29 2014 Laurent Destailleur 3.7.1-0.3 - Upstream release diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index ec5dbc3b4a8..55569a3f1fd 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -337,7 +337,7 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3 +* Wed Oct 29 2014 Laurent Destailleur 3.7.1-0.3 - Upstream release diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index c770c25e2e6..bc3e5cba8eb 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -348,7 +348,7 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Wed Oct 29 2014 Laurent Destailleur 3.7.0-0.3 +* Wed Oct 29 2014 Laurent Destailleur 3.7.1-0.3 - Upstream release diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index b04e3abaa88..a742464606d 100644 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -29,7 +29,7 @@ * \brief File that include conf.php file and commons lib like functions.lib.php */ -if (! defined('DOL_VERSION')) define('DOL_VERSION','3.7.0'); +if (! defined('DOL_VERSION')) define('DOL_VERSION','3.7.1'); if (! defined('EURO')) define('EURO',chr(128)); // Define syslog constants From ac99f3aa8fbc451d6d86087f655c918a8395fafb Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 12 May 2015 02:34:59 +0200 Subject: [PATCH 05/15] Update changelog --- ChangeLog | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index fdf8960c72a..6c64e0c8072 100644 --- a/ChangeLog +++ b/ChangeLog @@ -6,7 +6,7 @@ WARNING: Do not try to make any Dolibarr upgrade if you are running Mysql versio Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. You may also experience troubles with Mysql 5.5.41 with error "Lost connection" during migration. Upgrading to any other version or database system is abolutely required BEFORE trying to -make a migration. +make a Dolibarr upgrade. ***** ChangeLog for 3.7.1 compared to 3.7.* ***** @@ -15,6 +15,18 @@ make a migration. - Fix: [ Bug #2714 ] Members -> Memberxy-> Agenda -> technical Error - Fix: [ Bug #2713 ] 3.7.0 mailing-unsubscribe.php not unsubscribe +- Path to save photos of products was moved in 3.7.0 to match path of other attached files. If you had loose + your photo on the photo tab of products, you can set the constant "PRODUCT_USE_OLD_PATH_FOR_PHOTO" to + restore old path. + +WARNING: + +Do not try to make any Dolibarr upgrade if you are running Mysql version 5.5.40. +Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. +You may also experience troubles with Mysql 5.5.41 with error "Lost connection" during migration. +Upgrading to any other version or database system is abolutely required BEFORE trying to +make a Dolibarr upgrade. + ***** ChangeLog for 3.7 compared to 3.6.* ***** For users: - New: Match other auth system: Login can be done entering login or user @@ -169,9 +181,19 @@ For developers: - Qual: Replace all constants ACCOUNTINGEX_* by ACCOUNTING_* to simplify migration of the module - Fix: [ bug #1724 ] Can't add a submenu to projects +WARNING: + +Do not try to make any Dolibarr upgrade if you are running Mysql version 5.5.40. +Mysql version 5.5.40 has a very critical bug making your data beeing definitely lost. +You may also experience troubles with Mysql 5.5.41 with error "Lost connection" during migration. +Upgrading to any other version or database system is abolutely required BEFORE trying to +make a Dolibarr upgrade. + WARNING: Following changes may create regression for some external modules, but was necessary to make Dolibarr better: +- Path to save photos of products was moved to match path of other attached files. If you had loose your photo + on the photo tab of products, you can set the constant "PRODUCT_USE_OLD_PATH_FOR_PHOTO" to restore old path. - If you can't see trips and expenses records, check that you have the new permission "read all trips and expenses". - Deprecated module "oscommerce" were removed. @@ -183,8 +205,9 @@ Dolibarr better: - A lot of pages called fiche.php were renamed into card.php - A lot of pages called liste.php were renamed into list.php - If you used warehouse/stock module, recheck setup of stock increase/decrease rules of the - warehouse module and your Point Of Sale module if you use one. -- Replaced USER_UPDATE_SESSION trigger with an updateSession hook + warehouse module and your Point Of Sale module setup if you use one. +- Replaced USER_UPDATE_SESSION trigger with an updateSession hook may break modules using it. + ***** ChangeLog for 3.6.3 compared to 3.6.2 ***** - Fix: ref_ext was not saved when recording a customer order from web service From 8075a92d5bc50a8bb39e477558145b7bcef2de73 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 12 May 2015 02:40:21 +0200 Subject: [PATCH 06/15] FIX Bad logo for status "Do not contact" of thirdparty. --- htdocs/theme/amarok/img/stcomm-1.png | Bin 3149 -> 903 bytes htdocs/theme/auguria/img/stcomm-1.png | Bin 431 -> 903 bytes htdocs/theme/cameleo/img/stcomm-1.png | Bin 800 -> 903 bytes htdocs/theme/eldy/img/stcomm-1.png | Bin 431 -> 903 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/htdocs/theme/amarok/img/stcomm-1.png b/htdocs/theme/amarok/img/stcomm-1.png index 8b77cfcae4a649bcf4c481f7e216ea431d63c4dc..2e3f98bb6fd1c7b8be370b877b05800b0ed09d29 100644 GIT binary patch delta 891 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 Date: Tue, 12 May 2015 10:15:43 +0200 Subject: [PATCH 07/15] Close bug #2757 Deleting product category photo gives "Forbidden access" error --- ChangeLog | 1 + htdocs/categories/photos.php | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 1c4919910d9..6f9522f946f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -15,6 +15,7 @@ Fix: [ bug #1905 ] Custom deplacement types do not get translated in deplacement Fix: [ bug #2583 ] Unable to create a bank transfer with localized numbers Fix: [ bug #2577 ] Incorrect invoice status in "Linked objects" page of a project Fix: [ bug #2576 ] Unable to edit a dictionary entry that has # in its ref +Fix: [ bug #2757 ] Deleting product category photo gives "Forbidden access" error ***** ChangeLog for 3.5.6 compared to 3.5.5 ***** Fix: Avoid missing class error for fetch_thirdparty method #1973 diff --git a/htdocs/categories/photos.php b/htdocs/categories/photos.php index 1a71005ab8e..f561fa75c50 100644 --- a/htdocs/categories/photos.php +++ b/htdocs/categories/photos.php @@ -264,11 +264,11 @@ if ($object->id) // On propose la generation de la vignette si elle n'existe pas et si la taille est superieure aux limites if (!$obj['photo_vignette'] && preg_match('/(\.bmp|\.gif|\.jpg|\.jpeg|\.png)$/i',$obj['photo']) && ($object->imgWidth > $maxWidth || $object->imgHeight > $maxHeight)) { - print ''.img_picto($langs->trans('GenerateThumb'),'refresh').'  '; + print ''.img_picto($langs->trans('GenerateThumb'),'refresh').'  '; } if ($user->rights->categorie->creer) { - print ''; + print ''; print img_delete().''; } if ($nbbyrow) print ''; From 942564be5635ee7ed247b39d80b73f93755961a0 Mon Sep 17 00:00:00 2001 From: Maxime Kohlhaas Date: Tue, 12 May 2015 22:36:34 +0200 Subject: [PATCH 08/15] Fix : bad link when sorting shipment list #2823 --- htdocs/expedition/list.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/htdocs/expedition/list.php b/htdocs/expedition/list.php index 5787b9126c9..68434317ca9 100644 --- a/htdocs/expedition/list.php +++ b/htdocs/expedition/list.php @@ -117,14 +117,14 @@ if ($resql) print ''; print ''; - print_liste_field_titre($langs->trans("Ref"),"ship2bill.php","e.ref","",$param,'',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("Company"),"ship2bill.php","s.nom", "", $param,'align="left"',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateDeliveryPlanned"),"ship2bill.php","e.date_delivery","",$param, 'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Ref"),$_SERVER["PHP_SELF"],"e.ref","",$param,'',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Company"),$_SERVER["PHP_SELF"],"s.nom", "", $param,'align="left"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateDeliveryPlanned"),$_SERVER["PHP_SELF"],"e.date_delivery","",$param, 'align="center"',$sortfield,$sortorder); if($conf->livraison_bon->enabled) { - print_liste_field_titre($langs->trans("DeliveryOrder"),"ship2bill.php","e.date_expedition","",$param, '',$sortfield,$sortorder); - print_liste_field_titre($langs->trans("DateReceived"),"ship2bill.php","e.date_expedition","",$param, 'align="center"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DeliveryOrder"),$_SERVER["PHP_SELF"],"e.date_expedition","",$param, '',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("DateReceived"),$_SERVER["PHP_SELF"],"e.date_expedition","",$param, 'align="center"',$sortfield,$sortorder); } - print_liste_field_titre($langs->trans("Status"),"ship2bill.php","e.fk_statut","",$param,'align="right"',$sortfield,$sortorder); + print_liste_field_titre($langs->trans("Status"),$_SERVER["PHP_SELF"],"e.fk_statut","",$param,'align="right"',$sortfield,$sortorder); print ''; print "\n"; From b0d73ee674748794427c86ff2bc055542a66cefd Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 12 May 2015 23:47:28 +0200 Subject: [PATCH 09/15] FIX Bad link to login page into email for password renewal. --- htdocs/user/class/user.class.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index b2502e2140f..ea10a04409a 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -1480,10 +1480,10 @@ class User extends CommonObject /** - * Envoie mot de passe par mail + * Send new password by email * - * @param User $user Object user de l'utilisateur qui fait l'envoi - * @param string $password Nouveau mot de passe + * @param User $user Object user that send email + * @param string $password New password * @param int $changelater 1=Change password only after clicking on confirm email * @return int < 0 si erreur, > 0 si ok */ @@ -1529,7 +1529,7 @@ class User extends CommonObject $mesg.= $outputlangs->transnoentitiesnoconv("Login")." = ".$this->login."\n"; $mesg.= $outputlangs->transnoentitiesnoconv("Password")." = ".$password."\n\n"; $mesg.= "\n"; - $url = $urlwithroot; + $url = $urlwithroot.'/'; $mesg.= $outputlangs->transnoentitiesnoconv("ClickHereToGoTo", $conf->global->MAIN_APPLICATION_TITLE).': '.$url."\n\n"; $mesg.= "--\n"; $mesg.= $user->getFullName($outputlangs); // Username that make then sending From d65721bb20658b7a8fe96da86624248af40539bf Mon Sep 17 00:00:00 2001 From: Juanjo Menent Date: Wed, 13 May 2015 20:34:57 +0200 Subject: [PATCH 10/15] Insert option to use old system storage photos only if the first installation was done with a version < 3.7.0 --- htdocs/install/mysql/migration/3.6.0-3.7.0.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql index b1104f98fde..5072b59ffdf 100755 --- a/htdocs/install/mysql/migration/3.6.0-3.7.0.sql +++ b/htdocs/install/mysql/migration/3.6.0-3.7.0.sql @@ -1177,4 +1177,4 @@ insert into llx_c_tva(rowid,fk_pays,taux,recuperableonly,localtax1,localtax1_typ ALTER TABLE llx_livraison MODIFY COLUMN date_delivery DATETIME NULL DEFAULT NULL; -INSERT INTO llx_const (name, value, type, note, visible, entity) values ('PRODUCT_USE_OLD_PATH_FOR_PHOTO','1','chaine','Use old path for products images',1,1); \ No newline at end of file +INSERT INTO llx_const (name, value, type, note, visible, entity) SELECT 'PRODUCT_USE_OLD_PATH_FOR_PHOTO','1','chaine','Use old path for products images',0,1 FROM llx_const WHERE name='MAIN_VERSION_LAST_INSTALL' AND value < '3.7.0'; \ No newline at end of file From 0e1cf72c4385fbf154b6fd694dd941a8b911d893 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 May 2015 13:59:48 +0200 Subject: [PATCH 11/15] Fix bad order for firstname, lasname --- htdocs/user/class/user.class.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/htdocs/user/class/user.class.php b/htdocs/user/class/user.class.php index ea10a04409a..280e6491f17 100644 --- a/htdocs/user/class/user.class.php +++ b/htdocs/user/class/user.class.php @@ -1795,7 +1795,7 @@ class User extends CommonObject $result.=($lien.img_object($langs->trans("ShowUser"),'user').$lienfin); if ($withpicto != 2) $result.=' '; } - $result.=$lien.$this->getFullName($langs,'','',24).$lienfin; + $result.=$lien.$this->getFullName($langs,'',-1,24).$lienfin; return $result; } From 80943111cc946c1d2da6320eb12e05c67fd1b3e9 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 May 2015 15:26:34 +0200 Subject: [PATCH 12/15] Prepare 3.5.7 --- build/debian/changelog | 7 +++++++ build/exe/doliwamp/doliwamp.iss | 6 +++--- build/rpm/dolibarr_fedora.spec | 3 +++ build/rpm/dolibarr_generic.spec | 3 +++ build/rpm/dolibarr_mandriva.spec | 3 +++ build/rpm/dolibarr_opensuse.spec | 3 +++ htdocs/filefunc.inc.php | 2 +- 7 files changed, 23 insertions(+), 4 deletions(-) diff --git a/build/debian/changelog b/build/debian/changelog index e1f40514d9a..cf0700f2e8a 100644 --- a/build/debian/changelog +++ b/build/debian/changelog @@ -1,3 +1,10 @@ +dolibarr (3.5.7-3) unstable; urgency=low + + [ Laurent Destailleur (eldy) ] + * New upstream release. + + -- Laurent Destailleur (eldy) Tue, 12 May 2015 12:00:00 +0100 + dolibarr (3.5.6-3) unstable; urgency=low [ Laurent Destailleur (eldy) ] diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index f06ec591712..3c0aeb5e77b 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -17,9 +17,9 @@ ; ----- Change this ----- AppName=DoliWamp ; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -AppVerName=DoliWamp-3.5.6 +AppVerName=DoliWamp-3.5.7 ; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -OutputBaseFilename=DoliWamp-3.5.6 +OutputBaseFilename=DoliWamp-3.5.7 ; ----- End of change ;OutputManifestFile=build\doliwampbuild.log ; Define full path from which all relative path are defined @@ -32,7 +32,7 @@ AppPublisherURL=http://www.nltechno.com AppSupportURL=http://www.dolibarr.org AppUpdatesURL=http://www.dolibarr.org AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql softwares. -AppCopyright=Copyright (C) 2008-2013 Laurent Destailleur, NLTechno +AppCopyright=Copyright (C) 2008-2015 Laurent Destailleur, NLTechno DefaultDirName=c:\dolibarr DefaultGroupName=Dolibarr ;LicenseFile=COPYING diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 242d19239a5..96ccd8bde69 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -331,6 +331,9 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog +* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 +- Upstream release + * Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 - Upstream release diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index d8e8349f9fb..64b30c42edf 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -567,6 +567,9 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog +* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 +- Upstream release + * Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 - Upstream release diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 9238530a308..2219994f5ad 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -336,6 +336,9 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog +* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 +- Upstream release + * Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 - Upstream release diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index 94ce0e7e549..b88988f3a8a 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -347,6 +347,9 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog +* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 +- Upstream release + * Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 - Upstream release diff --git a/htdocs/filefunc.inc.php b/htdocs/filefunc.inc.php index 9705eee2028..bb1a4f6bd3f 100755 --- a/htdocs/filefunc.inc.php +++ b/htdocs/filefunc.inc.php @@ -29,7 +29,7 @@ * \brief File that include conf.php file and commons lib like functions.lib.php */ -if (! defined('DOL_VERSION')) define('DOL_VERSION','3.5.6'); +if (! defined('DOL_VERSION')) define('DOL_VERSION','3.5.7'); if (! defined('EURO')) define('EURO',chr(128)); // Define syslog constants From 4dcdea5219c452e40eb99f75fa0df385c54a9d96 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 May 2015 16:08:05 +0200 Subject: [PATCH 13/15] Prepare package 3.5.7 Removed hardcoded version from rpm spec files, so it will not be necessary to update this files when making a new release. --- build/makepack-dolibarr.pl | 10 ++++++++-- build/rpm/dolibarr_fedora.spec | 24 +----------------------- build/rpm/dolibarr_generic.spec | 24 +----------------------- build/rpm/dolibarr_mandriva.spec | 24 +----------------------- build/rpm/dolibarr_opensuse.spec | 24 +----------------------- 5 files changed, 12 insertions(+), 94 deletions(-) diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index a1e08361d36..9f785cdf108 100755 --- a/build/makepack-dolibarr.pl +++ b/build/makepack-dolibarr.pl @@ -638,7 +638,12 @@ if ($nboftargetok) { if ($target =~ /FEDO/i) { $BUILDFICSRC="${FILENAME}_fedora.spec"; } if ($target =~ /MAND/i) { $BUILDFICSRC="${FILENAME}_mandriva.spec"; } if ($target =~ /OPEN/i) { $BUILDFICSRC="${FILENAME}_opensuse.spec"; } - + + use Date::Language; + $lang=Date::Language->new('English'); + $datestring = $lang->time2str("%a %b %e %Y", time); + $changelogstring="* ".$datestring." Laurent Destailleur $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n"; + print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n"; open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; @@ -646,11 +651,12 @@ if ($nboftargetok) { $_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/; $_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/; $_ =~ s/__RELEASE__/$RPMSUBVERSION/; + $_ =~ s/__CHANGELOGSTRING__/$changelogstring/; print SPECTO $_; } close SPECFROM; close SPECTO; - + print "Copy patch file to $RPMDIR/SOURCES\n"; $ret=`cp "$SOURCE/build/rpm/dolibarr-forrpm.patch" "$RPMDIR/SOURCES"`; $ret=`chmod 644 $RPMDIR/SOURCES/dolibarr-forrpm.patch`; diff --git a/build/rpm/dolibarr_fedora.spec b/build/rpm/dolibarr_fedora.spec index 96ccd8bde69..1f39e12d7b7 100755 --- a/build/rpm/dolibarr_fedora.spec +++ b/build/rpm/dolibarr_fedora.spec @@ -331,26 +331,4 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 -- Upstream release - -* Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 -- Upstream release - -* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3 -- Upstream release - -* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3 -- Upstream release - -* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3 -- Upstream release - -* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3 -- Upstream release - -* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3 -- Upstream release - -* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3 -- Initial version (#723326) +__CHANGELOGSTRING__ \ No newline at end of file diff --git a/build/rpm/dolibarr_generic.spec b/build/rpm/dolibarr_generic.spec index 64b30c42edf..a563a439684 100755 --- a/build/rpm/dolibarr_generic.spec +++ b/build/rpm/dolibarr_generic.spec @@ -567,26 +567,4 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 -- Upstream release - -* Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 -- Upstream release - -* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3 -- Upstream release - -* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3 -- Upstream release - -* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3 -- Upstream release - -* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3 -- Upstream release - -* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3 -- Upstream release - -* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3 -- Initial version (#723326) +__CHANGELOGSTRING__ diff --git a/build/rpm/dolibarr_mandriva.spec b/build/rpm/dolibarr_mandriva.spec index 2219994f5ad..7cc1d513fc0 100755 --- a/build/rpm/dolibarr_mandriva.spec +++ b/build/rpm/dolibarr_mandriva.spec @@ -336,26 +336,4 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 -- Upstream release - -* Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 -- Upstream release - -* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3 -- Upstream release - -* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3 -- Upstream release - -* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3 -- Upstream release - -* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3 -- Upstream release - -* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3 -- Upstream release - -* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3 -- Initial version (#723326) +__CHANGELOGSTRING__ \ No newline at end of file diff --git a/build/rpm/dolibarr_opensuse.spec b/build/rpm/dolibarr_opensuse.spec index b88988f3a8a..bcc0b6dd7e1 100755 --- a/build/rpm/dolibarr_opensuse.spec +++ b/build/rpm/dolibarr_opensuse.spec @@ -347,26 +347,4 @@ fi # version x.y.z-0.1.a for alpha, x.y.z-0.2.b for beta, x.y.z-0.3 for release %changelog -* Tue May 12 2015 Laurent Destailleur 3.5.7-0.3 -- Upstream release - -* Tue Dec 2 2014 Laurent Destailleur 3.5.6-0.3 -- Upstream release - -* Tue Jul 8 2014 Laurent Destailleur 3.5.5-0.3 -- Upstream release - -* Tue Jul 1 2014 Laurent Destailleur 3.5.4-0.3 -- Upstream release - -* Fri May 2 2014 Laurent Destailleur 3.5.3-0.3 -- Upstream release - -* Fri Feb 14 2014 Laurent Destailleur 3.5.2-0.3 -- Upstream release - -* Fri Feb 7 2014 Laurent Destailleur 3.5.1-0.3 -- Upstream release - -* Mon Dec 30 2013 Laurent Destailleur 3.5.0-0.3 -- Initial version (#723326) +__CHANGELOGSTRING__ From e8fb89f89f2f9be2190f5b4fa8fae7c90a398dc1 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 May 2015 16:38:47 +0200 Subject: [PATCH 14/15] Prepare packaging 3.7 --- build/exe/doliwamp/doliwamp.iss | 6 +- build/makepack-dolibarr.pl | 1323 ++++++++++++++++--------------- build/makepack-howto.txt | 2 - 3 files changed, 701 insertions(+), 630 deletions(-) diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index 3c0aeb5e77b..84b07479ff3 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -17,9 +17,9 @@ ; ----- Change this ----- AppName=DoliWamp ; DoliWamp-x.x.x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -AppVerName=DoliWamp-3.5.7 +AppVerName=__FILENAMEEXEDOLIWAMP__ ; DoliWamp-x.x x or DoliWamp-x.x.x-alpha or DoliWamp-x.x.x-beta or DoliWamp-x.x.x-rc or DoliWamp-x.x.x -OutputBaseFilename=DoliWamp-3.5.7 +OutputBaseFilename=__FILENAMEEXEDOLIWAMP__ ; ----- End of change ;OutputManifestFile=build\doliwampbuild.log ; Define full path from which all relative path are defined @@ -109,7 +109,7 @@ Source: "C:\Program Files\Wamp\bin\mysql\mysql5.0.45\*.*"; DestDir: "{app}\bin\m Source: "build\exe\doliwamp\mysql\*.*"; DestDir: "{app}\bin\mysql\data\mysql"; Flags: onlyifdoesntexist ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db" ; Dolibarr Source: "htdocs\*.*"; DestDir: "{app}\www\dolibarr\htdocs"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,custom\*,custom2\*,documents\*,includes\ckeditor\_source\*,includes\savant\*,includes\phpmailer\*,jquery\plugins\template\*,nltechno*,PHPExcel\Shared\PDF\*,PHPExcel\Shared\PCLZip\*,tcpdf\fonts\dejavu-fonts-ttf-2.33\*,tcpdf\fonts\freefont-20100919\*,tcpdf\fonts\utils\*,*\conf.php,*\conf.php.mysql,*\conf.php.old,*\conf.php.postgres,*\conf.php.sav,*\install.forced.php" -Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,xdebug\*" +Source: "dev\*.*"; DestDir: "{app}\www\dolibarr\dev"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,dbmodel\*,fpdf\*,initdata\*,iso-normes\*,licence\*,phpcheckstyle\*,phpunit\*,samples\*,test\*,uml\*,vagrant\*,xdebug\*" Source: "doc\*.*"; DestDir: "{app}\www\dolibarr\doc"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,wiki\*,plaquette\*,dev\*,images\dolibarr_screenshot2.png,images\dolibarr_screenshot3.png,images\dolibarr_screenshot4.png,images\dolibarr_screenshot5.png,images\dolibarr_screenshot6.png,images\dolibarr_screenshot7.png,images\dolibarr_screenshot8.png,images\dolibarr_screenshot9.png,images\dolibarr_screenshot10.png,images\dolibarr_screenshot11.png,images\dolibarr_screenshot12.png" Source: "scripts\*.*"; DestDir: "{app}\www\dolibarr\scripts"; Flags: ignoreversion recursesubdirs; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,product\materiel.net.php,product\import-product.php" Source: "*.*"; DestDir: "{app}\www\dolibarr"; Flags: ignoreversion; Excludes: ".gitignore,.project,CVS\*,Thumbs.db,default.properties,install.lock" diff --git a/build/makepack-dolibarr.pl b/build/makepack-dolibarr.pl index 9f785cdf108..c667754d4ab 100755 --- 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) -# \author (c)2004-2013 Laurent Destailleur +# \author (c)2004-2015 Laurent Destailleur # # This is list of constant you can set to have generated packages moved into a specific dir: #DESTIBETARC='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/lastbuild' @@ -15,12 +15,17 @@ use Cwd; + +# Change this to defined target for option 98 and 99 $PROJECT="dolibarr"; -$RPMSUBVERSION="auto"; # auto use value found into BUILD +$PUBLISHSTABLE="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr"; +$PUBLISHBETARC="ldestailleur\@asso.dolibarr.org:/home/dolibarr/dolibarr.org/httpdocs/files"; + @LISTETARGET=("TGZ","ZIP","RPM_GENERIC","RPM_FEDORA","RPM_MANDRIVA","RPM_OPENSUSE","DEB","APS","EXEDOLIWAMP","SNAPSHOT"); # Possible packages %REQUIREMENTPUBLISH=( -"SF"=>"git ssh rsync" +"SF"=>"git ssh rsync", +"ASSO"=>"git ssh rsync" ); %REQUIREMENTTARGET=( # Tool requirement for each package "TGZ"=>"tar", @@ -40,6 +45,7 @@ $RPMSUBVERSION="auto"; # auto use value found into BUILD "makensis.exe"=>"NSIS" ); +$RPMSUBVERSION="auto"; # auto use value found into BUILD if (-d "/usr/src/redhat") { $RPMDIR="/usr/src/redhat"; } # redhat if (-d "/usr/src/packages") { $RPMDIR="/usr/src/packages"; } # opensuse if (-d "/usr/src/RPM") { $RPMDIR="/usr/src/RPM"; } # mandrake @@ -58,22 +64,21 @@ $DIR||='.'; $DIR =~ s/([^\/\\])[\\\/]+$/$1/; $SOURCE="$DIR/.."; $DESTI="$SOURCE/build"; -$PUBLISH="eldy,dolibarr\@frs.sourceforge.net:/home/frs/project/dolibarr"; if (! $ENV{"DESTIBETARC"} || ! $ENV{"DESTISTABLE"}) { - print "Error: Missing environment variables.\n"; + print "Error: Missing environment variables.\n"; print "You must define the environment variable DESTIBETARC and DESTISTABLE to point to the\ndirectories where you want to save the generated packages.\n"; print "Example: DESTIBETARC='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/lastbuild'\n"; print "Example: DESTISTABLE='/media/HDDATA1_LD/Mes Sites/Web/Dolibarr/dolibarr.org/files/stable'\n"; print "$PROG.$Extension aborted.\n"; - sleep 2; + sleep 2; exit 1; } if (! -d $ENV{"DESTIBETARC"} || ! -d $ENV{"DESTISTABLE"}) { - print "Error: Directory of environment variable DESTIBETARC or DESTISTABLE does not exist.\n"; + print "Error: Directory of environment variable DESTIBETARC or DESTISTABLE does not exist.\n"; print "$PROG.$Extension aborted.\n"; - sleep 2; + sleep 2; exit 1; } @@ -83,31 +88,31 @@ if ("$^O" =~ /linux/i || (-d "/etc" && -d "/var" && "$^O" !~ /cygwin/i)) { $OS=' elsif (-d "/etc" && -d "/Users") { $OS='macosx'; $CR=''; } elsif ("$^O" =~ /cygwin/i || "$^O" =~ /win32/i) { $OS='windows'; $CR="\r"; } if (! $OS) { - print "Error: Can't detect your OS.\n"; + print "Error: Can't detect your OS.\n"; print "Can't continue.\n"; print "$PROG.$Extension aborted.\n"; - sleep 2; + sleep 2; exit 1; } # Define buildroot # ---------------- if ($OS =~ /linux/) { - $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp"; + $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp"; } if ($OS =~ /macos/) { - $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp"; + $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"/tmp"; } if ($OS =~ /windows/) { - $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"c:/temp"; - $PROGPATH=$ENV{"ProgramFiles"}; + $TEMP=$ENV{"TEMP"}||$ENV{"TMP"}||"c:/temp"; + $PROGPATH=$ENV{"ProgramFiles"}; } if (! $TEMP || ! -d $TEMP) { - print "Error: A temporary directory can not be find.\n"; - print "Check that TEMP or TMP environment variable is set correctly.\n"; + print "Error: A temporary directory can not be find.\n"; + print "Check that TEMP or TMP environment variable is set correctly.\n"; print "$PROG.$Extension aborted.\n"; - sleep 2; - exit 2; + sleep 2; + exit 2; } $BUILDROOT="$TEMP/buildroot"; @@ -116,7 +121,7 @@ $BUILDROOT="$TEMP/buildroot"; $result = open( IN, "<" . $SOURCE . "/htdocs/filefunc.inc.php" ); if ( !$result ) { die "Error: Can't open descriptor file " . $SOURCE . "/htdocs/filefunc.inc.php\n"; } while () { - if ( $_ =~ /define\('DOL_VERSION','([\d\.]+)'\)/ ) { $PROJVERSION = $1; break; } + if ( $_ =~ /define\('DOL_VERSION','([\d\.a-z\-]+)'\)/ ) { $PROJVERSION = $1; break; } } close IN; ($MAJOR,$MINOR,$BUILD)=split(/\./,$PROJVERSION,3); @@ -167,22 +172,22 @@ my $batch=0; for (0..@ARGV-1) { if ($ARGV[$_] =~ /^-*target=(\w+)/i) { $target=$1; $batch=1; } if ($ARGV[$_] =~ /^-*desti=(.+)/i) { $DESTI=$1; } - if ($ARGV[$_] =~ /^-*prefix=(.+)/i) { - $PREFIX=$1; - $FILENAMESNAPSHOT.="-".$PREFIX; - } + if ($ARGV[$_] =~ /^-*prefix=(.+)/i) { + $PREFIX=$1; + $FILENAMESNAPSHOT.="-".$PREFIX; + } } if ($ENV{"DESTIBETARC"} && $BUILD =~ /[a-z]/i) { $DESTI = $ENV{"DESTIBETARC"}; } # Force output dir if env DESTIBETARC is defined if ($ENV{"DESTISTABLE"} && $BUILD =~ /^[0-9]+$/) { $DESTI = $ENV{"DESTISTABLE"}; } # Force output dir if env DESTISTABLE is defined -if ($ENV{"PUBLISHBETARC"} && $BUILD =~ /[a-z]/i) { $PUBLISH = $ENV{"PUBLISHBETARC"}; } # Force target site for publishing if env PUBLISHBETARC is defined -if ($ENV{"PUBLISHSTABLE"} && $BUILD =~ /^[0-9]+$/) { $PUBLISH = $ENV{"PUBLISHSTABLE"}; } # Force target site for publishing if env PUBLISHSTABLE is defined +if ($ENV{"PUBLISHBETARC"} && $BUILD =~ /[a-z]/i) { $PUBLISHBETARC = $ENV{"PUBLISHBETARC"}; } # Force target site for publishing if env PUBLISHBETARC is defined +if ($ENV{"PUBLISHSTABLE"} && $BUILD =~ /^[0-9]+$/) { $PUBLISHSTABLE = $ENV{"PUBLISHSTABLE"}; } # Force target site for publishing if env PUBLISHSTABLE is defined print "Makepack version $VERSION\n"; print "Building/publishing package name: $PROJECT\n"; print "Building/publishing package version: $MAJOR.$MINOR.$BUILD\n"; print "Source directory (SOURCE): $SOURCE\n"; print "Target directory (DESTI) : $DESTI\n"; -print "Publishing target (PUBLISH): $PUBLISH\n"; +#print "Publishing target (PUBLISH): $PUBLISH\n"; # Choose package targets @@ -190,61 +195,73 @@ print "Publishing target (PUBLISH): $PUBLISH\n"; if ($target) { if ($target eq "ALL") { foreach my $key (@LISTETARGET) { - if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; } + if ($key ne 'SNAPSHOT' && $key ne 'SF' && $key ne 'ASSO') { $CHOOSEDTARGET{$key}=1; } } } - if ($target ne "ALL" && $target ne "SF") { $CHOOSEDTARGET{uc($target)}=1; } + if ($target ne "ALL" && $target ne "SF" && $target ne "ASSO") { $CHOOSEDTARGET{uc($target)}=1; } if ($target eq "SF") { $CHOOSEDPUBLISH{"SF"}=1; } + if ($target eq "ASSO") { $CHOOSEDPUBLISH{"ASSO"}=1; } } else { - my $found=0; - my $NUM_SCRIPT; - my $cpt=0; - while (! $found) { - printf(" %2d - %-12s (%s)\n",$cpt,"ALL (1..9)","Need ".join(",",values %REQUIREMENTTARGET)); - foreach my $target (@LISTETARGET) { - $cpt++; - printf(" %2d - %-12s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target}); - } - $cpt=99; - printf(" %2d - %-12s (%s)\n",$cpt,"SF (publish)","Need ".join(",",values %REQUIREMENTPUBLISH)); - - # Ask which target to build - print "Choose one package number or several separated with space (0 - ".$cpt."): "; - $NUM_SCRIPT=; - chomp($NUM_SCRIPT); - if ($NUM_SCRIPT !~ /^[0-9\s]+$/) - { - print "This is not a valid package number list.\n"; - $found = 0; - } - else - { - $found = 1; - } - } - print "\n"; - if ($NUM_SCRIPT eq "99") { - $CHOOSEDPUBLISH{"SF"}=1; - } - else { - if ($NUM_SCRIPT eq "0") { - foreach my $key (@LISTETARGET) { - if ($key ne 'SNAPSHOT' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; } - } - } - else { - foreach my $num (split(/\s+/,$NUM_SCRIPT)) { - $CHOOSEDTARGET{$LISTETARGET[$num-1]}=1; - } - } - } + my $found=0; + my $NUM_SCRIPT; + my $cpt=0; + while (! $found) { + $cpt=0; + printf(" %2d - %-14s (%s)\n",$cpt,"ALL (1..10)","Need ".join(",",values %REQUIREMENTTARGET)); + $cpt++; + printf(" %2d - %-14s\n",$cpt,"Generate check file"); + foreach my $target (@LISTETARGET) { + $cpt++; + printf(" %2d - %-14s (%s)\n",$cpt,$target,"Need ".$REQUIREMENTTARGET{$target}); + } + $cpt=98; + printf(" %2d - %-14s (%s)\n",$cpt,"ASSO (publish)","Need ".$REQUIREMENTPUBLISH{"ASSO"}); + $cpt=99; + printf(" %2d - %-14s (%s)\n",$cpt,"SF (publish)","Need ".$REQUIREMENTPUBLISH{"SF"}); + + # Ask which target to build + print "Choose one target number or several separated with space (0 - ".$cpt."): "; + $NUM_SCRIPT=; + chomp($NUM_SCRIPT); + if ($NUM_SCRIPT !~ /^[0-9\s]+$/) + { + print "This is not a valid package number list.\n"; + $found = 0; + } + else + { + $found = 1; + } + } + print "\n"; + if ($NUM_SCRIPT eq "98") { + $CHOOSEDPUBLISH{"ASSO"}=1; + } + elsif ($NUM_SCRIPT eq "99") { + $CHOOSEDPUBLISH{"SF"}=1; + } + elsif ($NUM_SCRIPT eq "0") { + $CHOOSEDTARGET{"-CHKSUM"}=1; + foreach my $key (@LISTETARGET) { + if ($key ne 'SNAPSHOT' && $key ne 'ASSO' && $key ne 'SF') { $CHOOSEDTARGET{$key}=1; } + } + } + elsif ($NUM_SCRIPT eq "1") { + $CHOOSEDTARGET{"-CHKSUM"}=1 + } + else { + foreach my $num (split(/\s+/,$NUM_SCRIPT)) { + $CHOOSEDTARGET{$LISTETARGET[$num-2]}=1; + } + } } + # Test if requirement is ok #-------------------------- $atleastonerpm=0; -foreach my $target (keys %CHOOSEDTARGET) { +foreach my $target (sort keys %CHOOSEDTARGET) { if ($target =~ /RPM/i) { if ($atleastonerpm && ($DESTI eq "$SOURCE/build")) @@ -254,187 +271,208 @@ foreach my $target (keys %CHOOSEDTARGET) { } $atleastonerpm=1; } - foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) - { - # Test - print "Test requirement for target $target: Search '$req'... "; - $newreq=$req; $newparam=''; - if ($newreq eq 'zip') { $newparam.='-h'; } - if ($newreq eq 'xz') { $newparam.='-h'; } - $cmd="\"$newreq\" $newparam 2>&1"; - print "Test command ".$cmd."... "; - $ret=`$cmd`; - $coderetour=$?; $coderetour2=$coderetour>>8; - if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { - # Not found error, we try in PROGPATH - $ret=`"$PROGPATH/$ALTERNATEPATH{$req}/$req\" 2>&1`; - $coderetour=$?; $coderetour2=$coderetour>>8; - $REQUIREMENTTARGET{$target}="$PROGPATH/$ALTERNATEPATH{$req}/$req"; - } + foreach my $req (split(/[,\s]/,$REQUIREMENTTARGET{$target})) + { + # Test + print "Test requirement for target $target: Search '$req'... "; + $newreq=$req; $newparam=''; + if ($newreq eq 'zip') { $newparam.='-h'; } + if ($newreq eq 'xz') { $newparam.='-h'; } + $cmd="\"$newreq\" $newparam 2>&1"; + print "Test command ".$cmd."... "; + $ret=`$cmd`; + $coderetour=$?; $coderetour2=$coderetour>>8; + if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/)) && $PROGPATH) { + # Not found error, we try in PROGPATH + $ret=`"$PROGPATH/$ALTERNATEPATH{$req}/$req\" 2>&1`; + $coderetour=$?; $coderetour2=$coderetour>>8; + $REQUIREMENTTARGET{$target}="$PROGPATH/$ALTERNATEPATH{$req}/$req"; + } - if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/))) { - # Not found error - print "Not found\nCan't build target $target. Requirement '$req' not found in PATH\n"; - $CHOOSEDTARGET{$target}=-1; - last; - } else { - # Pas erreur ou erreur autre que programme absent - print " Found ".$req."\n"; - } - } + if ($coderetour != 0 && (($coderetour2 == 1 && $OS =~ /windows/ && $ret !~ /Usage/i) || ($coderetour2 == 127 && $OS !~ /windows/))) { + # Not found error + print "Not found\nCan't build target $target. Requirement '$req' not found in PATH\n"; + $CHOOSEDTARGET{$target}=-1; + last; + } else { + # Pas erreur ou erreur autre que programme absent + print " Found ".$req."\n"; + } + } } print "\n"; -# Check if there is at least on target to build +# Build xml check file +#----------------------- +if ($CHOOSEDTARGET{'-CHKSUM'}) +{ + print 'Create xml check file with md5 checksum with command php '.$SOURCE.'/build/generate_filecheck_xml.php release='.$MAJOR.'.'.$MINOR.'.'.$BUILD."\n"; + $ret=`php $SOURCE/build/generate_filecheck_xml.php release=$MAJOR.$MINOR.$BUILD`; + print $ret."\n"; +} + + +#print join(',',sort keys %CHOOSEDTARGET)."\n"; + +# Check if there is at least one target to build #---------------------------------------------- $nboftargetok=0; $nboftargetneedbuildroot=0; $nbofpublishneedtag=0; -foreach my $target (keys %CHOOSEDTARGET) { - if ($CHOOSEDTARGET{$target} < 0) { next; } - if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP') +foreach my $target (sort keys %CHOOSEDTARGET) { + if ($CHOOSEDTARGET{$target} < 0) { next; } + if ($target ne 'EXE' && $target ne 'EXEDOLIWAMP' && $target ne '-CHKSUM') { $nboftargetneedbuildroot++; } $nboftargetok++; } -foreach my $target (keys %CHOOSEDPUBLISH) { - if ($CHOOSEDPUBLISH{$target} < 0) { next; } - if ($target eq 'SF') - { - $nbofpublishneedtag++; - } +foreach my $target (sort keys %CHOOSEDPUBLISH) { + if ($CHOOSEDPUBLISH{$target} < 0) { next; } + if ($target eq 'ASSO') { $nbofpublishneedtag++; } + if ($target eq 'SF') { $nbofpublishneedtag++; } $nboftargetok++; } if ($nboftargetok) { - # Update CVS if required - #----------------------- - if ($nbofpublishneedtag) + # Update CVS if required + #----------------------- + if ($nbofpublishneedtag) { - print "Go to directory $SOURCE\n"; - $olddir=getcwd(); - chdir("$SOURCE"); - print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n"; - $ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`; - if ($ret =~ /already exists/) - { - print "WARNING: Tag ".$MAJOR.'.'.$MINOR.'.'.$BUILD." already exists. Overwrite (y/N) ? "; - $QUESTIONOVERWRITETAG=; - chomp($QUESTIONOVERWRITETAG); - if ($QUESTIONOVERWRITETAG =~ /(o|y)/) - { - print 'Run git tag -a -f -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n"; - $ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`; - } - } - print 'Run git push --tags'."\n"; - $ret=`git push --tags`; - chdir("$olddir"); + print "Go to directory $SOURCE\n"; + $olddir=getcwd(); + chdir("$SOURCE"); + print 'Run git tag -a -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n"; + $ret=`git tag -a -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD" 2>&1`; + if ($ret =~ /already exists/) + { + print "WARNING: Tag ".$MAJOR.'.'.$MINOR.'.'.$BUILD." already exists. Overwrite (y/N) ? "; + $QUESTIONOVERWRITETAG=; + chomp($QUESTIONOVERWRITETAG); + if ($QUESTIONOVERWRITETAG =~ /(o|y)/) + { + print 'Run git tag -a -f -m "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'" "'.$MAJOR.'.'.$MINOR.'.'.$BUILD.'"'."\n"; + $ret=`git tag -a -f -m "$MAJOR.$MINOR.$BUILD" "$MAJOR.$MINOR.$BUILD"`; + } + } + print 'Run git push --tags'."\n"; + $ret=`git push --tags`; + chdir("$olddir"); } - # Update buildroot if required - #----------------------------- - if ($nboftargetneedbuildroot) + # Update buildroot if required + #----------------------------- + if ($nboftargetneedbuildroot) { - if (! $copyalreadydone) { - print "Creation of a buildroot used for all packages\n"; + if (! $copyalreadydone) { + print "Creation of a buildroot used for all packages\n"; - print "Delete directory $BUILDROOT\n"; - $ret=`rm -fr "$BUILDROOT"`; - - mkdir "$BUILDROOT"; - mkdir "$BUILDROOT/$PROJECT"; - print "Copy $SOURCE into $BUILDROOT/$PROJECT\n"; - $ret=`cp -pr "$SOURCE" "$BUILDROOT/$PROJECT"`; + print "Delete directory $BUILDROOT\n"; + $ret=`rm -fr "$BUILDROOT"`; + + mkdir "$BUILDROOT"; + mkdir "$BUILDROOT/$PROJECT"; + print "Copy $SOURCE into $BUILDROOT/$PROJECT\n"; + $ret=`cp -pr "$SOURCE" "$BUILDROOT/$PROJECT"`; - print "Copy $SOURCE/build/debian/apache/.htaccess into $BUILDROOT/$PROJECT/build/debian/apache/.htaccess\n"; - $ret=`cp -pr "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT/build/debian/apache/.htaccess"`; - } - print "Clean $BUILDROOT\n"; - $ret=`rm -f $BUILDROOT/$PROJECT/.buildpath`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.externalToolBuilders`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.git`; - $ret=`rm -f $BUILDROOT/$PROJECT/.gitmodules`; - $ret=`rm -f $BUILDROOT/$PROJECT/.gitignore`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.project`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.travis.yml`; - $ret=`rm -fr $BUILDROOT/$PROJECT/.tx`; - $ret=`rm -f $BUILDROOT/$PROJECT/build.xml`; - $ret=`rm -f $BUILDROOT/$PROJECT/quickbuild.xml`; - $ret=`rm -f $BUILDROOT/$PROJECT/pom.xml`; - $ret=`rm -f $BUILDROOT/$PROJECT/README.md`; - - $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/Doli*-*`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.deb`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.dsc`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.tar.gz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.rpm`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar.gz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tgz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.xz`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.zip`; - $ret=`rm -f $BUILDROOT/$PROJECT/build/doxygen/doxygen_warnings.log`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/cache.manifest`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; - $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*`; + #print "Copy $SOURCE/build/debian/apache/.htaccess into $BUILDROOT/$PROJECT/build/debian/apache/.htaccess\n"; + #$ret=`cp -pr "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT/build/debian/apache/.htaccess"`; + } + print "Clean $BUILDROOT\n"; + $ret=`rm -f $BUILDROOT/$PROJECT/.buildpath`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.cache`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.editorconfig`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.externalToolBuilders`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.git*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.project`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.settings`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.scrutinizer.yml`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.travis.yml`; + $ret=`rm -fr $BUILDROOT/$PROJECT/.tx`; + $ret=`rm -f $BUILDROOT/$PROJECT/build.xml`; + $ret=`rm -f $BUILDROOT/$PROJECT/pom.xml`; + + $ret=`rm -fr $BUILDROOT/$PROJECT/build/html`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/Doli*-*`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.deb`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.dsc`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr_*.tar.gz`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.deb`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.rpm`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tar.gz`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.tgz`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.xz`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/dolibarr-*.zip`; + $ret=`rm -f $BUILDROOT/$PROJECT/build/doxygen/doxygen_warnings.log`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/cache.manifest`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/conf/conf.php.mysql`; + $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/mssql/README`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/mysql/README`; - $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/pgsql/README`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/mssql/README`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/mysql/README`; + $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/install/pgsql/README`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/install/mssql`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/install/mssql`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codesniffer`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codetemplates`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/dbmodel`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/initdata`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/iso-normes`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/ldap`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/licence`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/mail`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpcheckstyle`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpunit`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/security`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/spec`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/test`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/uml`; - $ret=`rm -fr $BUILDROOT/$PROJECT/dev/xdebug`; - $ret=`rm -f $BUILDROOT/$PROJECT/dev/dolibarr_changes.txt`; - $ret=`rm -f $BUILDROOT/$PROJECT/dev/README`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot2.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot3.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot4.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot5.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot6.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot7.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot8.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot9.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot10.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`; - $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codesniffer`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/codetemplates`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/dbmodel`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/initdata`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/iso-normes`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/ldap`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/licence`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/mail`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpcheckstyle`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/phpunit`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/security`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/spec`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/test`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/uml`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/vagrant`; + $ret=`rm -fr $BUILDROOT/$PROJECT/dev/xdebug`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/dolibarr_changes.txt`; + $ret=`rm -f $BUILDROOT/$PROJECT/dev/README`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot2.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot3.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot4.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot5.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot6.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot7.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot8.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot9.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot10.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot11.png`; + $ret=`rm -f $BUILDROOT/$PROJECT/doc/images/dolibarr_screenshot12.png`; - $ret=`rm -fr $BUILDROOT/$PROJECT/document`; - $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`; + # Security to avoid to package data files + $ret=`rm -fr $BUILDROOT/$PROJECT/document`; + $ret=`rm -fr $BUILDROOT/$PROJECT/documents`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/document`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/documents`; + # Removed known external modules to avoir any error when packaging on test env + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/ancotec*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/calling*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/bootstrap*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/custom*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/factory*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/management*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/multicompany*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/nltechno*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/oscim*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/pos*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/timesheet*`; + # Removed other test files + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/oblyon*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/themes/eldy/*.new`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/public/test`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/teclib*`; $ret=`rm -fr $BUILDROOT/$PROJECT/test`; $ret=`rm -fr $BUILDROOT/$PROJECT/Thumbs.db $BUILDROOT/$PROJECT/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/Thumbs.db $BUILDROOT/$PROJECT/*/*/*/*/Thumbs.db`; $ret=`rm -f $BUILDROOT/$PROJECT/.cvsignore $BUILDROOT/$PROJECT/*/.cvsignore $BUILDROOT/$PROJECT/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/.cvsignore $BUILDROOT/$PROJECT/*/*/*/*/*/*/.cvsignore`; @@ -446,436 +484,451 @@ if ($nboftargetok) { $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/adapters`; # Keep this removal in case we embed libraries #$ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/ckeditor/_source`; # _source must be kept into tarball + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/datatables/extras/TableTools/swf`; # Source of this flash is not available $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/jquery/plugins/multiselect/MIT-LICENSE.txt`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/lib/Mail`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/nusoap/samples`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/license.txt`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PDF`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/phpexcel/PHPExcel/Shared/PCLZip`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.33`; - $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-20100919`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-*`; + $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/freefont-*`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/fonts/utils`; $ret=`rm -f $BUILDROOT/$PROJECT/htdocs/includes/tcpdf/LICENSE.TXT`; $ret=`rm -fr $BUILDROOT/$PROJECT/htdocs/includes/savant`; } - # Build package for each target - #------------------------------ - foreach my $target (keys %CHOOSEDTARGET) - { - if ($CHOOSEDTARGET{$target} < 0) { next; } - - print "\nBuild package for target $target\n"; + # Build package for each target + #------------------------------ + foreach my $target (sort keys %CHOOSEDTARGET) + { + if ($CHOOSEDTARGET{$target} < 0) { next; } + if ($target eq '-CHKSUM') { next; } + + print "\nBuild package for target $target\n"; - if ($target eq 'SNAPSHOT') - { - $NEWDESTI=$DESTI; + if ($target eq 'SNAPSHOT') + { + $NEWDESTI=$DESTI; - print "Remove target $FILENAMESNAPSHOT.tgz...\n"; - unlink("$NEWDESTI/$FILENAMESNAPSHOT.tgz"); + print "Remove target $FILENAMESNAPSHOT.tgz...\n"; + unlink("$NEWDESTI/$FILENAMESNAPSHOT.tgz"); - #rmdir "$BUILDROOT/$FILENAMESNAPSHOT"; - $ret=`rm -fr $BUILDROOT/$FILENAMESNAPSHOT`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMESNAPSHOT\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMESNAPSHOT\""; - $ret=`$cmd`; + #rmdir "$BUILDROOT/$FILENAMESNAPSHOT"; + $ret=`rm -fr $BUILDROOT/$FILENAMESNAPSHOT`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMESNAPSHOT\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMESNAPSHOT\""; + $ret=`$cmd`; - print "Compress $BUILDROOT into $FILENAMESNAPSHOT.tgz...\n"; - $cmd="tar --exclude doli*.tgz --exclude doli*.deb --exclude doli*.exe --exclude doli*.xz --exclude doli*.zip --exclude doli*.rpm --exclude .cache --exclude .settings --exclude conf.php --exclude conf.php.mysql --exclude conf.php.old --exclude conf.php.postgres --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT"; + print "Compress $BUILDROOT into $FILENAMESNAPSHOT.tgz...\n"; + $cmd="tar --exclude doli*.tgz --exclude doli*.deb --exclude doli*.exe --exclude doli*.xz --exclude doli*.zip --exclude doli*.rpm --exclude .cache --exclude .settings --exclude conf.php --exclude conf.php.mysql --exclude conf.php.old --exclude conf.php.postgres --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$FILENAMESNAPSHOT.tgz\" $FILENAMESNAPSHOT"; print $cmd."\n"; $ret=`$cmd`; - # Move to final dir - print "Move $FILENAMESNAPSHOT.tgz to $NEWDESTI/$FILENAMESNAPSHOT.tgz\n"; - $ret=`mv "$FILENAMESNAPSHOT.tgz" "$NEWDESTI/$FILENAMESNAPSHOT.tgz"`; - next; - } + # Move to final dir + print "Move $FILENAMESNAPSHOT.tgz to $NEWDESTI/$FILENAMESNAPSHOT.tgz\n"; + $ret=`mv "$FILENAMESNAPSHOT.tgz" "$NEWDESTI/$FILENAMESNAPSHOT.tgz"`; + next; + } - if ($target eq 'TGZ') - { - $NEWDESTI=$DESTI; - mkdir($DESTI.'/standard'); + if ($target eq 'TGZ') + { + $NEWDESTI=$DESTI; + mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } - print "Remove target $FILENAMETGZ.tgz...\n"; - unlink("$NEWDESTI/$FILENAMETGZ.tgz"); + print "Remove target $FILENAMETGZ.tgz...\n"; + unlink("$NEWDESTI/$FILENAMETGZ.tgz"); - #rmdir "$BUILDROOT/$FILENAMETGZ"; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ`; - print "Copy $BUILDROOT/$PROJECT/ to $BUILDROOT/$FILENAMETGZ\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT/\" \"$BUILDROOT/$FILENAMETGZ\""; - $ret=`$cmd`; + #rmdir "$BUILDROOT/$FILENAMETGZ"; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ`; + print "Copy $BUILDROOT/$PROJECT/ to $BUILDROOT/$FILENAMETGZ\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT/\" \"$BUILDROOT/$FILENAMETGZ\""; + $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMETGZ/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages - print "Compress $FILENAMETGZ into $FILENAMETGZ.tgz...\n"; - $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMETGZ.tgz\" $FILENAMETGZ"; - print "$cmd\n"; - $ret=`$cmd`; + print "Compress $FILENAMETGZ into $FILENAMETGZ.tgz...\n"; + $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMETGZ.tgz\" $FILENAMETGZ"; + print "$cmd\n"; + $ret=`$cmd`; - # Move to final dir - print "Move $BUILDROOT/$FILENAMETGZ.tgz to $NEWDESTI/$FILENAMETGZ.tgz\n"; - $ret=`mv "$BUILDROOT/$FILENAMETGZ.tgz" "$NEWDESTI/$FILENAMETGZ.tgz"`; - next; - } + # Move to final dir + print "Move $BUILDROOT/$FILENAMETGZ.tgz to $NEWDESTI/$FILENAMETGZ.tgz\n"; + $ret=`mv "$BUILDROOT/$FILENAMETGZ.tgz" "$NEWDESTI/$FILENAMETGZ.tgz"`; + next; + } - if ($target eq 'XZ') - { - $NEWDESTI=$DESTI; - mkdir($DESTI.'/standard'); + if ($target eq 'XZ') + { + $NEWDESTI=$DESTI; + mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } - print "Remove target $FILENAMEXZ.xz...\n"; - unlink("$NEWDESTI/$FILENAMEXZ.xz"); + print "Remove target $FILENAMEXZ.xz...\n"; + unlink("$NEWDESTI/$FILENAMEXZ.xz"); - #rmdir "$BUILDROOT/$FILENAMEXZ"; - $ret=`rm -fr $BUILDROOT/$FILENAMEXZ`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMEXZ\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEXZ\""; - $ret=`$cmd`; + #rmdir "$BUILDROOT/$FILENAMEXZ"; + $ret=`rm -fr $BUILDROOT/$FILENAMEXZ`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMEXZ\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEXZ\""; + $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMEXZ/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages - print "Compress $FILENAMEXZ into $FILENAMEXZ.xz...\n"; - - print "Go to directory $BUILDROOT\n"; - $olddir=getcwd(); - chdir("$BUILDROOT"); - $cmd= "xz -9 -r $BUILDROOT/$FILENAMEAPS.xz \*"; + print "Compress $FILENAMEXZ into $FILENAMEXZ.xz...\n"; + + print "Go to directory $BUILDROOT\n"; + $olddir=getcwd(); + chdir("$BUILDROOT"); + $cmd= "xz -9 -r $BUILDROOT/$FILENAMEAPS.xz \*"; print $cmd."\n"; $ret= `$cmd`; - chdir("$olddir"); + chdir("$olddir"); - # Move to final dir - print "Move $FILENAMEXZ.xz to $NEWDESTI/$FILENAMEXZ.xz\n"; - $ret=`mv "$BUILDROOT/$FILENAMEXZ.xz" "$NEWDESTI/$FILENAMEXZ.xz"`; - next; - } - - if ($target eq 'ZIP') - { - $NEWDESTI=$DESTI; - mkdir($DESTI.'/standard'); + # Move to final dir + print "Move $FILENAMEXZ.xz to $NEWDESTI/$FILENAMEXZ.xz\n"; + $ret=`mv "$BUILDROOT/$FILENAMEXZ.xz" "$NEWDESTI/$FILENAMEXZ.xz"`; + next; + } + + if ($target eq 'ZIP') + { + $NEWDESTI=$DESTI; + mkdir($DESTI.'/standard'); if (-d $DESTI.'/standard') { $NEWDESTI=$DESTI.'/standard'; } - print "Remove target $FILENAMEZIP.zip...\n"; - unlink("$NEWDESTI/$FILENAMEZIP.zip"); + print "Remove target $FILENAMEZIP.zip...\n"; + unlink("$NEWDESTI/$FILENAMEZIP.zip"); - #rmdir "$BUILDROOT/$FILENAMEZIP"; - $ret=`rm -fr $BUILDROOT/$FILENAMEZIP`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMEZIP\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEZIP\""; - $ret=`$cmd`; + #rmdir "$BUILDROOT/$FILENAMEZIP"; + $ret=`rm -fr $BUILDROOT/$FILENAMEZIP`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMEZIP\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$FILENAMEZIP\""; + $ret=`$cmd`; - $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/build/exe`; + $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/build/exe`; $ret=`rm -fr $BUILDROOT/$FILENAMEZIP/htdocs/includes/ckeditor/_source`; # We can't remove it with exclude file, we need it for some tarball packages - print "Compress $FILENAMEZIP into $FILENAMEZIP.zip...\n"; - - print "Go to directory $BUILDROOT\n"; - $olddir=getcwd(); - chdir("$BUILDROOT"); - $cmd= "7z a -r -tzip -xr\@\"$BUILDROOT\/$FILENAMEZIP\/build\/zip\/zip_exclude.txt\" -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMEZIP\/*"; + print "Compress $FILENAMEZIP into $FILENAMEZIP.zip...\n"; + + print "Go to directory $BUILDROOT\n"; + $olddir=getcwd(); + chdir("$BUILDROOT"); + $cmd= "7z a -r -tzip -xr\@\"$BUILDROOT\/$FILENAMEZIP\/build\/zip\/zip_exclude.txt\" -mx $BUILDROOT/$FILENAMEZIP.zip $FILENAMEZIP\/*"; print $cmd."\n"; $ret= `$cmd`; - chdir("$olddir"); - - # Move to final dir - print "Move $FILENAMEZIP.zip to $NEWDESTI/$FILENAMEZIP.zip\n"; - $ret=`mv "$BUILDROOT/$FILENAMEZIP.zip" "$NEWDESTI/$FILENAMEZIP.zip"`; - next; - } - - if ($target =~ /RPM/) # Linux only - { - $NEWDESTI=$DESTI; - $subdir="package_rpm_generic"; - if ($target =~ /FEDO/i) { $subdir="package_rpm_redhat-fedora"; } - if ($target =~ /MAND/i) { $subdir="package_rpm_mandriva"; } - if ($target =~ /OPEN/i) { $subdir="package_rpm_opensuse"; } - mkdir($DESTI.'/'.$subdir); + chdir("$olddir"); + + # Move to final dir + print "Move $FILENAMEZIP.zip to $NEWDESTI/$FILENAMEZIP.zip\n"; + $ret=`mv "$BUILDROOT/$FILENAMEZIP.zip" "$NEWDESTI/$FILENAMEZIP.zip"`; + next; + } + + if ($target =~ /RPM/) # Linux only + { + $NEWDESTI=$DESTI; + $subdir="package_rpm_generic"; + if ($target =~ /FEDO/i) { $subdir="package_rpm_redhat-fedora"; } + if ($target =~ /MAND/i) { $subdir="package_rpm_mandriva"; } + if ($target =~ /OPEN/i) { $subdir="package_rpm_opensuse"; } + mkdir($DESTI.'/'.$subdir); if (-d $DESTI.'/'.$subdir) { $NEWDESTI=$DESTI.'/'.$subdir; } if ($RPMDIR eq "") { $RPMDIR=$ENV{'HOME'}."/rpmbuild"; } - print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; + print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; - #print "Create directory $RPMDIR\n"; - #$ret=`mkdir -p "$RPMDIR"`; + print "Remove target ".$FILENAMERPM."...\n"; + unlink("$NEWDESTI/".$FILENAMERPM); + print "Remove target ".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm...\n"; + unlink("$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm"); - print "Remove target ".$FILENAMERPM."...\n"; - unlink("$NEWDESTI/".$FILENAMERPM); - print "Remove target ".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm...\n"; - unlink("$NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION.".src.rpm"); + print "Create directory $BUILDROOT/$FILENAMETGZ2\n"; + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`; + + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2\n"; + $cmd="cp -pr '$BUILDROOT/$PROJECT' '$BUILDROOT/$FILENAMETGZ2'"; + $ret=`$cmd`; - print "Create directory $BUILDROOT/$FILENAMETGZ2\n"; - $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$FILENAMETGZ2\n"; - $cmd="cp -pr '$BUILDROOT/$PROJECT' '$BUILDROOT/$FILENAMETGZ2'"; - $ret=`$cmd`; + # Removed files we don't need + $ret=`rm -fr $BUILDROOT/$FILENAMETGZ2/htdocs/includes/ckeditor/_source`; - # Set owners - #print "Set owners on files/dir\n"; - #$ret=`chown -R root.root $BUILDROOT/$FILENAMETGZ2`; - - print "Set permissions on files/dir\n"; - $ret=`chmod -R 755 $BUILDROOT/$FILENAMETGZ2`; - $cmd="find $BUILDROOT/$FILENAMETGZ2 -type f -exec chmod 644 {} \\; "; - $ret=`$cmd`; + print "Set permissions on files/dir\n"; + $ret=`chmod -R 755 $BUILDROOT/$FILENAMETGZ2`; + $cmd="find $BUILDROOT/$FILENAMETGZ2 -type f -exec chmod 644 {} \\; "; + $ret=`$cmd`; # Build tgz - print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; - $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; + print "Compress $FILENAMETGZ2 into $FILENAMETGZ2.tgz...\n"; + $ret=`tar --exclude-from "$SOURCE/build/tgz/tar_exclude.txt" --directory "$BUILDROOT" -czvf "$BUILDROOT/$FILENAMETGZ2.tgz" $FILENAMETGZ2`; - print "Move $BUILDROOT/$FILENAMETGZ2.tgz to $RPMDIR/SOURCES/$FILENAMETGZ2.tgz\n"; - $cmd="mv $BUILDROOT/$FILENAMETGZ2.tgz $RPMDIR/SOURCES/$FILENAMETGZ2.tgz"; - $ret=`$cmd`; + print "Move $BUILDROOT/$FILENAMETGZ2.tgz to $RPMDIR/SOURCES/$FILENAMETGZ2.tgz\n"; + $cmd="mv $BUILDROOT/$FILENAMETGZ2.tgz $RPMDIR/SOURCES/$FILENAMETGZ2.tgz"; + $ret=`$cmd`; - $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"; } + $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"; } use Date::Language; $lang=Date::Language->new('English'); $datestring = $lang->time2str("%a %b %e %Y", time); $changelogstring="* ".$datestring." Laurent Destailleur $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n- Upstream release\n"; - print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n"; - open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; - open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; - while () { - $_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/; - $_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/; - $_ =~ s/__RELEASE__/$RPMSUBVERSION/; + print "Generate file $BUILDROOT/$BUILDFIC from $SOURCE/build/rpm/${BUILDFICSRC}\n"; + open (SPECFROM,"<$SOURCE/build/rpm/${BUILDFICSRC}") || die "Error"; + open (SPECTO,">$BUILDROOT/$BUILDFIC") || die "Error"; + while () { + $_ =~ s/__FILENAMETGZ__/$FILENAMETGZ/; + $_ =~ s/__VERSION__/$MAJOR.$MINOR.$REL1/; + $_ =~ s/__RELEASE__/$RPMSUBVERSION/; $_ =~ s/__CHANGELOGSTRING__/$changelogstring/; - print SPECTO $_; - } - close SPECFROM; - close SPECTO; + print SPECTO $_; + } + close SPECFROM; + close SPECTO; + + print "Copy patch file to $RPMDIR/SOURCES\n"; + $ret=`cp "$SOURCE/build/rpm/dolibarr-forrpm.patch" "$RPMDIR/SOURCES"`; + $ret=`chmod 644 $RPMDIR/SOURCES/dolibarr-forrpm.patch`; - print "Copy patch file to $RPMDIR/SOURCES\n"; - $ret=`cp "$SOURCE/build/rpm/dolibarr-forrpm.patch" "$RPMDIR/SOURCES"`; - $ret=`chmod 644 $RPMDIR/SOURCES/dolibarr-forrpm.patch`; + print "Launch RPM build (rpmbuild --clean -ba $BUILDROOT/${BUILDFIC})\n"; + #$ret=`rpmbuild -vvvv --clean -ba $BUILDROOT/${BUILDFIC}`; + $ret=`rpmbuild --clean -ba $BUILDROOT/${BUILDFIC}`; - print "Launch RPM build (rpmbuild --clean -ba $BUILDROOT/${BUILDFIC})\n"; - #$ret=`rpmbuild -vvvv --clean -ba $BUILDROOT/${BUILDFIC}`; - $ret=`rpmbuild --clean -ba $BUILDROOT/${BUILDFIC}`; + # Move to final dir + print "Move $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm\n"; + $cmd="mv $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm \"$NEWDESTI/\""; + $ret=`$cmd`; + print "Move $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm\n"; + $cmd="mv $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm \"$NEWDESTI/\""; + $ret=`$cmd`; + print "Move $RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz into $NEWDESTI/".$FILENAMETGZ2.".tgz\n"; + $cmd="mv \"$RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz\" \"$NEWDESTI/".$FILENAMETGZ2.".tgz\""; + $ret=`$cmd`; + next; + } - # Move to final dir - print "Move $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm\n"; - $cmd="mv $RPMDIR/RPMS/".$ARCH."/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.".$ARCH.".rpm \"$NEWDESTI/\""; - $ret=`$cmd`; - print "Move $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm into $NEWDESTI/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm\n"; - $cmd="mv $RPMDIR/SRPMS/".$FILENAMETGZ2."-".$RPMSUBVERSION."*.src.rpm \"$NEWDESTI/\""; - $ret=`$cmd`; - print "Move $RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz into $NEWDESTI/".$FILENAMETGZ2.".tgz\n"; - $cmd="mv \"$RPMDIR/SOURCES/".$FILENAMETGZ2.".tgz\" \"$NEWDESTI/".$FILENAMETGZ2.".tgz\""; - $ret=`$cmd`; - next; - } - - if ($target eq 'DEB') - { - $NEWDESTI=$DESTI; - mkdir($DESTI.'/package_debian-ubuntu'); + if ($target eq 'DEB') + { + $NEWDESTI=$DESTI; + mkdir($DESTI.'/package_debian-ubuntu'); if (-d $DESTI.'/package_debian-ubuntu') { $NEWDESTI=$DESTI.'/package_debian-ubuntu'; } - $olddir=getcwd(); + $olddir=getcwd(); - print "Remove target ${FILENAMEDEB}_all.deb...\n"; - unlink("$NEWDESTI/${FILENAMEDEB}_all.deb"); - print "Remove target ${FILENAMEDEB}.dsc...\n"; - unlink("$NEWDESTI/${FILENAMEDEB}.dsc"); - print "Remove target ${FILENAMEDEB}.tar.gz...\n"; - unlink("$NEWDESTI/${FILENAMEDEB}.tar.gz"); - print "Remove target ${FILENAMEDEB}.changes...\n"; - unlink("$NEWDESTI/${FILENAMEDEB}.changes"); - print "Remove target ${FILENAMEDEBNATIVE}.orig.tar.gz...\n"; - unlink("$NEWDESTI/${FILENAMEDEBNATIVE}.orig.tar.gz"); + print "Remove target ${FILENAMEDEB}_all.deb...\n"; + unlink("$NEWDESTI/${FILENAMEDEB}_all.deb"); + print "Remove target ${FILENAMEDEB}.dsc...\n"; + unlink("$NEWDESTI/${FILENAMEDEB}.dsc"); + print "Remove target ${FILENAMEDEB}.tar.gz...\n"; + unlink("$NEWDESTI/${FILENAMEDEB}.tar.gz"); + print "Remove target ${FILENAMEDEB}.changes...\n"; + unlink("$NEWDESTI/${FILENAMEDEB}.changes"); + print "Remove target ${FILENAMEDEB}.debian.tar.gz...\n"; + unlink("$NEWDESTI/${FILENAMEDEB}.debian.tar.gz"); + print "Remove target ${FILENAMEDEBNATIVE}.orig.tar.gz...\n"; + unlink("$NEWDESTI/${FILENAMEDEBNATIVE}.orig.tar.gz"); - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; - $ret=`rm -fr $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build`; - + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; + $ret=`rm -fr $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp\n"; $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp\""; $ret=`$cmd`; $cmd="cp -pr \"$BUILDROOT/$PROJECT/build/debian/apache/.htaccess\" \"$BUILDROOT/$PROJECT.tmp/build/debian/apache/.htaccess\""; $ret=`$cmd`; - print "Remove other files\n"; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README-FR`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/aps`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/dmg`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/pad/README`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/tgz/README`; - #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/po`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/source`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/changelog`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/compat`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/control*`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/copyright`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.config`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.desktop`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.doc-base`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.install`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.lintian-overrides`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postrm`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postinst`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates.futur`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/rules`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/README.howto`; - $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/watch`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/doap`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/exe`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/launchpad`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/live`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/patch`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/perl`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/rpm`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/zip`; - # Rename upstream changelog to match debian rules + print "Remove other files\n"; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/README-FR`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/README-FR`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/aps`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/dmg`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/pad/README`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/tgz/README`; + #$ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/po`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/debian/source`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/changelog`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/compat`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/control*`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/copyright`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.config`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.desktop`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.docs`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.install`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.lintian-overrides`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postrm`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.postinst`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/dolibarr.templates.futur`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/rules`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/README.Debian`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/README.howto`; + $ret=`rm -f $BUILDROOT/$PROJECT.tmp/build/debian/watch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/doap`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/exe`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/launchpad`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/live`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/patch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/perl`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/rpm`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/build/zip`; + # Removed duplicate license files + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/_source/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/_source/plugins/scayt/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/_source/plugins/wsc/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/plugins/scayt/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/plugins/wsc/LICENSE.md`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/jquery/plugins/flot/LICENSE.txt`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/tcpdf/fonts/dejavu-fonts-ttf-2.34/LICENSE`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/tcpdf/fonts/freefont-20120503/COPYING`; + # Removed files we don't need + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/htdocs/includes/ckeditor/_source`; + + # Rename upstream changelog to match debian rules $ret=`mv $BUILDROOT/$PROJECT.tmp/ChangeLog $BUILDROOT/$PROJECT.tmp/changelog`; - # Prepare source package (init debian dir) - print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; - $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; - print "Copy $SOURCE/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n"; - # Add files for dpkg-source - $ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.desktop" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.doc-base" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.install" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.xpm" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/README.source" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/rules" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/watch" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/patches" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/po" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/source" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -fr "$SOURCE/build/debian/apache" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; - $ret=`cp -f "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; - $ret=`cp -fr "$SOURCE/build/debian/lighttpd" "$BUILDROOT/$PROJECT.tmp/debian/lighttpd"`; - # Add files also required to build binary package - $ret=`cp -f "$SOURCE/build/debian/dolibarr.config" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.postinst" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.postrm" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/dolibarr.templates" "$BUILDROOT/$PROJECT.tmp/debian"`; - $ret=`cp -f "$SOURCE/build/debian/install.forced.php.install" "$BUILDROOT/$PROJECT.tmp/debian"`; - + # Prepare source package (init debian dir) + print "Create directory $BUILDROOT/$PROJECT.tmp/debian\n"; + $ret=`mkdir "$BUILDROOT/$PROJECT.tmp/debian"`; + print "Copy $SOURCE/build/debian/xxx to $BUILDROOT/$PROJECT.tmp/debian\n"; + # Add files for dpkg-source + $ret=`cp -f "$SOURCE/build/debian/changelog" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/compat" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/control" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/copyright" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.desktop" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.docs" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.install" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.lintian-overrides" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.xpm" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/rules" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/watch" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/build/debian/patches" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/build/debian/po" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/build/debian/source" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -fr "$SOURCE/build/debian/apache" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; + $ret=`cp -f "$SOURCE/build/debian/apache/.htaccess" "$BUILDROOT/$PROJECT.tmp/debian/apache"`; + $ret=`cp -fr "$SOURCE/build/debian/lighttpd" "$BUILDROOT/$PROJECT.tmp/debian/lighttpd"`; + # Add files also required to build binary package + $ret=`cp -f "$SOURCE/build/debian/dolibarr.config" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.postinst" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.postrm" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/dolibarr.templates" "$BUILDROOT/$PROJECT.tmp/debian"`; + $ret=`cp -f "$SOURCE/build/debian/install.forced.php.install" "$BUILDROOT/$PROJECT.tmp/debian"`; + # Set owners and permissions - #print "Set owners on files/dir\n"; - #$ret=`chown -R root.root $BUILDROOT/$PROJECT.tmp`; + #print "Set 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/build -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/build -name '*.dpatch' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/build -name '*.pl' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/dev -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $ret=`chmod 755 $BUILDROOT/$PROJECT.tmp/debian/rules`; - $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/translation/autotranslator.class.php`; - $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/modMyModule.class.php`; - $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_class.class.php`; - $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_page.php`; - $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_webservice_server.php`; - $cmd="find $BUILDROOT/$PROJECT.tmp/scripts -name '*.php' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - $cmd="find $BUILDROOT/$PROJECT.tmp/scripts -name '*.sh' -type f -exec chmod 755 {} \\; "; - $ret=`$cmd`; - - - print "Rename directory $BUILDROOT/$PROJECT.tmp into $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build\n"; - $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; - $ret=`$cmd`; + 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/build -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$PROJECT.tmp/build -name '*.dpatch' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$PROJECT.tmp/build -name '*.pl' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$PROJECT.tmp/dev -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $ret=`chmod 755 $BUILDROOT/$PROJECT.tmp/debian/rules`; + $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/translation/autotranslator.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/modMyModule.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_class.class.php`; + $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_page.php`; + $ret=`chmod -R 644 $BUILDROOT/$PROJECT.tmp/dev/skeletons/skeleton_webservice_server.php`; + $cmd="find $BUILDROOT/$PROJECT.tmp/scripts -name '*.php' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + $cmd="find $BUILDROOT/$PROJECT.tmp/scripts -name '*.sh' -type f -exec chmod 755 {} \\; "; + $ret=`$cmd`; + + + print "Rename directory $BUILDROOT/$PROJECT.tmp into $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build\n"; + $cmd="mv $BUILDROOT/$PROJECT.tmp $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; + $ret=`$cmd`; - print "Go into directory $BUILDROOT\n"; - chdir("$BUILDROOT"); + print "Go into directory $BUILDROOT\n"; + chdir("$BUILDROOT"); # We need a tarball to be able to build "quilt" debian package (not required for native but we need patch so it is not a native) - print "Compress $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build into $BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz...\n"; - $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz\" $PROJECT-$MAJOR.$MINOR.$build"; - print $cmd."\n"; - $ret=`$cmd`; + print "Compress $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build into $BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz...\n"; + $cmd="tar --exclude-vcs --exclude-from \"$BUILDROOT/$PROJECT/build/tgz/tar_exclude.txt\" --directory \"$BUILDROOT\" --mode=go-w --group=500 --owner=500 -czvf \"$BUILDROOT/$FILENAMEDEBNATIVE.orig.tar.gz\" $PROJECT-$MAJOR.$MINOR.$build"; + print $cmd."\n"; + $ret=`$cmd`; # Creation of source package - print "Go into directory $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build\n"; - chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); - #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; - $cmd="dpkg-buildpackage -us -uc"; - print "Launch DEB build ($cmd)\n"; - $ret=`$cmd 2>&1 3>&1`; - print $ret."\n"; + print "Go into directory $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build\n"; + chdir("$BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"); + #$cmd="dpkg-source -b $BUILDROOT/$PROJECT-$MAJOR.$MINOR.$build"; + $cmd="dpkg-buildpackage -us -uc"; + print "Launch DEB build ($cmd)\n"; + $ret=`$cmd 2>&1 3>&1`; + print $ret."\n"; - chdir("$olddir"); - - print "You can check bin package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}_all.deb\"\n"; - print "You can check src package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}.dsc\"\n"; - - # Move to final dir - print "Move *_all.deb *.dsc *.orig.tar.gz *.changes to $NEWDESTI\n"; - $ret=`mv $BUILDROOT/*_all.deb "$NEWDESTI/"`; - $ret=`mv $BUILDROOT/*.dsc "$NEWDESTI/"`; - $ret=`mv $BUILDROOT/*.orig.tar.gz "$NEWDESTI/"`; - $ret=`mv $BUILDROOT/*.changes "$NEWDESTI/"`; - next; - } - - if ($target eq 'APS') - { + chdir("$olddir"); + + print "You can check bin package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}_all.deb\"\n"; + print "You can check src package with lintian --pedantic -E -I \"$NEWDESTI/${FILENAMEDEB}.dsc\"\n"; + + # Move to final dir + print "Move *_all.deb *.dsc *.orig.tar.gz *.changes to $NEWDESTI\n"; + $ret=`mv $BUILDROOT/*_all.deb "$NEWDESTI/"`; + $ret=`mv $BUILDROOT/*.dsc "$NEWDESTI/"`; + $ret=`mv $BUILDROOT/*.orig.tar.gz "$NEWDESTI/"`; + $ret=`mv $BUILDROOT/*.debian.tar.gz "$NEWDESTI/"`; + $ret=`mv $BUILDROOT/*.changes "$NEWDESTI/"`; + next; + } + + if ($target eq 'APS') + { $NEWDESTI=$DESTI; - mkdir($DESTI.'/package_aps'); + mkdir($DESTI.'/package_aps'); if (-d $DESTI.'/package_aps') { $NEWDESTI=$DESTI.'/package_aps'; } - $newbuild = $BUILD; - $newbuild =~ s/(dev|alpha)/0/gi; # dev - $newbuild =~ s/beta/1/gi; # beta - $newbuild =~ s/rc./2/gi; # rc - if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale - # now newbuild is 0-0 or 0-3 for example - $REL1 = $newbuild; $REL1 =~ s/-.*$//gi; - if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; } - print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; - - print "Remove target $FILENAMEAPS.zip...\n"; - unlink "$NEWDESTI/$FILENAMEAPS.zip"; - - #rmdir "$BUILDROOT/$PROJECT.tmp"; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; - print "Create directory $BUILDROOT/$PROJECT.tmp\n"; - $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp"`; - print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp\n"; - $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp\""; - $ret=`$cmd`; + $newbuild = $BUILD; + $newbuild =~ s/(dev|alpha)/0/gi; # dev + $newbuild =~ s/beta/1/gi; # beta + $newbuild =~ s/rc./2/gi; # rc + if ($newbuild !~ /-/) { $newbuild.='-3'; } # finale + # now newbuild is 0-0 or 0-3 for example + $REL1 = $newbuild; $REL1 =~ s/-.*$//gi; + if ($RPMSUBVERSION eq 'auto') { $RPMSUBVERSION = $newbuild; $RPMSUBVERSION =~ s/^.*-//gi; } + print "Version is $MAJOR.$MINOR.$REL1-$RPMSUBVERSION\n"; + + print "Remove target $FILENAMEAPS.zip...\n"; + unlink "$NEWDESTI/$FILENAMEAPS.zip"; - print "Remove other files\n"; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/deb`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/dmg`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/doap`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/exe`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/live`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/patch`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/rpm`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/zip`; - $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/perl`; + #rmdir "$BUILDROOT/$PROJECT.tmp"; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp`; + print "Create directory $BUILDROOT/$PROJECT.tmp\n"; + $ret=`mkdir -p "$BUILDROOT/$PROJECT.tmp"`; + print "Copy $BUILDROOT/$PROJECT to $BUILDROOT/$PROJECT.tmp\n"; + $cmd="cp -pr \"$BUILDROOT/$PROJECT\" \"$BUILDROOT/$PROJECT.tmp\""; + $ret=`$cmd`; + + print "Remove other files\n"; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/deb`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/dmg`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/doap`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/exe`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/live`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/patch`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/rpm`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/zip`; + $ret=`rm -fr $BUILDROOT/$PROJECT.tmp/$PROJECT/build/perl`; $APSVERSION="1.2"; print "Create APS files $BUILDROOT/$PROJECT.tmp/$PROJECT/APP-META.xml\n"; @@ -895,8 +948,6 @@ if ($nboftargetok) { close SPECFROM; close SPECTO; print "Version set to $MAJOR.$MINOR.$newbuild\n"; - #$cmd="cp -pr \"$BUILDROOT/$PROJECT/build/aps/configure\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/scripts/configure\""; - #$ret=`$cmd`; $cmd="cp -pr \"$BUILDROOT/$PROJECT/build/aps/configure.php\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/scripts/configure.php\""; $ret=`$cmd`; $cmd="cp -pr \"$BUILDROOT/$PROJECT/doc/images\" \"$BUILDROOT/$PROJECT.tmp/$PROJECT/images\""; @@ -924,87 +975,109 @@ if ($nboftargetok) { next; } - if ($target eq 'EXEDOLIWAMP') - { - $NEWDESTI=$DESTI; - mkdir($DESTI.'/package_windows'); + if ($target eq 'EXEDOLIWAMP') + { + $NEWDESTI=$DESTI; + mkdir($DESTI.'/package_windows'); if (-d $DESTI.'/package_windows') { $NEWDESTI=$DESTI.'/package_windows'; } - + print "Remove target $FILENAMEEXEDOLIWAMP.exe...\n"; unlink "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"; + print "Check that in your Wine setup, you create a Z: drive that point to your /tmp directory.\n"; + $SOURCEBACK=$SOURCE; $SOURCEBACK =~ s/\//\\/g; - print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"\n"; - $cmd= "ISCC.exe \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\""; + + print "Prepare file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss from \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.iss\"\n"; + $ret=`cat "$SOURCE/build/exe/doliwamp/doliwamp.iss" | sed -e 's/__FILENAMEEXEDOLIWAMP__/$FILENAMEEXEDOLIWAMP/g' > "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; + + print "Compil exe $FILENAMEEXEDOLIWAMP.exe file from iss file \"$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\"\n"; + $cmd= "ISCC.exe \"Z:$SOURCEBACK\\build\\exe\\doliwamp\\doliwamp.tmp.iss\""; print "$cmd\n"; $ret= `$cmd`; #print "$ret\n"; - # Move to final dir + # Move to final dir print "Move \"$SOURCE\\build\\$FILENAMEEXEDOLIWAMP.exe\" to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; rename("$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe","$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"); print "Move $SOURCE/build/$FILENAMEEXEDOLIWAMP.exe to $NEWDESTI/$FILENAMEEXEDOLIWAMP.exe\n"; $ret=`mv "$SOURCE/build/$FILENAMEEXEDOLIWAMP.exe" "$NEWDESTI/$FILENAMEEXEDOLIWAMP.exe"`; + + $ret=`rm "$SOURCE/build/exe/doliwamp/doliwamp.tmp.iss"`; + next; } } - # Build package for each target - #------------------------------ - foreach my $target (keys %CHOOSEDPUBLISH) - { - if ($CHOOSEDPUBLISH{$target} < 0) { next; } - + # Publish package for each target + #-------------------------------- + foreach my $target (sort keys %CHOOSEDPUBLISH) + { + if ($CHOOSEDPUBLISH{$target} < 0) { next; } + print "\nList of files to publish\n"; - %filestoscan=( - "$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)', - "$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)', - "$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)', - "$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM', - "$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM' - ); - use POSIX qw/strftime/; - foreach my $file (sort keys %filestoscan) - { - $found=0; - my $filesize = -s $file; - my $filedate = (stat $file)[9]; - print $file." ".($filesize?"(found)":"(not found)"); - print ($filesize?" - ".$filesize:""); - print ($filedate?" - ".strftime("%Y-%m-%d %H:%M:%S",localtime($filedate)):""); - print "\n"; - } + %filestoscansf=( + "$DESTI/package_rpm_generic/$FILENAMERPM"=>'Dolibarr installer for Fedora-Redhat-Mandriva-Opensuse (DoliRpm)', + "$DESTI/package_debian-ubuntu/${FILENAMEDEB}_all.deb"=>'Dolibarr installer for Debian-Ubuntu (DoliDeb)', + "$DESTI/package_windows/$FILENAMEEXEDOLIWAMP.exe"=>'Dolibarr installer for Windows (DoliWamp)', + "$DESTI/standard/$FILENAMETGZ.tgz"=>'Dolibarr ERP-CRM', + "$DESTI/standard/$FILENAMETGZ.zip"=>'Dolibarr ERP-CRM' + ); + use POSIX qw/strftime/; + foreach my $file (sort keys %filestoscansf) + { + $found=0; + my $filesize = -s $file; + my $filedate = (stat $file)[9]; + print $file." ".($filesize?"(found)":"(not found)"); + print ($filesize?" - ".$filesize:""); + print ($filedate?" - ".strftime("%Y-%m-%d %H:%M:%S",localtime($filedate)):""); + print "\n"; + } - if ($target eq 'SF') - { - print "\n"; - - $NEWPUBLISH=$PUBLISH; - print "Publish to target $NEWPUBLISH. Click enter or CTRL+C...\n"; + if ($target eq 'SF' || $target eq 'ASSO') + { + print "\n"; + + if ($target eq 'SF') { $PUBLISH = $PUBLISHSTABLE; } + if ($target eq 'ASSO' && $BUILD =~ /[a-z]/i) { $PUBLISH = $PUBLISHBETARC.'/lastbuild'; } + if ($target eq 'ASSO' && $BUILD =~ /^[0-9]+$/) { $PUBLISH = $PUBLISHBETARC.'/stable'; } + + $NEWPUBLISH=$PUBLISH; + print "Publish to target $NEWPUBLISH. Click enter or CTRL+C...\n"; - # Ask which target to build - $NUM_SCRIPT=; - chomp($NUM_SCRIPT); + # Ask which target to build + $NUM_SCRIPT=; + chomp($NUM_SCRIPT); print "Create empty dir /tmp/emptydir. We need it to create target dir using rsync.\n"; - $ret=`mkdir -p "/tmp/emptydir/"`; - - foreach my $file (sort keys %filestoscan) - { - $found=0; - my $filesize = -s $file; - if (! $filesize) { next; } + $ret=`mkdir -p "/tmp/emptydir/"`; + + %filestoscan=%filestoscansf; + + foreach my $file (sort keys %filestoscan) + { + $found=0; + my $filesize = -s $file; + if (! $filesize) { next; } print "\n"; - print "Publish file ".$file." to ".$filestoscan{$file}."\n"; - $destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD; + if ($target eq 'SF') { + $destFolder="$NEWPUBLISH/$filestoscan{$file}/".$MAJOR.'.'.$MINOR.'.'.$BUILD; + print "Publish file ".$file." to $NEWPUBLISH/".$filestoscan{$file}."\n"; + } + else + { + $destFolder="$NEWPUBLISH"; + print "Publish file ".$file." to $NEWPUBLISH\n"; + } # mkdir #my $ssh = Net::SSH::Perl->new("frs.sourceforge.net"); #$ssh->login("$user","$pass"); - #use String::ShellQuote qw( shell_quote ); + #use String::ShellQuote qw( shell_quote ); #$ssh->cmd('mkdir '.shell_quote($destFolder).' && exit'); #use Net::SFTP::Foreign; @@ -1014,6 +1087,7 @@ if ($nboftargetok) { #$command="ssh eldy,dolibarr\@frs.sourceforge.net mkdir -p \"$destFolder\""; #print "$command\n"; #my $ret=`$command 2>&1`; + $command="rsync -s -e 'ssh' --recursive /tmp/emptydir/ \"".$destFolder."\""; print "$command\n"; my $ret=`$command 2>&1`; @@ -1022,25 +1096,24 @@ if ($nboftargetok) { print "$command\n"; my $ret=`$command 2>&1`; print "$ret\n"; - - } - - } - } + } + } + } } print "\n----- Summary -----\n"; -foreach my $target (keys %CHOOSEDTARGET) { - if ($CHOOSEDTARGET{$target} < 0) { - print "Package $target not built (bad requirement).\n"; - } else { - print "Package $target built successfully in $DESTI\n"; - } +foreach my $target (sort keys %CHOOSEDTARGET) { + if ($target eq '-CHKSUM') { print "Checksum was generated"; next; } + if ($CHOOSEDTARGET{$target} < 0) { + print "Package $target not built (bad requirement).\n"; + } else { + print "Package $target built successfully in $DESTI\n"; + } } if (! $batch) { - print "\nPress key to finish..."; - my $WAITKEY=; + print "\nPress key to finish..."; + my $WAITKEY=; } 0; diff --git a/build/makepack-howto.txt b/build/makepack-howto.txt index 24e5f809185..251350fc6d2 100644 --- a/build/makepack-howto.txt +++ b/build/makepack-howto.txt @@ -12,7 +12,6 @@ beta version of Dolibarr, step by step. - Update version number with x.y.z-w in htdocs/filefunc.inc.php - Update version number with x.y.z-w in build/debian/changelog - Update version number with x.y.z-w in build/exe/doliwamp/doliwamp.iss -- Update version number with x.y.z-w in build/rpm/*.spec - Commit all changes. - Add a Tag (x.y.betaz_YYYYMMDD) and push it: git push --tags - Create a branch (x.y). @@ -34,7 +33,6 @@ complete release of Dolibarr, step by step. - Update version number with x.y.z in htdocs/filefunc.inc.php - Update version number with x.y.z in build/debian/changelog - Update version number with x.y.z in build/exe/doliwamp/doliwamp.iss -- Update version number with x.y.z in build/rpm/*.spec - Commit all changes. - Add a Tag (x.y.z) From 5b00ba11fd0bd3fe0628b12e7fed2ad36c319dd7 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sat, 16 May 2015 16:54:54 +0200 Subject: [PATCH 15/15] Prepare packaging --- build/exe/doliwamp/doliwamp.iss | 4 ---- 1 file changed, 4 deletions(-) diff --git a/build/exe/doliwamp/doliwamp.iss b/build/exe/doliwamp/doliwamp.iss index c90bda912b6..8d465cc4cbf 100644 --- a/build/exe/doliwamp/doliwamp.iss +++ b/build/exe/doliwamp/doliwamp.iss @@ -32,11 +32,7 @@ AppPublisherURL=http://www.nltechno.com AppSupportURL=http://www.dolibarr.org AppUpdatesURL=http://www.dolibarr.org AppComments=DoliWamp includes Dolibarr, Apache, PHP and Mysql softwares. -<<<<<<< HEAD -AppCopyright=Copyright (C) 2008-2014 Laurent Destailleur, NLTechno -======= AppCopyright=Copyright (C) 2008-2015 Laurent Destailleur, NLTechno ->>>>>>> refs/remotes/origin/3.5 DefaultDirName=c:\dolibarr DefaultGroupName=Dolibarr ;LicenseFile=COPYING