--- Begin Message ---
Package: piwigo
Version: 2.3.1-1
Severity: serious
Hi,
I've got some error when upgrading my piwigo installation. It seems that
the problem comes from the fact that my database already has some part
of the upgrade (note that I did not accessed directly my database, I only use
piwigo (from the Debian package) and some plugins for piwigo: perhaps, one of
them add some things to my database).
The problem comes from the fact that some config where already here in
the piwigo_config table. So most
"INSERT INTO piwigo_config (param,value) VALUES (...,...)" makes the
upgrade fail (with something like "duplicate key ...", I do not remember
exactly).
I workaround the problem by editing
/usr/share/dbconfig-common/data/piwigo/upgrade/mysql/2.3.1 and replacing all
lines:
INSERT INTO piwigo_config (param,value) VALUES ($a, $b);
by
INSERT INTO piwigo_config (param,value) VALUES ($a, $b) ON DUPLICATE KEY
UPDATE value=$b;
I also restored the database saved by dbconfig prior to this upgrade.
Note that your upgrade script should really be identpotent. If for any reason
the upgrade fails (this also happens to me after I made the previous
corrections because on my system /var/lib/piwigo/web/galleries is mount ro),
any restart of the configure fails because the database upgrade try is
redo some modification already done.
The script should pass without any error (and without doing anything) after
it has been executed once.
Regards,
Vincent
-- System Information:
Debian Release: wheezy/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1,
'experimental')
Architecture: amd64 (x86_64)
Kernel: Linux 3.0.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
Versions of packages piwigo depends on:
ii apache2 2.2.21-2
ii apache2-mpm-prefork [httpd] 2.2.21-2
ii dbconfig-common 1.8.47
ii debconf [debconf-2.0] 1.5.41
ii libapache2-mod-php5 5.3.8.0-1+b1
ii libjs-jquery 1.6.4-1
ii libphp-pclzip 2.8.2-2
ii php5 5.3.8.0-1
ii php5-gd 5.3.8.0-1+b1
ii piwigo-mysql 2.3.1-1
ii smarty 2.6.26-0.2
Versions of packages piwigo recommends:
ii mysql-server-5.1 [mysql-server] 5.1.58-1
piwigo suggests no packages.
-- Configuration Files:
/etc/piwigo/apache.conf changed:
Alias /piwigo2/ /usr/share/piwigo/web/
Alias /piwigo/ /usr/share/piwigo/web/
<Directory /usr/share/piwigo/web/>
DirectoryIndex index.php
Options +FollowSymLinks -Indexes
</Directory>
/etc/piwigo/config_local.inc.php changed:
<?php
// This file allows to override the default configuration of
// /usr/share/piwigo/web/include/config_default.inc.php
$conf['prefix_thumbnail'] = 'TN-';
$conf['show_gt'] = true;
$conf['allow_random_representative'] = true;
$conf['order_by'] = ' ORDER BY file ASC';
$conf['order_by_inside_category'] = $conf['order_by'];
$conf['newcat_default_status'] = 'private';
$conf['links'] = array(
'http://blogs.danjean.fr/lceg' => 'Toute notre cuisine',
);
$conf['default_email_format'] = 'text/plain';
$conf['alternative_email_format'] = 'text/html';
$conf['tags_default_display_mode'] = 'letters';
// From
http://fr.piwigo.org/doc/doku.php?id=pwg2:utilisation:fonctionnalites:meta
// +-----------------------------------------------------------------------+
// | LES META-DONNEES |
// +-----------------------------------------------------------------------+
// CHAPITRE 1er
// LES CHAMPS EXIF
// Le visiteur pourra faire apparaître les méta-données EXIF sur picture.php
// en cliquant sur l'icône appropriée.
// show_exif: [false] - [true];
// Si vous choisissez "false" les champs ne seront pas affichés.
// Si vous choisissez "true" les champs seront affichés.
$conf['show_exif'] = true;
// FIXEME: supprimer l'icône en cas de paramètre à false.
// Piwigo peut stocker les informations EXIF dans la base de données.
// Cela facilite notamment les recherches.
// Pour utiliser les métadonnées EXIF lors de la synchronisation:
// $conf['use_exif'] = [false] - [true];
// Si vous choisissez "false", les données ne seront pas enregistrées dans la
BDD.
// Si vous choisissez "true", les données seront enregistrées dans la BDD.
$conf['use_exif'] = true;
// Si vous décidez d'enregistrer des champs EXIF dans la Base De Données,
// il faut dire "lesquels". Ce paramétrage est utilisé durant
// la synchronisation. Chaque clé du tableau représente une colonne de la
// table images, chaque valeur correspond à un identifiant EXIF.
// Seuls les champs listés ci-après sont compatibles. N'en rajoutez pas plus
// ils ne seront pas inscrits dans la base de données.
$conf['use_exif_mapping'] = array(
'date_creation' => 'DateTimeOriginal'
);
// Pour rajouter d'autres champs, il faut adapter votre Base De Données.
(expérimental)
// Pour n'afficher que les champs EXIF nécessaires, il vous faut définir ici
// à l'avance quels champs seront à afficher. (indépendant de use_exif_mapping).
// Évidement, les lignes vides n'apparaîtrons pas...
// Il est possible de choisir des champs parmi des groupes, par exemple
// ['COMPUTED']['ApertureFNumber']. Pour cela, créer une clé
// 'COMPUTED;ApertureFNumber'.
// Si le MOD MoreExif_EOS300D-40D est installé, certains EXIF seront
// automatiquement affichés même s'ils n'apparaissent pas la liste ci-dessous.
$conf['show_exif_fields'] = array(
'exif_field_Make' => 'Make',
'exif_field_Model' => 'Model',
'exif_field_ExposureTime' => 'ExposureTime',
'exif_field_FocalLength' => 'FocalLength',
'exif_field_FNumber' => 'FNumber',
'exif_field_ExposureBiasValue' => 'ExposureBiasValue',
'exif_field_ISOSpeedRatings' => 'ISOSpeedRatings',
'exif_field_DateTimeOriginal' => 'DateTimeOriginal',
'exif_field_ExposureProgram' => 'ExposureProgram',
'exif_field_Make' => 'Make',
'exif_field_Model' => 'Model',
'exif_field_ExposureTime' => 'ExposureTime',
'exif_field_FocalLength' => 'FocalLength',
'exif_field_FNumber' => 'FNumber',
'exif_field_ExposureBiasValue' => 'ExposureBiasValue',
'exif_field_ISOSpeedRatings' => 'ISOSpeedRatings',
'exif_field_DateTimeOriginal' => 'DateTimeOriginal',
'exif_field_TakenDate' => 'TakenDate',
'exif_field_ExposureProgram' => 'ExposureProgram',
'exif_field_ModeArray' => 'ModeArray',
'exif_field_SelfTimer' => 'SelfTimer',
'exif_field_ImageQuality' => 'ImageQuality',
'exif_field_Flash' => 'Flash',
'exif_field_Drive' => 'Drive',
'exif_field_FocusMode' => 'FocusMode',
'exif_field_ImageSize' => 'ImageSize',
'exif_field_EasyShootingMode' => 'EasyShootingMode',
'exif_field_Contrast' => 'Contrast',
'exif_field_Saturation' => 'Saturation',
'exif_field_Sharpness' => 'Sharpness',
'exif_field_MeteringMode' => 'MeteringMode',
'exif_field_ExposureProgram' => 'ExposureProgram',
'exif_field_MinFocal' => 'MinFocal',
'exif_field_MaxFocal' => 'MaxFocal',
'exif_field_FlashActivity' => 'FlashActivity',
'exif_field_Stabilization' => 'Stabilization',
'exif_field_SpotMeteringMode' => 'SpotMeteringMode'
);
// Le titre de l'information affichée sur picture.php sera une clé de
// langue, comme par exemple $lang['exif_field_Make'] si elle existe.
// Pour les champs composés, ne prendre en compte que le dernier niveau
// Par exemple pour la clé 'COMPUTED;ApertureFNumber' vous avez besoin de
// $lang['exif_field_ApertureFNumber']
//
// Maintenant que vous avez choisi vos informations EXIF à afficher, nous
// allons voir comment les traduire dans votre langue. J'utilise le plugin
// LocalFile Editor.
// Rendez vous dans Administration > Plugins > LocalFile Editor > Langue
// Choisissez le fichier de langue qui vous convient.
// Je veux traduire: 'exif_field_Make'
// Pour cela nous allons écrire la ligne suivante dans le fichier de langue :
// $lang['exif_field_Make'] = 'Marque';
// Vous avez donc la donnée encapsulée qui donne le résultat =... terminé par
// le point virgule à la fin de chaque ligne.
// CHAPITRE 2e
// LES CHAMPS IPTC
// C'est exactement le même raisonnement que pour les champs EXIF.
// Pour plus d'informations sur la correspondance des champs :
// http://fr.piwigo.org/doc/doku.php?id=pwg2:utilisation:fonctionnalites:meta
$conf['show_iptc'] = true;
$conf['use_iptc'] = true;
$conf['use_iptc_mapping'] = array(
'keywords' => '2#025',
'author' => '2#122',
'name' => '2#105',
'comment' => '2#120'
);
$conf['show_iptc_mapping'] = array(
'iptc_Object' => '2#005',
'iptc_Edit_Status' => '2#007',
'iptc_Urgency' => '2#010',
'iptc_Category' => '2#015',
'iptc_Supplemental_Category' => '2#020',
'iptc_Fixture_Identifier' => '2#022',
'iptc_Keywords' => '2#025',
'iptc_Release_Date' => '2#030',
'iptc_Release_Time' => '2#035',
'iptc_Special_Instructions' => '2#040',
'iptc_Reference_service' => '2#045',
'iptc_Reference_Date' => '2#047',
'iptc_Reference_Number' => '2#050',
'iptc_Date_Created' => '2#055',
'iptc_Time_Created' => '2#060',
'iptc_Originating_Program' => '2#065',
'iptc_Program_version' => '2#070',
'iptc_Object_cycle' => '2#075',
'iptc_By_line' => '2#080',
'iptc_By_line_Title' => '2#085',
'iptc_City' => '2#090',
'iptc_Province_State' => '2#095',
'iptc_Country_Primary_Location_Code' => '2#100',
'iptc_Country_Primary_Location_Name' => '2#101',
'iptc_Original_Transmission_Reference' => '2#103',
'iptc_Headline' => '2#105',
'iptc_Credit' => '2#110',
'iptc_Source' => '2#115',
'iptc_Copyright_Notice' => '2#116',
'iptc_Contact' => '2#118',
'iptc_Caption_Abstract' => '2#120',
'iptc_Writer_Editor' => '2#122',
'iptc_Image_Type' => '2#130'
);
?>
-- debconf information:
* piwigo/debconf_install: true
piwigo/install-error: abort
piwigo/pgsql/changeconf: false
* piwigo/admin_mail: vincent.danj...@ens-lyon.org
piwigo/pgsql/admin-user: postgres
piwigo/pgsql/method: unix socket
* piwigo/upgrade-error: retry (skip questions)
piwigo/pgsql/manualconf:
* piwigo/dbconfig-upgrade: true
piwigo/db/basepath:
piwigo/pgsql/authmethod-admin: ident
piwigo/db/app-user: piwigo
piwigo/remote/port:
piwigo/pgsql/authmethod-user:
piwigo/dbconfig-remove:
piwigo/passwords-do-not-match:
piwigo/remote/host:
piwigo/pgsql/no-empty-passwords:
piwigo/internal/skip-preseed: false
* piwigo/admin_login: vdanjean
* piwigo/database-type: mysql
piwigo/upgrade-backup: true
piwigo/remove-error: abort
* piwigo/dbconfig-install: true
piwigo/dbconfig-reinstall: false
piwigo/mysql/admin-user: root
piwigo/mysql/method: unix socket
piwigo/internal/reconfiguring: false
piwigo/missing-db-package-error: abort
piwigo/purge: false
piwigo/remote/newhost:
piwigo/db/dbname: piwigo
* piwigo/webserver: apache2
--- End Message ---