Bug#431855: post-removal script returned error exit status 20

2008-10-10 Thread Jean-Baptiste Lallement
This is also reported in Ubuntu here
https://bugs.edge.launchpad.net/debian/+source/isdnutils/+bug/281324

Here is the patch against isdnutils_3.12.20071127-0ubuntu1
diff -u isdnutils-3.12.20071127/debian/changelog 
isdnutils-3.12.20071127/debian/changelog
--- isdnutils-3.12.20071127/debian/changelog
+++ isdnutils-3.12.20071127/debian/changelog
@@ -1,3 +1,10 @@
+isdnutils (1:3.12.20071127-0ubuntu2) intrepid; urgency=low
+
+  * isdnutils-base.postrm : Remove echo when /etc/isdn can't be deleted
+This triggers an error purging the package (LP: #281324)
+
+ -- Jean-Baptiste Lallement [EMAIL PROTECTED]  Fri, 10 Oct 2008 22:37:27 
+0200
+
 isdnutils (1:3.12.20071127-0ubuntu1) hardy; urgency=low
 
   * Updated upstream snapshot (3 fixes only):
diff -u isdnutils-3.12.20071127/debian/isdnutils-base.postrm 
isdnutils-3.12.20071127/debian/isdnutils-base.postrm
--- isdnutils-3.12.20071127/debian/isdnutils-base.postrm
+++ isdnutils-3.12.20071127/debian/isdnutils-base.postrm
@@ -5,10 +5,7 @@
 
 case $1 in
purge)
-rmdir /etc/isdn 2/dev/null || true
-if [ -d /etc/isdn ]; then
-   echo There are still files in /etc/isdn/ that you may want to 
remove manually.
-fi
+rmdir --ignore-fail-on-non-empty /etc/isdn 
  ;;
 
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)


Bug#501848: /var/run/aide/ missing

2008-10-10 Thread Jean-Baptiste Lallement
Package: aide
Version: 0.13.1-10
Tags: patch

This report has been filed here:
https://bugs.edge.launchpad.net/ubuntu/+source/aide/+bug/114730


Daily AIDE Report says:
---8
premature termination - Daily AIDE report for $HOSTNAME
The cron job was terminated because lock /var/run/aide/cron.daily.lock
could not be obtained.
---8---

Creating /var/run/aide/ and changing ownership via:
 sudo mkdir /var/run/aide
 sudo chmod root:adm /var/run/aide

This only works untill the next reboot.
After a reboot the directory /var/run/aide is missing again.

TESTCASE
1. install aide
2. reboot system
3. manually invoke the aide cron job:
 $ sudo /etc/cron.daily/aide
if the cronjob aborts right away, then the test has failed.


A patch is provided for Ubuntu.
diff -u aide-0.13.1/debian/changelog aide-0.13.1/debian/changelog
--- aide-0.13.1/debian/changelog
+++ aide-0.13.1/debian/changelog
@@ -1,3 +1,9 @@
+aide (0.13.1-10ubuntu1) intrepid; urgency=low
+
+  * Create TMPBASE directory if it doesn't exists (LP: #144730)
+
+ -- Jean-Baptiste Lallement [EMAIL PROTECTED]  Sat, 19 Jul 2008 23:00:57 
+0200
+
 aide (0.13.1-10) unstable; urgency=low
 
   * debian/control: fix deprecated  in Conflicts
diff -u aide-0.13.1/debian/cron.daily/aide aide-0.13.1/debian/cron.daily/aide
--- aide-0.13.1/debian/cron.daily/aide
+++ aide-0.13.1/debian/cron.daily/aide
@@ -120,6 +120,10 @@
LOGHEAD=$(printf terminated because lock %s could not be 
obtaiend. $LOCKFILE)
MAILHEAD=$(printf The cron job was terminated because lock %s 
could not be obtained. $LOCKFILE)
;;
+   cantcreatebase)
+   LOGHEAD=$(printf terminated: Cannot create base directory 
%s. $TMPBASE)
+   MAILHEAD=$(printf The cron job was terminated: Cannot create 
base directory %s. $TMPBASE)
+   ;;
cantmovetmp)
LOGHEAD=$(printf terminated: Cannot move away %s. 
$TMPDIRIN)
MAILHEAD=$(printf The cron job was terminated: Cannot move 
away %s. $TMPDIRIN)
@@ -365,6 +369,11 @@
 
 BEGINTIME=$(date +%s)
 
+if ! mkdir -p $TMPBASE; then
+   onexit cantcreatebase
+   exit 1
+fi
+
 if command -v dotlockfile /dev/null 21; then
if ! dotlockfile -p -l $LOCKFILE; then
onexit nolock


Bug#489518: linesrvd won't start with default settings

2008-07-06 Thread Jean-Baptiste Lallement
Package: linesrv
Version: 2.1.21-4.3

I'm reporting this for a Ubuntu user.
Original report:
https://bugs.edge.launchpad.net/ubuntu/+source/linesrv/+bug/83877

Binary package hint: linesrv

I installed linesrv (2.1.21-4) in Ubuntu Edgy Eft. Right after the
installation of the package i was asked to configure it. I bound it to
the lokal IP-Adress, and usw pppconfig as backend.

Right after that i tried to restart linesrv

# sudo /etc/init.d/linesrv restart

The output looks like this

---
Restarting Linecontrol server: linesrvStopping Linecontrol server:
linesrv not running.
Starting Linecontrol server: linesrvLineControl Server 2.1.21 -- (c) by
S. Fuchs 1999-2004
---
using '/etc/linesrv/linesrv.conf' as config file.
loading config file... done.
GLOBAL:
- pidfile: /var/run/linesrv.pid
- html_status: /var/run/linesrv/htmlstatus
- user_accounting: yes
  - passwd_file: [automatic]
- bind_to: 192.168.0.107
- port: 16007
- send_throughput: no
- logfile: /var/log/linesrv/dialsrv.log
- isdn_callerslog: no
- syslog_call_from: no
- filter_type: allow
  - mask: 0.0.0.0 0.0.0.0
You didn't specify a line! Use the 'line' keyword.Init() failed. Unable
to start.
---

I don't know what's wrong since it's a pretty simple installation ;)


The whole 'line' section is missing from the generated conf file.
This can be reproduced in the latest development version of Ubuntu - the
Intrepid Ibex.

Regards.



Bug#489589: Use of PAM and nologin check is redundant

2008-07-06 Thread Jean-Baptiste Lallement
Package: rsh-server
Version: 0.17-14

I'm reporting this for a Ubuntu user.
Original report:
https://bugs.edge.launchpad.net/ubuntu/+source/netkit-rsh/+bug/83469

When configured with PAM, in.rshd can be configured to look for or
ignore /etc/nologin via pam_nologin. However, if /etc/pam.d/rsh is
configured to ignore pam_nologin, rsh login can still fail since
/etc/nologin is checked directly in the rshd.c source code. If
netkit-rsh is configured to use PAM then nologin shouldn't be checked.
(or it should be configurable)

The culprit is at  netkit-rsh-0.17/rshd/rshd.c line 486


Bug#487432: Missing files to build the examples

2008-06-21 Thread Jean-Baptiste Lallement
Package: texpower
Version: 0.2-7

I'm reporting this for a Ubuntu user.
Original report:
https://bugs.launchpad.net/ubuntu/+source/texpower/+bug/71397

The PDF example files included are just blank pages, and so these have
to be created. However, the TPPreamble and other needed files needed to
create these documents are missing.

Error message when trying to generate mathexample.tex
=
This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6)
 %-line parsing enabled.
entering extended mode
(./mathexample.tex
LaTeX2e 2005/12/01
Babel v3.8h and hyphenation patterns for english, usenglishmax,
dumylang, noh
yphenation, loaded.

! LaTeX Error: File `__TPpreamble.tex' not found.
=
This can be reproduced in the latest development version of Ubuntu - the
Intrepid Ibex.

Regards.


Bug#487888: cobex_get manpage is low quality

2008-06-24 Thread Jean-Baptiste Lallement
Package: cobex
Version: 0.2.13-2

I'm reporting this for a Ubuntu user.
Original report: https://bugs.launchpad.net/ubuntu/+source/cobex/+bug/71341

In cobex_get manpage, cobex_put should be replaced by cobex_get. The
e.G should be e.g. (also in cobex_put from where it was copy pasted).

A debdiff against version 0.2.13-2 is attached.

Regards.

diff -u cobex-0.2.13/debian/manpages/cobex_get.1 cobex-0.2.13/debian/manpages/cobex_get.1
--- cobex-0.2.13/debian/manpages/cobex_get.1
+++ cobex-0.2.13/debian/manpages/cobex_get.1
@@ -1,13 +1,13 @@
 .TH cobex 1 12 April 2006 Unix cobex Manual
 .SH NAME
-cobex_put \- Gets a file from a device
+cobex_get \- Gets a file from a device
 .SH SYNOPSIS
 .PP
 .B cobex_get
 \fIdevice\fP \fIfilename\fP
 .SH DESCRIPTION
 .PP
-cobex_put is used to fetch a file from a mobile device, e.G download the pictures from your last holidays.
+cobex_get is used to fetch a file from a mobile device, e.g download the pictures from your last holidays.
 .SH SEE ALSO
 .PP
 .BR cobex_put(1),
diff -u cobex-0.2.13/debian/manpages/cobex_put.1 cobex-0.2.13/debian/manpages/cobex_put.1
--- cobex-0.2.13/debian/manpages/cobex_put.1
+++ cobex-0.2.13/debian/manpages/cobex_put.1
@@ -7,7 +7,7 @@
 \fIdevice\fP \fIlocalfile\fP \fIremotefile\fP
 .SH DESCRIPTION
 .PP
-cobex_put loads a file to the mobile device, e.G to send a mp3-song to your handy.
+cobex_put loads a file to the mobile device, e.g to send a mp3-song to your handy.
 .SH SEE ALSO
 .PP
 .BR cobex_get(1),
diff -u cobex-0.2.13/debian/changelog cobex-0.2.13/debian/changelog
--- cobex-0.2.13/debian/changelog
+++ cobex-0.2.13/debian/changelog
@@ -1,3 +1,9 @@
+cobex (0.2.13-2ubuntu1) intrepid; urgency=low
+
+  * Corrected cobex_get and cobex_put manpages (LP: #71341)
+
+ -- Jean-Baptiste Lallement [EMAIL PROTECTED]  Sat, 21 Jun 2008 16:39:45 +0200
+
 cobex (0.2.13-2) unstable; urgency=low
 
   * New maintainer E-Mail.


Bug#608870: New upstream version 2.1.0

2011-01-04 Thread Jean-Baptiste Lallement
Package: ldtp
Version: 2.0.6-1
Severity: wishlist

The LDTP Team has released 2.1.0. Could you please update unstable with
this version.

The source is available at:
http://download.freedesktop.org/ldtp/2.x/2.1.x/ldtp-2.1.0.tar.gz

Thanks,

-- 
Jean-Baptiste
irc: jibel



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#558190: dist-upgrade from jigzo 0.6.1-2 to 0.6.4-2 failed : trying to overwrite '/usr/share/games/jigzo/font/charmap.jpg'

2009-11-26 Thread Jean-Baptiste Lallement
Package: jigzo
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lucid
Version: 0.6.1-4
Severity: normal

This report has also been filed here: https://bugs.launchpad.net/bugs/488789

Upgrading from jigzo 0.6.1-2 to jigzo-data 0.6.1-4 failed because the
file '/usr/share/games/jigzo/font/charmap.jpg' is in both packages and
jigzo 0.6.1-4 depends on jigzo-data.

:: TEST CASE ::
in ubuntu 10.04

black:/tmp$ sudo dpkg -i /tmp/jigzo_0.6.1-2_i386.deb
Selecting previously deselected package jigzo.
Unpacking jigzo (from /tmp/jigzo_0.6.1-2_i386.deb) ...
Setting up jigzo (0.6.1-2) ...
Processing triggers for man-db ...
Processing triggers for menu ...
Processing triggers for desktop-file-utils ...
black:/tmp$ sudo apt-get -u dist-upgrade
Calculating upgrade... Done
The following NEW packages will be installed:
  jigzo-data
The following packages will be upgraded:
  jigzo
1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 0B/4,083kB of archives.
After this operation, 49.2kB of additional disk space will be used.
Do you want to continue [Y/n]? y
Unpacking jigzo-data (from .../jigzo-data_0.6.1-4_all.deb) ...
dpkg: error processing
/var/cache/apt/archives/jigzo-data_0.6.1-4_all.deb (--unpack):
 trying to overwrite '/usr/share/games/jigzo/font/charmap.jpg', which is
also in package jigzo 0:0.6.1-2
dpkg-deb: subprocess paste killed by signal (Broken pipe)
Preparing to replace jigzo 0.6.1-2 (using .../jigzo_0.6.1-4_i386.deb) ...
Unpacking replacement jigzo ...
Processing triggers for desktop-file-utils ...
Processing triggers for menu ...
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/jigzo-data_0.6.1-4_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
black: /tmp

Thanks.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#557416: group motion isn't created if user motion already exists

2009-11-30 Thread Jean-Baptiste Lallement
Tags: patch

Here is an updated version of the patch that uses the return status of
getent instead of the command output.

diff -u motion-3.2.11/debian/motion.postinst 
motion-3.2.11/debian/motion.postinst
--- motion-3.2.11/debian/motion.postinst
+++ motion-3.2.11/debian/motion.postinst
@@ -9,7 +9,7 @@
 
 add_group_if_missing() {
 if [ -x /usr/sbin/addgroup ]; then
-if ! id -g motion /dev/null 21; then
+if ! getent group motion /dev/null; then
 addgroup --force-badname motion || true
 fi
 fi
diff -u motion-3.2.11/debian/changelog motion-3.2.11/debian/changelog
--- motion-3.2.11/debian/changelog
+++ motion-3.2.11/debian/changelog
@@ -1,3 +1,9 @@
+motion (3.2.11-2build2) lucid; urgency=low
+
+  * Fixed debian/motion.postinst : Really test if group motion exists (LP: 
#394755)
+
+ -- Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com  Sat, 21 Nov 
2009 22:32:34 +0100
+
 motion (3.2.11-2build1) karmic; urgency=low
 
   * No-change rebuild to pick up new ffmpeg shlibs file.


Bug#567089: patch proposal to prevent delayed allocation and the zero-length file problem

2010-02-14 Thread Jean-Baptiste Lallement
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lucid ubuntu-patch

Here is a patch which adds some fsync on files and directories to
prevent delayed allocation and the zero-length file problem on ext4
filesystem.

This patch is build against dpkg 1.15.5.6ubuntu1, I'll try to provide a
version for debian soon.

Don't hesitate to comment this patch and I'll update it if needed.

Thanks.
diff -Nru dpkg-1.15.5.6ubuntu1/debian/changelog 
dpkg-1.15.5.6ubuntu2/debian/changelog
--- dpkg-1.15.5.6ubuntu1/debian/changelog   2010-02-14 02:40:26.0 
+0100
+++ dpkg-1.15.5.6ubuntu2/debian/changelog   2010-02-14 12:56:27.0 
+0100
@@ -1,3 +1,14 @@
+dpkg (1.15.5.6ubuntu2) lucid; urgency=low
+
+  * Add fsync on files and directories to prevent delayed allocation and the
+zero-length file problem after a system crash LP: #512096 (Debian #567089) 
+- dpkg-deb/extract.c: fsync control files
+- src/archive.c: fsync newly extracted files
+- lib/dpkg/cleanup.c: fsync directory before closing
+- lib/dpkg/dump.c: fsync db directory
+
+ -- Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com  Sun, 14 Feb 
2010 12:44:38 +0100
+
 dpkg (1.15.5.6ubuntu1) lucid; urgency=low
 
   * Resynchronise with Debian.  Remaining changes:
diff -Nru dpkg-1.15.5.6ubuntu1/dpkg-deb/extract.c 
dpkg-1.15.5.6ubuntu2/dpkg-deb/extract.c
--- dpkg-1.15.5.6ubuntu1/dpkg-deb/extract.c 2010-02-14 02:40:26.0 
+0100
+++ dpkg-1.15.5.6ubuntu2/dpkg-deb/extract.c 2010-02-14 12:19:16.0 
+0100
@@ -36,6 +36,7 @@
 #include ar.h
 #include stdlib.h
 #include stdio.h
+#include fcntl.h
 #ifdef WITH_ZLIB
 #include zlib.h
 #endif
@@ -337,6 +338,30 @@
   movecontrolfiles(OLDDEBDIR);
 }
   }
+
+  /* fsync extracted files to prevent delayed allocation and the zero-length
+   * file problem */
+  if (taroption  directory) {
+DIR *dsd;
+struct dirent *de;
+int fd;
+
+dsd= opendir(directory); 
+if (!dsd) ohshite(_(cannot read directory `%.250s'),directory);
+if (chdir(directory)) 
+ohshite(_(failed to chdir to `%.255s'), directory);
+
+while ((de = readdir(dsd)) != NULL){
+  if (strchr(de-d_name,'.'))
+continue;
+
+  if ((fd = open( de-d_name, O_RDONLY )) != -1) {
+fsync(fd);
+close(fd);
+  }
+}
+closedir( dsd );
+  }
 }
 
 static void controlextractvextract(int admin,
diff -Nru dpkg-1.15.5.6ubuntu1/lib/dpkg/cleanup.c 
dpkg-1.15.5.6ubuntu2/lib/dpkg/cleanup.c
--- dpkg-1.15.5.6ubuntu1/lib/dpkg/cleanup.c 2010-02-14 02:40:26.0 
+0100
+++ dpkg-1.15.5.6ubuntu2/lib/dpkg/cleanup.c 2010-02-14 12:30:21.0 
+0100
@@ -51,8 +51,10 @@
 {
DIR *d = (DIR *)(argv[0]);
 
-   if (d)
+   if (d) {
+   fsync(dirfd(d));
closedir(d);
+   }
 }
 
 void
diff -Nru dpkg-1.15.5.6ubuntu1/lib/dpkg/dump.c 
dpkg-1.15.5.6ubuntu2/lib/dpkg/dump.c
--- dpkg-1.15.5.6ubuntu1/lib/dpkg/dump.c2010-02-14 02:40:26.0 
+0100
+++ dpkg-1.15.5.6ubuntu2/lib/dpkg/dump.c2010-02-14 12:08:08.0 
+0100
@@ -33,6 +33,7 @@
 #include unistd.h
 #include stdio.h
 #include stdlib.h
+#include dirent.h
 
 #include dpkg/i18n.h
 #include dpkg/dpkg.h
@@ -362,6 +363,8 @@
   FILE *file;
   struct varbuf vb = VARBUF_INIT;
   int old_umask;
+  char *fname, *dname;
+  DIR *dirp;
 
   which= available ? available : status;
   oldfn= m_malloc(strlen(filename)+sizeof(OLDDBEXT));
@@ -409,4 +412,17 @@
 newfn, filename, which);
   free(newfn);
   free(oldfn);
+
+  /* We need to sync the directory */
+  fname = strdup( filename );
+  dname = strrchr( fname, '/' );
+  if ( dname  *dname )
+*dname = '\0';
+
+  if ( (dirp = opendir(fname))==NULL) 
+ohshite(_(failed to opendir `%.250s'), fname );
+  if ( fsync(dirfd(dirp)) == -1 ) 
+ohshite(_(failed to fsync `%.250s'), fname );
+  closedir( dirp );
+  free( fname );
 }
diff -Nru dpkg-1.15.5.6ubuntu1/src/archives.c 
dpkg-1.15.5.6ubuntu2/src/archives.c
--- dpkg-1.15.5.6ubuntu1/src/archives.c 2010-02-14 02:40:27.0 +0100
+++ dpkg-1.15.5.6ubuntu2/src/archives.c 2010-02-14 12:14:20.0 +0100
@@ -655,6 +655,8 @@
 if (fchmod(fd,am))
   ohshite(_(error setting permissions of `%.255s'),ti-Name);
 pop_cleanup(ehflag_normaltidy); /* fd= open(fnamenewvb.buf) */
+if (fsync(fd))
+  ohshite(_(unable to fsync new file `%.250s'), fnamenewvb.buf );
 if (close(fd))
   ohshite(_(error closing/writing `%.255s'),ti-Name);
 newtarobject_utime(fnamenewvb.buf,ti);


Bug#567089: patch proposal to prevent delayed allocation and the zero-length file problem

2010-02-14 Thread Jean-Baptiste Lallement
On 02/14/2010 05:50 PM, Raphael Hertzog wrote:
 tag 567089 + patch
 thanks


 Please make it conform the coding style (see doc/coding-style.txt in git
 repo), I saw several stylistic problems:
 - missing space before comma, operator, or =
 - unwanted spaces after ( or before )
 - invalid indenting (be consistent with the rest of the file)
 - use  or '' quotes in new strings (and not `')
Thanks for the reference, I'll provide a more stylish patch then.


 On question though, is that the minimal set of fsync needed to get the
 right result? I fear that we loose lots of performance in particular for
 the change in src/archive.c (fsync newly extracted files). Maybe it's best
 to not do it at this point but add a generic sync() somewhere when the
 database is synced to disk. Not sure though. Also even ext4 implicitely
 sync files on rename() IIRC so it's not strictly needed AFAIK.
We need to fsync all extracted files, info directory and database
directory. I've made extensive crash tests, and I think this is the
minimal set of fsync to ensure that control files and archive files are
there and renaming is done correctly.

I did some profiling and the perfomance hit is less than 10%. Installing
4 packages/1601 files takes an average of 10.04s over 10 runs with the
current version of dpkg and 10.931s with the `fsync' version (9.27%) (on
a laptop with an ATA 5400rpm hard drive)
Initially, I didn't synced the files extracted from the data area but
they were all 0 bytes in case of crash. The situation would be the
same as today.
Using sync instead of fsync won't make a big difference I guess, sooner
or later we need do pages need to be flushed to disk and it will have an
effect on system's performance. On the other hand, calling fsync on each
file makes operation atomic and prevent data loss if the crash occurs
during the installation.
The call to rename doesn't fsync files nor guarantees which file will be
visible after a crash so we need to call fsync on the directory.


 Can you explain your changes in more details, because I'm not sure I
 understand it completely:

 +  * Add fsync on files and directories to prevent delayed allocation
and the
 +zero-length file problem after a system crash LP: #512096
(Debian #567089)
 +- dpkg-deb/extract.c: fsync control files

 You modify extracthalf() which is used for extracting control files but
 also the main files of the package itself (depending on whether admin is
 true or not). You call fsync on all files of the directory indicated.

 In the case of the control archives (control.tar.gz), it's fine we only
 have files at the root directory but in the case of data.tar.gz you
 definitely won't fsync all installed files.

 This lead me to believe that it's not the proper place for this code.
 Instead I think (but I would want Guillem's opinion) that it should
 be in process_archive() just after the call to dpkg-deb --control.

The idea was to fsync the files as soon as they're extracted. That's why
I've put it there instead of inside dpkg's code. In fact the problem is
more with tar than dpkg.

From what I've understood of the behavior of dpkg, when called from
dpkg, the argument `directory' is not null only when we extract the
control files. When dpkg-deb is run directly with the extract or
vextract command we want to fsync files.
I was unsure where to fsync the control file so I will clearly follow
your advice here.

 And you probably want a separate function to sync all files of a
 directory.

 +- src/archive.c: fsync newly extracted files

 See comment in first para.

 +- lib/dpkg/cleanup.c: fsync directory before closing

 I doubt that this is the proper place. What directory needs to be
 fsynced() and at what time of the installation/upgrade process ?
We need to fsync INFODIR after the rename operations to ensure that the
entries in that directory are flushed to disk.


 Probably only the pop_cleanup() calls in src/processarc.c and not the
others
 so it really needs to be moved there directly.
OK. just before the last call to pop_cleanup(ehflag_normaltidy); /*
closedir */ should be fine.


 +- lib/dpkg/dump.c: fsync db directory

 This one looks okay.

Great :)


 Code review:

 +while ((de = readdir(dsd)) != NULL){
 +  if (strchr(de-d_name,'.'))
 +continue;

 Why skipping files containing a dot? Maybe you wanted to skip . and ..
 but that's not what this code does.

Right, I will change it.

 +
 +  if ( (dirp = opendir(fname))==NULL)
 +ohshite(_(failed to opendir `%.250s'), fname );
 +  if ( fsync(dirfd(dirp)) == -1 )
 +ohshite(_(failed to fsync `%.250s'), fname );
 +  closedir( dirp );
 +  free( fname );

 Can't we open the directory directly instead of using opendir + dirfd? Or
 is that non-portable (I don't know)?

That's fine. I'll correct that too.

Thanks for reviewing the code. I'll submit a corrected patch for debian
within a week.




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a 

Bug#564498: stone failed to install : incorrect use of command substitution in postinst

2010-01-09 Thread Jean-Baptiste Lallement
Package: stone
Version: 2.3.e-1.1
Severity: grave
Tags: patch
Justification: renders package unusable
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lucid ubuntu-patch

With dash (or bash) as default shell stone is uninstallable.
This is due to the use of command expansion syntax to retrieve values 
stored in $DOMAINNAME and $HOSTNAME in postinst script.

This results in an uninstallable package with dash and invalid certficate with 
bash.

BTW, when the certicate already exists, the message to the user display the 
wrong path.

== HOW TO REPRODUCE ==
$ apt-get install stone

Fails with the following message
Setting up stone (2.3.e-1ubuntu1) ...
dpkg: error processing stone (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 stone
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:
Setting up stone (2.3.e-1ubuntu1) ...
You already have /etc/certs/stone.pem

== VERSION ==
Reproduced with
 stone | 2.3.e-1ubuntu1 | karmic/universe | source, amd64, i386
 stone | 2.3.e-1.1 | lucid/universe | source, amd64, i386


In Ubuntu, we've applied the attached patch to achieve the following:

  * debian/postinst: 
- Fix incorrect use of command expansion which prevent 
installation of the package with dash (LP: #495539)
- Display the right path to the certificate when it already exists

We thought you might be interested in doing the same. 


-- System Information:
Debian Release: squeeze/sid
  APT prefers lucid-updates
  APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500, 
'lucid-proposed'), (500, 'lucid-backports'), (500, 'lucid')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-9-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u stone-2.3.e/debian/postinst stone-2.3.e/debian/postinst
--- stone-2.3.e/debian/postinst
+++ stone-2.3.e/debian/postinst
@@ -6,7 +6,7 @@
 PATH=$PATH:/usr/bin/ssl
 if [ -f stone.pem ]
 then
-echo You already have /etc/certs/stone.pem
+echo You already have `pwd`/stone.pem
 else
 HOSTNAME=`hostname -s`
 DOMAINNAME=`hostname -d`
@@ -14,10 +14,10 @@
 .
 .
 .
-$(DOMAINNAME)
-$(HOSTNAME)
+$DOMAINNAME
+$HOSTNAME
 stone
-r...@$(HOSTNAME).$(DOMAINNAME)
+r...@$hostname.$domainname
 +
 #req -new -x509 -nodes -out stone.pem -keyout stone.pem
 ln -sf stone.pem `openssl x509 -noout -hash  stone.pem`.0
@@ -28 +28 @@
-#DEBHELPER#
\ No newline at end of file
+#DEBHELPER#
diff -u stone-2.3.e/debian/changelog stone-2.3.e/debian/changelog
diff -u stone-2.3.e/debian/control stone-2.3.e/debian/control
--- stone-2.3.e/debian/control
+++ stone-2.3.e/debian/control
@@ -1,7 +1,8 @@
 Source: stone
 Section: net
 Priority: optional
-Maintainer: Takuo KITAME kit...@debian.org
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Takuo KITAME kit...@debian.org
 Build-Depends: debhelper ( 3.0.0), libssl-dev
 Standards-Version: 3.8.0
 


Bug#564515: lastfmsubmitd: install fails if user entered a non existent spool group

2010-01-09 Thread Jean-Baptiste Lallement
Package: lastfmsubmitd
Version: 1.0.5-1.1
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu lucid ubuntu-patch

:: DESCRIPTION ::
If the user enters a non-existent group at the lastfmsubmitd/spool_group 
prompt, the installation fails with
chown: invalid group: `lastfm:firstfm'
dpkg: error processing lastfmsubmitd (--configure):
 subprocess post-installation script returned error exit status 1

:: VERSION ::
lastfmsubmitd | 0.36-1 | hardy/universe | source, all
lastfmsubmitd | 0.37-2 | intrepid/universe | source, all
lastfmsubmitd | 0.37-3 | jaunty/universe | source, all
lastfmsubmitd | 1.0.5-1 | karmic/universe | source, all
lastfmsubmitd | 1.0.5-1 | lucid/universe | source, all

:: HOW TO REPRODUCE ::
When prompt with the question: Group that may send submissions: enter a group 
name that doesn't exist on your system and different from the default value 
lastfm

:: WORKAROUND ::
Keep the default.

:: FAULTY CODE ::
in debian/lastfmsubmitd.postinst:

db_get lastfmsubmitd/spool_group
if [ $RET ]; then
for dir in /var/log/lastfm /var/run/lastfm /var/spool/lastfm; do
chown lastfm:$RET $dir
chmod 2775 $dir
done
fi


*** /tmp/tmpxsubrf
In Ubuntu, we've applied the attached patch to achieve the following:

  * lastfmsubmitd.postinst: Create spool group if it doesn't exist. (LP: 
#386240)


The other solution would have been to skip the chown loop if when the group 
doesn't exists. 

We thought you might be interested in doing the same. 


-- System Information:
Debian Release: squeeze/sid
  APT prefers lucid-updates
  APT policy: (500, 'lucid-updates'), (500, 'lucid-security'), (500, 
'lucid-proposed'), (500, 'lucid-backports'), (500, 'lucid')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-9-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u lastfmsubmitd-1.0.5/debian/changelog lastfmsubmitd-1.0.5/debian/changelog
diff -u lastfmsubmitd-1.0.5/debian/lastfmsubmitd.postinst lastfmsubmitd-1.0.5/debian/lastfmsubmitd.postinst
--- lastfmsubmitd-1.0.5/debian/lastfmsubmitd.postinst
+++ lastfmsubmitd-1.0.5/debian/lastfmsubmitd.postinst
@@ -45,6 +45,9 @@
 
 db_get lastfmsubmitd/spool_group
 if [ $RET ]; then
+if ! getent group $RET /dev/null; then
+addgroup --force-badname $RET 
+fi
 for dir in /var/log/lastfm /var/run/lastfm /var/spool/lastfm; do
 chown lastfm:$RET $dir
 chmod 2775 $dir
diff -u lastfmsubmitd-1.0.5/debian/control lastfmsubmitd-1.0.5/debian/control
--- lastfmsubmitd-1.0.5/debian/control
+++ lastfmsubmitd-1.0.5/debian/control
@@ -1,7 +1,8 @@
 Source: lastfmsubmitd
 Section: sound
 Priority: optional
-Maintainer: Decklin Foster deck...@red-bean.com
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Decklin Foster deck...@red-bean.com
 Build-Depends: debhelper (= 6), python-dev, po-debconf
 Build-Depends-Indep: python-support (= 0.6)
 Standards-Version: 3.8.0


Bug#567089: [LONG] Re: Exec format error bugs

2010-02-08 Thread Jean-Baptiste Lallement
2010/2/8 Benjamin Root ben.v.r...@gmail.com:
 ext4 is default only if you are doing a fresh install.  If you are upgrading
 from Jaunty, you will still have ext3, I believe.

From duplicates the problem appeared in 9.04 with slightly more
reports in 9.10. Only 4 reports are filed against an earlier release.


--
To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#567089: [LONG] Re: Exec format error bugs

2010-02-08 Thread Jean-Baptiste Lallement
2010/2/8 Guillem Jover guil...@debian.org:
 I'd rather fix the problem that's causing those files to be 0 length.
 That should generally never happen, I'm assuming they might just need an
 fsync on the directory, which we are not doing at all in general, there
 might be some fsyncs on files missing too. What's the difference in
 Ubuntu that causes all these reporters to suffer such error, I had never
 seen that one before, and it's not been reported in our BTS either. Are
 all those reporters using ext4 or ubifs? Anything else different from
 Debian you might be aware of?


This is a problem with ext4 and some missing fsync.
I'm able to reproduce it on a VM with an ext4 fs and the following test:

# apt-get install hello; sleep 20; echo b  /proc/sysrq-trigger
[simulates a system crash]
After reboot both installation and removal scripts are 0 bytes. You
will notice that hello.list was correctly written to disk.
$ ls -l /var/lib/dpkg/info/hello.*
-rw-r--r-- 1 root root 323 2010-02-09 00:42 /var/lib/dpkg/info/hello.list
-rwxr-xr-x 1 root root   0 2009-08-15 19:17 /var/lib/dpkg/info/hello.postinst
-rwxr-xr-x 1 root root   0 2009-08-15 19:17 /var/lib/dpkg/info/hello.prerm

If you replay the test but adding a sync before the system crash:
# apt-get install hello; sync;  echo b  /proc/sysrq-trigger
After reboot the files are fine:
$ ls -l  /var/lib/dpkg/info/hello.*
-rw-r--r-- 1 root root 323 2010-02-09 00:46 /var/lib/dpkg/info/hello.list
-rwxr-xr-x 1 root root 103 2009-08-15 19:17 /var/lib/dpkg/info/hello.postinst
-rwxr-xr-x 1 root root  74 2009-08-15 19:17 /var/lib/dpkg/info/hello.prerm

If I adjust /proc/sys/vm/dirty_expire_centisecs to be below the sleep
time, ( for exemple 1000 in the test above ) then data are correctly
written to disk.

So, some fsyncs should fix it.

--
Sincerely,

- JB


-- 
To UNSUBSCRIBE, email to debian-dpkg-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org




-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#549882: ttf-mscorefonts-installer: Poor handling of font downloads

2010-01-05 Thread Jean-Baptiste Lallement
}' msfonts.info  /var/lib/msttcorefonts/ms-fonts
awk '{print $4}' msfonts.info  /var/lib/msttcorefonts/ms-fonts
fi

cd /
rm -rf $SCRATCHDIR

if [ -z $QUIETMODE ] ; then
if [ $EXITCODE = 0 ] ; then
echo All fonts downloaded and installed.
else
mstt_exit_with_error The following fonts failed to install : 
$FFFAILED.
fi
fi

#DEBHELPER#

exit 0
#!/bin/sh
set -e

. /usr/share/debconf/confmodule

db_get msttcorefonts/dldir
LOCALCOPY=$RET

db_get msttcorefonts/savedir
SAVEDIR=$RET

db_get msttcorefonts/dlurl
URLOVERRIDE=$RET

db_get msttcorefonts/http_proxy
http_proxy=$RET

while ! echo $http_proxy | \
egrep -q 
'https?://([[:alnum:]]([-[:alnum:]]+[[:alnum:]])*\.)+[[:alnum:]]{2,3}(:\d+)?/?' 
  \
! -z $http_proxy  ; do
db_fset msttcorefonts/http_proxy seen false
db_input high msttcorefonts/http_proxy
db_go
db_get msttcorefonts/http_proxy
http_proxy=$RET
done

## Content of update-ms-fonts will be concatenated below

msttcorefonts (3.0ubuntu1) lucid; urgency=low

  * debian/postinst.in : Check validity of proxy setting (LP : #274421)
  * update-ms-font : improve error handling (LP: #431217)(LP: #464422)
- Don't fail if the fonts failed to download
- Retry all mirrors for all fonts
- Drop --dns-timeout option of wget an rely on system timeout
- Increase --connect-timeout for slow connections

 -- Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com  Tue, 05 Jan 
2010 22:23:40 +0100

msttcorefonts (3.0) unstable; urgency=low

  * Use SF.net redirection instead of individual mirror names, as to be
more robust against changes on the SF.net side.
  * Verify font and cab validity with SHA256 instead of MD5 for safety.
  * Verify downloaded cab files before extracting.
  * Remove obsolete transitional package 'msttcorefonts'.
  * Added Belarusian debconf translation, thanks Pavel Piatruk
(closes: #516246).
  * Update to debhelper level 7 and other packaging cleanups, rename some
more backend items from msttcorefonts to ttf-mscorefonts-installer.

 -- Thijs Kinkhorst th...@debian.org  Sat, 21 Feb 2009 15:35:38 +0100

msttcorefonts (2.7) unstable; urgency=low

  * Updated Galician debconf translation, thanks Marce Villarino
(closes: #512245).

 -- Thijs Kinkhorst th...@debian.org  Mon, 19 Jan 2009 20:55:45 +0100

msttcorefonts (2.6) unstable; urgency=low

  * Rename package to ttf-mscorefonts-installer.
This is in line with all other TrueType fonts in Debian and makes
it clear that the package doesn't actually include the fonts but
is a downloader package (Closes: #286154).
  * Move ttf-liberation to Recommends and advertise it more prominently,
now that it is in Debian main.

 -- Thijs Kinkhorst th...@debian.org  Mon, 07 Jul 2008 22:22:28 +0200

msttcorefonts (2.5) unstable; urgency=low

  * Move defoma debconf template to README. Not having defoma configured but
requiring it is getting rare, so debconf is overkill.
  * Checked for policy 3.8.0, updated debian/copyright. Add Lintian
override for emtpy fonts dir. Updated to debhelper 6. Drop version
specification for debconf for pre-etch debconf version.
  * Suggest ttf-liberation, not available from Debian yet but is available
to users of debian-multimedia.
  * Drop preinst script that was only present to clean up for unstable/testing
users that installed 2.0 - we've given them a year and it shouldn't
pollute stable.
  * Remove set -e from prerm, because if msttcorefonts is not properly
installed defoma-font may fail and we're still well uninstalled.
(Closes: #461926)
  * Update mirror list.

 -- Thijs Kinkhorst th...@debian.org  Sat, 14 Jun 2008 16:36:00 +0200

msttcorefonts (2.4) unstable; urgency=low

  * Fix typo in templates, unfuzzy translations.
  * Add Finnish translation by Esko Arajärvi (closes: #448957).
  * cd out of scratchdir before removing it to prevent warning messages;
thanks Sven Joachim (closes: #438989, #425322).

 -- Thijs Kinkhorst th...@debian.org  Sat,  3 Nov 2007 21:06:18 +0100

msttcorefonts (2.3) unstable; urgency=low

  * Add Aliases to the defoma hints file for Arial (Helvetica),
Courier New (Courier) and Times New Roman (Times) variants.
Thanks Angus Lees for the pointer (Closes: #393746).
  * Added Vietnamese translation by Clytie Siddall (Closes: #427179).
  * Updated Danish translation by Kenneth Nielsen.

 -- Thijs Kinkhorst th...@debian.org  Mon, 20 Aug 2007 08:01:01 +0200

msttcorefonts (2.2) unstable; urgency=low

  * Move debhelper defoma code down in postinst, so any script failures
will happen before the fonts are registered.
  * Also deregister the removed Tahoma with defoma (Closes: #425228).

 -- Thijs Kinkhorst th...@debian.org  Sun, 20 May 2007 15:35:37 +0200

msttcorefonts (2.1) unstable; urgency=low

  * Drop Tahoma font introduced in 2.0. Since it lacks a bold counterpart,
it causes more trouble than it solves (Closes: #424852, #424864).
  * Add

Bug#567089: patch proposal to prevent delayed allocation and the zero-length file problem

2010-03-08 Thread Jean-Baptiste Lallement
Results from the tests against git rev. 
http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=62668eb


Test cases: crash after install/upgrade/removal/purge of a package.
The status file is not synced, the previous version is kept and the 
directory /var/lib/dpkg/ contains the file status-new.

This is due to a missing fsync on the directory.

This is a minor annoyance, since running 'dpkg --configure -a' fix it.

On the performance side, the installation of a package is a factor 2 
slower (1.8 to 2.2 depending on the number of files) than without the 
fsyncs.
Test done with packages from 200 files up to 8200 files with an ATA Disk 
@5400rpm


Thanks for your work, guillem.

--
:JB



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#500560: [patch] proxy auth percent encoding

2010-03-29 Thread Jean-Baptiste Lallement
Tags: patch
Package: apt
Version: 0.7.25.3

Here is a patch proposed to Ubuntu
(https://bugs.edge.launchpad.net/ubuntu/+source/gnome-terminal/+bug/130289)

It does the following things:
- in QuoteString: escape '%'
- unescape proxy credentials

credentials need to be percent encoded in apt.conf (RFC3986)

=== modified file 'apt-pkg/contrib/strutl.cc'
--- apt-pkg/contrib/strutl.cc	2010-03-08 16:46:43 +
+++ apt-pkg/contrib/strutl.cc	2010-03-27 00:05:30 +
@@ -273,7 +273,7 @@
for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
{
   if (strchr(Bad,*I) != 0 || isprint(*I) == 0 || 
-	  *I = 0x20 || *I = 0x7F)
+	  *I = 0x20 || *I = 0x7F || *I == 0x25)
   {
 	 char Buf[10];
 	 sprintf(Buf,%%%02x,(int)*I);
@@ -293,7 +293,8 @@
string Res;
for (string::const_iterator I = Str.begin(); I != Str.end(); I++)
{
-  if (*I == '%'  I + 2  Str.end())
+  if (*I == '%'  I + 2  Str.end()  
+  isxdigit(int(*(I+1)))  isxdigit(int(*(I+2
   {
 	 char Tmp[3];
 	 Tmp[0] = I[1];
@@ -1216,10 +1217,11 @@
}
else
{
+  // username and password must be encoded (RFC2396)
   Host.assign(At+1,SingleSlash);
-  User.assign(FirstColon,SecondColon);
+  User.assign(DeQuoteString(string(FirstColon,SecondColon)));
   if (SecondColon  At)
-	 Password.assign(SecondColon+1,At);
+	 Password.assign(DeQuoteString(string(SecondColon+1,At)));
}   

// Now we parse the RFC 2732 [] hostnames.



Bug#567089: patch proposal to prevent delayed allocation and the zero-length file problem

2010-02-26 Thread Jean-Baptiste Lallement

Hi,

On 02/17/2010 09:09 PM, Guillem Jover wrote:


The patch (attached) is completely untested, it builds though :), and
there's still few things to polish, but I think it handles most of the
problematic cases now (except for syncing dirs on removal), it is also
I tested the fsync patch. There is one issue in processarc.c. The call 
to dir_sync_contents fails because at this point 'cidir' is the full 
path of the control file, not the name of the directory containing the 
control file.


Following your work, I added a dir_sync_contents_parent in 
lib/dpkg/dir.{c,h} and replaced the call to dir_sync_contents in 
process_archive. I'm not sure if it's done the way you're expecting, but 
it builds and run fine. The patch is attached.


I tested the following cases: install, upgrade, removal and purge. Then 
ran a sha256sum on the files (archive, control files, and dpkg db) and 
compared to the expected checksum. All the files are correctly synced or 
removed without residual files left behind (some .dpkg-new or status-new)



doing too many fsync()s on directories, and I'll probably switch that
to mark them as dirty and only fsync() them then.
I confirm that there are too many syncs on directories. Some directories 
are sync as many times as the number of files it contains. Marking them 
as dirty when the status of the package is set 'unpacked' should fix it. 
You'll find the number of sync/file for bsdgames at 
http://www.pastebin.Com/NdHNWsyQ




I think I'll split it in few pieces, one for the missing fsync()/fflush()
on files, another one for dir fsync()s on db paths, and a last one to
be worked on for fsync()s on the installed directories. This way we get
incremental improvements, also I've not yet checked the impact of the
additional fsync()s, which might be notibable for the installed files.

The major issue seems to be the performance. I tested 
texlive-latex-extra-doc (more than 8000 files) some directories are sync 
around 500 times. I've only tested on a VM up to now, but the 
performance loss is a factor 3. Take this number with caution, it's a VM 
with a virtual disk, not a raw device hence disk access does not means 
much. I'll do some profiling on a real machine this week end.


Don't hesitate to tell me if you need few more tests.

Thanks.

--
-JB
diff -Nru dpkg.patched/lib/dpkg/dir.c dpkg.patched.02/lib/dpkg/dir.c
--- dpkg.patched/lib/dpkg/dir.c	2010-02-24 17:05:35.207917256 +0100
+++ dpkg.patched.02/lib/dpkg/dir.c	2010-02-26 21:20:02.870717405 +0100
@@ -120,3 +120,19 @@
 
 	free(dirname);
 }
+
+void
+dir_sync_contents_parent(const char *path)
+{
+	char *dirname, *slash;
+
+	dirname = m_strdup(path);
+
+	slash = strrchr(dirname, '/');
+	if (slash != NULL) {
+		*slash = '\0';
+		dir_sync_contents(dirname);
+	}
+
+	free(dirname);
+}
diff -Nru dpkg.patched/lib/dpkg/dir.h dpkg.patched.02/lib/dpkg/dir.h
--- dpkg.patched/lib/dpkg/dir.h	2010-02-24 17:05:35.207917256 +0100
+++ dpkg.patched.02/lib/dpkg/dir.h	2010-02-26 21:20:10.154742899 +0100
@@ -28,6 +28,7 @@
 DPKG_BEGIN_DECLS
 
 void dir_sync_contents(const char *path);
+void dir_sync_contents_parent(const char *path);
 void dir_sync(DIR *dir, const char *path);
 void dir_sync_path(const char *path);
 void dir_sync_path_parent(const char *path);
diff -Nru dpkg.patched/src/processarc.c dpkg.patched.02/src/processarc.c
--- dpkg.patched/src/processarc.c	2010-02-24 17:05:35.215922475 +0100
+++ dpkg.patched.02/src/processarc.c	2010-02-26 21:24:49.930792586 +0100
@@ -222,7 +222,7 @@
* files. As neither dpkg-deb nor tar do explicit fsync()s, we have to do
* them here. XXX: We might replace this at some point with an internal
* tar implementation. */
-  dir_sync_contents(cidir);
+  dir_sync_contents_parent(cidir);
 
   parsedb(cidir, pdb_recordavailable | pdb_rejectstatus | pdb_ignorefiles,
   pkg,NULL,NULL);


Bug#566556: dict-xdict failed to install: missing depends on dictd

2010-02-26 Thread Jean-Baptiste Lallement

Hi,

Not only This package will be of limited use without the server found 
in the dictd package. according to the description but it is also 
uninstallable and then unremovable.


You should add a depends on dictd

@Holger, to workaround this situation simply install dictd.

Sincerely,



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#579312: package canna failed to purge: /usr/sbin/deluser: The user `canna' does not exist.

2010-04-26 Thread Jean-Baptiste Lallement
Package: canna
Version: 3.7p3-6.3
Severity: normal
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu maverick ubuntu-patch


Ubuntu report and patch:
https://bugs.edge.launchpad.net/ubuntu/+source/canna/+bug/569678

The package failed to purge with the error:
---
Removing canna ...
Stopping cannaserver...
Purging configuration files for canna ...
Looking for files to backup/remove ...
Not backing up/removing `/var/lib/canna', it matches ^/var/.*.
Removing user `canna' ...
Warning: group `canna' has no more members.
Done.
/usr/sbin/deluser: The user `canna' does not exist.
dpkg: error processing canna (--purge):
 subprocess installed post-removal script returned error exit status 2


In Ubuntu, we've applied the attached patch to achieve the following:

  * debian/postrm: don't fail if canna user is already deleted (LP: #569678)

We thought you might be interested in doing the same. 



-- System Information:
Debian Release: squeeze/sid
  APT prefers lucid-updates
  APT policy: (500, 'lucid-updates'), (500, 'lucid')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-19-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
diff -u canna-3.7p3/debian/changelog canna-3.7p3/debian/changelog
diff -u canna-3.7p3/debian/postrm canna-3.7p3/debian/postrm
--- canna-3.7p3/debian/postrm
+++ canna-3.7p3/debian/postrm
@@ -5,7 +5,7 @@
 case $1 in
 purge)
 rm -rf /var/log/canna
-deluser --remove-home canna
+deluser --remove-home canna /dev/null 21 || true
 rm -f /etc/default/canna
 rm -f /etc/hosts.canna
 rm -rf /var/lib/canna/dic/group


Bug#593782: texlive-binaries: fmtutil, texconfig, updmap and mktexfmt use tcfmgr shipped in texlive-base

2010-08-20 Thread Jean-Baptiste Lallement
Package: texlive-binaries
Version: 2009-6ubuntu1
Severity: normal

if texlive-base is not installed the binaries fmtutil, texconfig, updmap
and mktexfmt fail to run properly.

TEST CASE:
$ dpkg --purge texlive-binaries texlive-base
$ apt-get install texlive-binaries
$ fmtutil --refresh
/usr/bin/fmtutil: 974: /usr/share/texmf/texconfig/tcfmgr: not found
fmtutil: config file `fmtutil.cnf' not found.



-- System Information:
Debian Release: squeeze/sid
  APT prefers maverick-updates
  APT policy: (500, 'maverick-updates'), (500, 'maverick')
Architecture: i386 (i686)

Kernel: Linux 2.6.35-14-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages texlive-binaries depends on:
ii  ed   1.4-1build1 The classic UNIX line editor
ii  libc62.12.1-0ubuntu1 Embedded GNU C Library: Shared lib
ii  libfontconfig1   2.8.0-2ubuntu1  generic font configuration library
ii  libfreetype6 2.4.2-1 FreeType 2 font engine, shared lib
ii  libgcc1  1:4.5.1-1ubuntu2GCC support library
ii  libkpathsea5 2009-6ubuntu1   TeX Live: path search library for 
ii  libncurses5  5.7+20100626-0ubuntu1   shared libraries for terminal hand
ii  libpng12-0   1.2.44-1PNG library - runtime
ii  libpoppler7  0.14.2.real-0ubuntu1PDF rendering library
ii  libstdc++6   4.5.1-1ubuntu2  The GNU Standard C++ Library v3
ii  libx11-6 2:1.3.3-3ubuntu1X11 client-side library
ii  libxaw7  2:1.0.7-1   X11 Athena Widget library
ii  libxmu6  2:1.0.5-1   X11 miscellaneous utility library
ii  libxpm4  1:3.5.8-1   X11 pixmap library
ii  libxt6   1:1.0.7-1   X11 toolkit intrinsics library
ii  tex-common   2.08common infrastructure for building
ii  zlib1g   1:1.2.3.4.dfsg-3ubuntu1 compression library - runtime

texlive-binaries recommends no packages.

texlive-binaries suggests no packages.

-- no debconf information



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#586897: Meaningless error message when option -e is used without argument

2010-06-23 Thread Jean-Baptiste Lallement
Package: chkrootkit
Version: 0.49-4
Severity: normal
Usertags: origin-ubuntu maverick

When the option -e is used without argument the error message doesn't
tell much about the error:
$ chkrootkit -e
shift: 2659: can't shift that many

It should display the help of chkrootkit.

Additionally, the documentation of the -e option could be improved by
explicitly showing that arguments are required:
-e files/dirs
Exclude known false positive files/dirs, quoted, space separated.
Quoted white space separated list of files/dirs.
instead of
-e Exclude known false positive files/dirs, quoted, space separated.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#587107: remote-tty: Support /var/run as tmpfs

2010-06-25 Thread Jean-Baptiste Lallement
Package: remote-tty
Version: 4.0-12
Severity: important
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu maverick ubuntu-patch

When /var/run is of type tmpfs, the directories
/var/run/remote-tty/{sock,pid} are removed after a reboot. 
According to Policy 9.3.2 the init.d scripts must handle this correctly.

In Ubuntu, we've applied the attached patch to achieve the following:

  [ Jean-Baptiste Lallement ]
  * Create /var/run/remote-tty/{sock,pid} in init script (LP: #409805) 

  [ Stefano Rivera ]
  * Depend on $remote_fs in init script

We thought you might be interested in doing the same. 


-- System Information:
Debian Release: squeeze/sid
  APT prefers maverick-updates
  APT policy: (500, 'maverick-updates'), (500, 'maverick')
Architecture: i386 (i686)

Kernel: Linux 2.6.35-5-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
=== modified file 'debian/changelog'

=== modified file 'debian/control'
--- debian/control  2008-04-26 12:04:45 +
+++ debian/control  2010-06-25 09:51:25 +
@@ -1,7 +1,8 @@
 Source: remote-tty
 Section: admin
 Priority: optional
-Maintainer: Jonathan McDowell nood...@earth.li
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Jonathan McDowell nood...@earth.li
 Standards-Version: 3.7.3.0
 Build-Depends: debhelper (= 4)
 

=== modified file 'debian/init'
--- debian/init 2008-04-26 12:04:45 +
+++ debian/init 2010-06-25 09:51:25 +
@@ -2,8 +2,8 @@
 
 ### BEGIN INIT INFO
 # Provides:  remote-tty
-# Required-Start:$syslog
-# Required-Stop: $syslog
+# Required-Start:$remote_fs $syslog
+# Required-Stop: $remote_fs $syslog
 # Should-Start:  $local_fs
 # Should-Stop:   $local_fs
 # Default-Start: 2 3 4 5
@@ -20,6 +20,11 @@
 case $1 in
   start)
echo Starting remote-tty console manager:
+   mkdir -p /var/run/remote-tty/sock
+   mkdir -p /var/run/remote-tty/pid
+   chmod -R 775 /var/run/remote-tty
+   chown -R rttymgr:rttymgr /var/run/remote-tty /dev/null 21 || true
+
cd /etc/remote-tty/dev
if [ ! x`ls` = x ]; then
su rttymgr -c /usr/sbin/startsrv *
@@ -51,7 +56,7 @@
sh $0 start
;;
   *)
-   echo Usage: /etc/init.d/ssh {start|stop}
+   echo Usage: /etc/init.d/$(basename $0) {start|stop}
exit 1
 esac
 

=== modified file 'debian/postinst'
--- debian/postinst 2006-06-20 09:49:00 +
+++ debian/postinst 2010-06-25 09:51:25 +
@@ -10,7 +10,6 @@
 
# We want to own our /var/run and /var/log dirs.
chown -R rttymgr:rttymgr /var/log/remote-tty
-   chown -R rttymgr:rttymgr /var/run/remote-tty
;;
 
abort-upgrade|abort-remove|abort-deconfigure)

=== modified file 'debian/rules'
--- debian/rules2006-11-26 20:52:54 +
+++ debian/rules2010-06-25 09:51:25 +
@@ -38,8 +38,6 @@
debian/$(package)/etc/remote-tty/opt \
debian/$(package)/etc/remote-tty/owner \
debian/$(package)/etc/remote-tty/prot
-   install -d debian/$(package)/var/run/remote-tty/pid \
-   debian/$(package)/var/run/remote-tty/sock
install -d debian/$(package)/etc/init.d
install -m 755 ttysrv debian/$(package)/usr/sbin
install -m 755 rtty debian/$(package)/usr/bin/remote-tty



Bug#591677: /etc/mysqmail.conf deleted in prerm and postinst - policy violation

2010-08-04 Thread Jean-Baptiste Lallement
Package: mysqmail
Version: 0.4.9-3
Severity: serious
Justification: Policy 10.7.3

The configuration file /etc/mysqmail.conf is deleted in prerm and
postint, local changes are not preserved during an upgrade and the
configuration file is deleted when the package is removed. 

Debian Policy 10.7.3 Behavior indicates:
Configuration file handling must conform to the following behavior:
* local changes must be preserved during a package upgrade, and
* configuration files must be preserved when the package is removed, and only 
deleted when the package is purged.

Obsolete configuration files without local changes may be removed by the 
package during upgrade.

Thanks

-- System Information:
Debian Release: squeeze/sid
  APT prefers maverick-updates
  APT policy: (500, 'maverick-updates'), (500, 'maverick')
Architecture: i386 (i686)

Kernel: Linux 2.6.35-13-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages mysqmail depends on:
ii  debconf [debconf-2.0]  1.5.32ubuntu1 Debian configuration management sy
ii  libdotconf1.0  1.0.13-3  Configuration file parser library 

mysqmail recommends no packages.

mysqmail suggests no packages.

-- debconf information excluded



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#549882: ttf-mscorefonts-installer: Poor handling of font downloads

2009-12-07 Thread Jean-Baptiste Lallement
Hi Thijs,

We have received 150 reports about this package since the release of
Karmic on Oct. 29th. This is a critical issue from a user experience
point of view.
So, I reviewed 345 installation failures of this package in Ubuntu (1
log file may contain many failures). Here are the results:
1. DNS Timout : 160 (46.36%)
According to the comments, removing the option --dns-timeout=10 and
leaving the system defaults in update-ms-fonts seems to help.

2. Proxy URL http://:8080/: Invalid host name : 76 (22.03%)
This is Ubuntu specific and reported here only for completness. This
happens when the gconf key use_http_proxy = true and the user left the
default values for the keys host and port.
The solution could be to unset http_proxy if the proxy address is
invalid or prompting the user with msttcorefonts/http_proxy

3. Connection timed out : 39 (11.30%)
Same category of issue as 1 but when connecting to the server. Removing
the option --connect-timeout=5 in update-ms-fonts and leave the system
default value seems to help too.

4. Name or service not known : 15 (4.35%)
Faulty DNS or badly configured local DNS. Not much to do here.

5. Checksum mismatch : 14 (4.06%)
Some mirrors are sometimes returning partial content or HTML content
(for instance biznetworks.dl.sourceforge.net)

6. The remaining errors are
- HTTP Error : 13 (3.77%)
- Various System Errors : 12 (3.48%)
- Network error : 8 (2.32%)
- User Interrupt : 8 (2.32%)

Fixing 1,2  3 would avoid a large part of the failures.

I've also check the dependencies on this package:
xubuntu-restricted-extras : Recommends
ubuntu-restricted-extras : Recommends
playonlinux : Suggests
kubuntu-restricted-extras : Recommends
wine1.2 : Recommends
wine : Recommends
user-he : Suggests
libphp-jpgraph : Depends
latexdraw : Suggests
jclic : Suggests
freevo : Suggests
eeepc-acpi-scripts : Suggests
openoffice.org : Recommends
gnumeric : Suggests

There is only 1 package that really depends on msttcorefonts.
Furthermore, it will /only/ result in bad rendering for some apps if the
fonts are not installed. That's far from unusable.

I completly agree with Manta's suggestion but the installation will
still fail if we are running in non-interactive mode.
Couldn't we have the same behaviour as flashplugin-installer ? The
function fp_exit_with_error notifies the user of the failure, set some
debconf values, and exit with 0 but it doesn't fails the whole upgrade.
I agree with you, in this case the fonts are not installed but do we
expect from ttf-mscorefonts-installer to install the fonts or to install
the installer ? In the latter the installation succeeded even if the
installation of the fonts didn't.

Regards,

JB



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#560409: postgis can't be purged if postgresql is not installed due to missing directory

2009-12-10 Thread Jean-Baptiste Lallement
Package: postgis
Usertags: origin-ubuntu lucid ubuntu-patch
Version: 1.3.6-2
Severity: normal
Tags: patch

This report has also been filed here: https://bugs.launchpad.net/bugs/392143

postgis can't be removed if postgresql is not installed due to missing
/usr/lib/postgresql/8.3/lib directory

:: VERSION ::
   postgis | 1.3.3-3 | intrepid/universe | source, amd64, i386
   postgis | 1.3.3-3 | jaunty/universe | source, amd64, i386
   postgis | 1.3.5-1 | karmic/universe | source, amd64, i386
   postgis | 1.3.6-2 | lucid/universe | source, amd64, i386

:: TEST CASE ::
Check that postgresql is not installed then
$ sudo apt-get install postgis
$ sudo apt-get remove --purge postgis

Removing postgis ...
Purging configuration files for postgis ...
find: `/usr/lib/postgresql/8.3/lib': No such file or directory
dpkg: error processing postgis (--purge):
 subprocess post-removal script returned error exit status 1

:: WORKAROUND ::
$ sudo rm /var/lib/dpkg/info/postgis.postrm
$ sudo apt-get remove --purge postgis


In Ubuntu, we've applied the attached patch to achieve the following:

  * debian/postgis-generic.postrm.in : check if postgresql directory
exists before searching for postgis shared libs to purge (LP #392143)

We thought you might be interested in doing the same.

Thanks.
diff -u postgis-1.3.6/debian/control postgis-1.3.6/debian/control
--- postgis-1.3.6/debian/control
+++ postgis-1.3.6/debian/control
@@ -1,7 +1,8 @@
 Source: postgis
 Section: misc
 Priority: optional
-Maintainer: Debian GIS Project pkg-grass-de...@lists.alioth.debian.org
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Debian GIS Project 
pkg-grass-de...@lists.alioth.debian.org
 Uploaders: Stephen Frost sfr...@debian.org, Fabio Tranchitella 
kob...@debian.org, Francesco Paolo Lovergine fran...@debian.org
 Build-Depends: debhelper (= 5.0.0), autotools-dev, flex, bison, 
postgresql-server-dev-8.3, libgeos-dev, proj,
  libssl-dev, xsltproc, docbook, docbook-xsl, libpg-java, default-jdk, fastjar, 
libjts-java (=1.7), dpatch
diff -u postgis-1.3.6/debian/postgis-generic.postrm.in 
postgis-1.3.6/debian/postgis-generic.postrm.in
--- postgis-1.3.6/debian/postgis-generic.postrm.in
+++ postgis-1.3.6/debian/postgis-generic.postrm.in
@@ -4,7 +4,8 @@
 
 # Removes all postgis shared libs links
 if [ $1 = purge ]; then
- find /usr/lib/postgresql/@POSTGRES_VERSION@/lib -type f -name 
liblwgeom.so.* -delete
+[ -d /usr/lib/postgresql/@POSTGRES_VERSION@/lib ]  \
+find /usr/lib/postgresql/@POSTGRES_VERSION@/lib -type f -name 
liblwgeom.so.* -delete
 fi
 
 #DEBHELPER#
diff -u postgis-1.3.6/debian/changelog postgis-1.3.6/debian/changelog
--- postgis-1.3.6/debian/changelog
+++ postgis-1.3.6/debian/changelog
@@ -1,3 +1,10 @@
+postgis (1.3.6-2ubuntu1) lucid; urgency=low
+
+  * debian/postgis-generic.postrm.in : check if postgresql directory exists 
+before searching for postgis shared libs to purge (LP #392143)
+
+ -- Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com  Thu, 10 Dec 
2009 23:40:18 +0100
+
 postgis (1.3.6-2) unstable; urgency=high
 
   * Fixed wrong obsolete version reference in debian/rules.


Bug#560763: libsnmp-base must depend on patch

2009-12-11 Thread Jean-Baptiste Lallement
Package: libsnmp-base
Version: 5.4.2.1~dfsg-3
Severity: minor

libsnmp-base needs patch to patch the mibs.

Thanks.



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#557416: group motion isn't created if user motion already exists

2009-11-21 Thread Jean-Baptiste Lallement
Package: motion
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu karmic ubuntu-patch
Version: 3.2.11-2
Severity: normal
Tags: patch

This report has also been filed here: https://bugs.launchpad.net/bugs/394755

In debian/motion.postinst, in function add_group_if_missing 'id -g'
returns the effective group id of user motion whatever it is. The
goal of this function should be to test is the group motion exists
and create it if it is not the case.

If the group motion doesn't exists before the upgrade but the user
motion does then this function doesn't create the group and the call
to chown motion:motion fails

In Ubuntu, we've applied the attached patch to achieve the following:

  * Fixed debian/motion.postinst : Really test if group motion exits
(LP: #394755)

We thought you might be interested in doing the same.

Thanks.


motion_3.2.11-2build2.debdiff
Description: Binary data


Bug#631438: apt-file cannot search for patterns starting with '-'

2011-06-23 Thread Jean-Baptiste Lallement
Package: apt-file
Version: 2.4.2
Severity: normal
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu oneiric

This bug report was also filed in Ubuntu and can be found at
http://launchpad.net/bugs/801336
The description, from Michal Suchanek, follows:

 apt-file search -gtkmozembed
Unknown option: g
Unknown option: t
Unknown option: k
Unknown option: m
Unknown option: o
Unknown option: z
Unknown option: e
Unknown option: m
Unknown option: b
Unknown option: e
Option d requires an argument
apt-file version 2.4.2
(c) 2002 Sebastien J. Gross s...@debian.org


apt-file [options] action [pattern]
apt-file [options] -f action file
apt-file [options] -D action debfile

Configuration options:
--sources-list -s  file   sources.list location
--cache-c  dirCache directory
--architecture -a  arch   Use specific architecture
--cdrom-mount  -d  cdrom  Use specific cdrom mountpoint
--from-file-f   Read patterns from file(s), one
per line
(use '-' for stdin)
--from-deb -D   Use file list of .deb package(s) as
patterns; implies -F
--non-interactive  -N   Skip schemes requiring user input
(useful in cron jobs)
--package-only -l   Only display packages name
--fixed-string -F   Do not expand pattern
--ignore-case  -i   Ignore case distinctions
--regexp   -x   pattern is a regular expression
--verbose  -v   run in verbose mode
--dummy-y   run in dummy mode (no action)
--help -h   Show this help.
--version  -V   Show version number

Action:
update  Fetch Contents files from
apt-sources.
search|findpatternSearch files in packages
list|show  patternList files in packages
purge   Remove cache files

Interpreting options after command both disables searching for patterns
starting with - and is in conflict with the help text that mandates
putting options before command.

Proposed patch:
A possible fix would be to always protect the arguments passed to zfgrep
like this:
--- /usr/bin/apt-file 2011-06-23 23:10:22.0 +0200
+++ ./apt-file.new 2011-06-23 23:13:04.0 +0200
@@ -355,7 +355,7 @@
 else {
 my $zgrep_pattern = $Conf-{pattern};
 $zgrep_pattern =~ s{^\\/}{};
- $zcat = zfgrep $ignore_case $zgrep_pattern;
+ $zcat = zfgrep $ignore_case -- $zgrep_pattern;
 }
 }
 my $regexp = eval { $Conf-{ignore_case} ? qr/$pattern/i :
qr/$pattern/ };


ProblemType: Bug
DistroRelease: Ubuntu 11.10
Package: apt-file 2.4.2
ProcVersionSignature: Ubuntu 3.0-1.2-generic 3.0.0-rc3
Uname: Linux 3.0-1-generic x86_64
Architecture: amd64
Date: Thu Jun 23 22:37:02 2011
PackageArchitecture: all
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.UTF-8
 SHELL=/bin/bash
SourcePackage: apt-file
UpgradeStatus: No upgrade log present (probably fresh install)

-- System Information:
Debian Release: wheezy/sid
  APT prefers oneiric
  APT policy: (500, 'oneiric')
Architecture: i386 (i686)

Kernel: Linux 3.0-1-generic (SMP w/2 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#680473: dep8 test failed with message on stderr

2012-07-06 Thread Jean-Baptiste Lallement

Package: tabix
Version: 0.2.6-1


autopkgtest of tabix [1] currently fails with:

adt-run: trace:  dsc0t-with-example-data:  - - - - - - - - - - results 
- - - - - - - - - -
dsc0t-with-example-data FAIL status: 0, stderr: [tabix] The file type 
not recognise...
adt-run: trace:  dsc0t-with-example-data:  - - - - - - - - - - stderr - 
- - - - - - - - -
[tabix] The file type not recognised and -p not given, using the preset 
[gff].
adt-run: trace:  dsc0t-with-example-data: 
]




This is because the warning is written to stderr while per specification 
of DEP8 it should be written to stdout.


Excerpt from from DEP8 specification [2]

Each test program should, on success, exit with status 0 and print 
nothing to stderr; if a test exits nonzero, or prints to stderr, it is 
considered to have failed.



The dep8 test should be updated either to use the option -p of tabix to 
fix the warning/error or redirect stderr to stdout and exit with an 
appropriate exit code if the message is expected.


[1] 
https://jenkins.qa.ubuntu.com/view/Quantal/view/AutoPkg%20Test/job/quantal-adt-tabix/3/ARCH=amd64,label=albali/artifact/results/log/*view*/
[2] 
http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.package-tests;hb=HEAD:


--
Jean-Baptiste
irc: jibel



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#648161: [PATCH] Fix quoting of filenames

2012-04-15 Thread Jean-Baptiste Lallement

Tags: patch

This patch avoids quoting of filenames when copyup/copydown is called. 
It fixes run of adt-run against packages like aoeui_1.5~dfsg-1.dsc or 
postgresql-client_9.1+129_all.deb


--
Jean-Baptiste
IRC: jibel
 runner/adt-run |2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/runner/adt-run b/runner/adt-run
index 310c39a..37567c0 100755
--- a/runner/adt-run
+++ b/runner/adt-run
@@ -306,7 +306,7 @@ class AutoFile:
 		cud = ['copyup','copydown'][tbp]
 		src = p.file[not tbp] + p.dir
 		dst = p.path[tbp] + p.dir
-		testbed.command(cud, (src, dst))
+		testbed.command(cud, [None, src, dst])
 		p.file[tbp] = p.path[tbp]
 
 	return p.file[tbp] + p.dir


Bug#693540: [patch] Adds support for versioned dependencies in test control file

2013-05-21 Thread Jean-Baptiste Lallement

On 05/19/2013 11:19 PM, Colin Watson wrote:

On Wed, Apr 10, 2013 at 11:32:39AM +0200, Christoph Berg wrote:

Re: Jean-Baptiste Lallement 2013-04-09 516462a9.7040...@canonical.com

This patch adds support for versioned dependencies in the test
control file. It checks that the format of the dependency is correct
and that the version number is valid.

The dependencies are written unchanged to the .dsc that is used by
pbuilder-satisfydepends-classic to install the packages.


| is also disallowed in the list, yet pbuilder supports that.


Indeed, this breaks lintian's autopkgtest:

   
https://jenkins.qa.ubuntu.com/view/Saucy/view/AutoPkgTest/job/saucy-adt-lintian/ARCH=i386,label=adt/6/artifact/results/log

Thanks for the review. Here is a modified version of the patch that 
supports list of test dependencies with '|'.


I tested it against lintian (which passes with this patch) and binutils 
(which was expected to fail), ipython and apport



--
Jean-Baptiste
IRC: jibel
=== modified file 'debian/changelog'
--- debian/changelog	2013-01-07 09:52:04 +
+++ debian/changelog	2013-04-04 10:17:30 +
@@ -1,3 +1,10 @@
+autopkgtest (2.2.3ubuntu4) raring; urgency=low
+
+  * Implemented support for versioned dependencies in test control file.
+(LP: #1164362) Closes: #693540.
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Thu, 04 Apr 2013 12:14:34 +0200
+
 autopkgtest (2.2.3ubuntu3) raring; urgency=low
 
   * Capitalize field names read from control file. (LP: #1096788)

=== modified file 'runner/adt-run'
--- runner/adt-run	2013-01-07 09:01:37 +
+++ runner/adt-run	2013-05-21 09:58:57 +
@@ -36,7 +36,7 @@
 import fnmatch
 import shutil
 import copy
-from debian import deb822
+from debian import deb822, debian_support
 
 from optparse import OptionParser
 signal.signal(signal.SIGINT, signal.SIG_DFL) # undo stupid Python SIGINT thing
@@ -1066,11 +1066,21 @@
 	debug(Field_DependS: %s %s %s %s % (f.stz, f.base, f.tnames, f.vl), 2)
 	dl = map(lambda x: x.strip(),
 		flatten(map(lambda (lno, v): v.split(','), f.vl)))
-	re = regexp.compile('[^-.+:~0-9a-z()=*@]')
-	for d in dl:
-		if re.search(d):
-			badpkg(Test Depends field contains dependency
-			`%s' with invalid characters % d)
+	re = regexp.compile(r(?Ppackage[a-z0-9+-.]+)\s*(\((?Prelation|=|=|=|)\s*(?Pversion[^\)]*)\))?$)
+	for di in dl:
+		for d in di.split('|'):
+			d = d.strip()
+			if d == '@': continue  # Expanded to binary packages
+			m = re.match(d)
+			if not m:
+badpkg(Test Depends field contains an invalid 
+   dependency `%s' % d)
+			if m.group(version):
+try:
+	dsv = debian_support.NativeVersion(m.group(version))
+except ValueError:
+	badpkg(Test Depends field contains dependency
+	`%s' with an invalid version % d)
 	f.base['depends'] = dl
 
 class Field_Tests_directory(FieldBase):



Bug#686292: adt-run fails with permission denied with option --user

2012-08-30 Thread Jean-Baptiste Lallement

Package: autopkgtest
Version: 2.2.3
Severity: normal


With option --user, adt-run fails with permission denied when it creates 
tmpdir


The issue is that the top level temporary directory is owned by root 
with permission 0700


Below the output of adt-run for postgresql-common:

$ sudo adt-run -d --leave-lang --unbuilt-tree . --user=ubuntu  --- 
adt-virt-null


adt-run: trace1: options: Values at 0x9207ccc: {'set_lang': False, 
'timeout_install': None, 'binaries_fortests': 'auto', 'actions': 
[Action ubtree ubtree0 AF@ubtree0-ubtree~.:./!|-/], 'VSERVER_DUMMY': 
None, 'unbuilt_tree': None, 'timeout_test': None, 'tmp': None, 'binary': 
None, 'timeout_factor': 1.0, 'timeout_short': None, 'vserver': 
['adt-virt-null'], 'source': None, 'output_dir': None, 'debuglevel': 1, 
'gainroot': None, 'timeout_build': None, 'built_binaries_filter': None, 
'user': 'ubuntu', 'logfile': None, 'override_control': None, 
'gnupghome': '~/.autopkgtest/gpg', 'quiet': False, 'summary': None, 
'built_tree': None, 'binaries': 'auto', 'binaries_forbuilds': 'auto'}; 
timeouts: {'test': 1, 'short': 100, 'build': 10, 'install': 3000}

adt-run: trace: ** init
adt-run: trace: ** start
adt-run: trace: $ vserver: adt-virt-null
adt-run: trace:  starting
adt-run: trace: ** open, scratch=None
adt-run: trace: ** cmdl = ['sh', '-c', 'exec $@', 'x']
adt-run: trace: * initialising
adt-run: trace: * no key generation needed
adt-run: trace: * reset
adt-run: trace:  builds ...
adt-run: trace:  ubtree ubtree0
adt-run: trace1: ** blame += arg:.
adt-run: trace1: ** prepare1, modified=False, deps_processed=[], deps_new=[]
adt-run: trace1: ** needs_reset, previously=False
adt-run: trace: $ ubtree0-extract: sh -ec SCRIPT x 
/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir 
/tmp/tmp.8kHsrdmpjH/ubtree0-build/real-tree

adt-run: trace1: $ exec 31 2
adt-run: trace1: $ set -x
adt-run: trace1: $ spec=$2
adt-run: trace1: $ origpwd=`pwd`
adt-run: trace1: $ cd /tmp/tmp.8kHsrdmpjH/ubtree0-build
adt-run: trace1: $ chown ubuntu .
adt-run: trace1: $ TMPDIR=$1
adt-run: trace1: $ rm -rf -- $TMPDIR
adt-run: trace1: $ export TMPDIR
adt-run: trace1: $ su ubuntu -c 'mkdir -- $TMPDIR'
adt-run: trace1: $ spec=$spec origpwd=$origpwd su ubuntu -c '
adt-run: trace1: $  rm -rf $spec
adt-run: trace1: $  mkdir $spec
adt-run: trace1: $  cp -rP 
--preserve=timestamps,links -- $origpwd/. $spec/.

adt-run: trace1: $  '
adt-run: trace1: $ cd [a-z0-9]*-*/.
adt-run: trace1: $ pwd 3
adt-run: trace1: $ set +e; test -f debian/tests/control; echo $? 3
+ spec=/tmp/tmp.8kHsrdmpjH/ubtree0-build/real-tree
+ pwd
+ origpwd=/tmp/tmp.8kHsrdmpjH/ubtree0-ubtree
+ cd /tmp/tmp.8kHsrdmpjH/ubtree0-build
+ chown ubuntu .
+ TMPDIR=/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir
+ rm -rf -- /tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir
+ export TMPDIR
+ su ubuntu -c mkdir -- $TMPDIR
mkdir: cannot create directory 
`/tmp/tmp.8kHsrdmpjH/ubtree0-build/tmpdir': Permission denied

blame: arg:.
badpkg: rules extract failed with exit code 1
adt-run: erroneous package: rules extract failed with exit code 1
adt-run: trace: ** stop
adt-run: trace: ** close, 
scratch=tb-scratch~/tmp/tmp.8kHsrdmpjH:-/|/tmp/tmp.8kHsrdmpjH/!



--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#686292: patch - adt-run fails with permission denied with option --user

2012-08-30 Thread Jean-Baptiste Lallement

Here is a proposition of patch

--- runner/adt-run  2012-07-08 21:57:26.0 +
+++ /usr/bin/adt-run2012-08-30 22:13:14.260003073 +
@@ -1673,7 +1673,7 @@
]

if opts.user:
-   script += ([ 'chown '+opts.user+' .' ] +
+   script += ([ 'chown '+opts.user+' . ..', ] +
tmpdir_script +
[ 'spec=$spec origpwd=$origpwd '
+opts.user_wrap(create_command) ])


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#695797: patch

2013-01-07 Thread Jean-Baptiste Lallement

On 12/19/2012 03:01 PM, Jean-Baptiste Lallement wrote:

Tags: patch

In Ubuntu we applied the enclosed patch autopkgtest (2.2.3ubuntu2). It
uses python-debian to do control file parsing.

Updated version of the patch that fixes capitalization of control file 
fields.


--
Jean-Baptiste
IRC: jibel
diff -Nru autopkgtest-2.2.3ubuntu1/debian/changelog 
autopkgtest-2.2.3ubuntu2/debian/changelog
--- autopkgtest-2.2.3ubuntu1/debian/changelog   2012-11-28 16:23:52.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/debian/changelog   2012-12-19 11:28:24.0 
+0100
@@ -1,3 +1,9 @@
+autopkgtest (2.2.3ubuntu2) UNRELEASED; urgency=low
+
+  * Use debian.deb822 to parse control files. (LP: #1073856)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 12 
Dec 2012 22:48:51 +0100
+
 autopkgtest (2.2.3ubuntu1) raring; urgency=low
 
   * Fix adt-run's user option fails with permission denied. (LP: 1084116) 
(Closes: #686292)
diff -Nru autopkgtest-2.2.3ubuntu1/debian/control 
autopkgtest-2.2.3ubuntu2/debian/control
--- autopkgtest-2.2.3ubuntu1/debian/control 2012-11-28 16:24:07.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/debian/control 2012-12-19 11:28:24.0 
+0100
@@ -11,7 +11,7 @@
 
 Package: autopkgtest
 Architecture: all
-Depends: python (= 2.6), debhelper
+Depends: python (= 2.6), debhelper, python-debian
 Conflicts: autodebtest ( 0.5.3)
 Replaces: autodebtest ( 0.5.3)
 Recommends: apt-utils, pbuilder
diff -Nru autopkgtest-2.2.3ubuntu1/runner/adt-run 
autopkgtest-2.2.3ubuntu2/runner/adt-run
--- autopkgtest-2.2.3ubuntu1/runner/adt-run 2012-11-28 16:17:36.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/runner/adt-run 2013-01-07 11:04:51.0 
+0100
@@ -36,6 +36,7 @@
 import fnmatch
 import shutil
 import copy
+from debian import deb822
 
 from optparse import OptionParser
 signal.signal(signal.SIGINT, signal.SIG_DFL) # undo stupid Python SIGINT thing
@@ -1215,45 +1216,22 @@
return []
 
lno = 0
-   def badctrl(m): testbed.bomb('tests/control line %d: %s' % (lno, m))
stz = { }   # stz[field_name][index] = (lno, value)
# special field names:
# stz[' lno'] = number
# stz[' tests'] = list of Test objects
# empty dictionary means we're between stanzas
-   def in_stanza(stz):
-   return stz.has_key(' lno')
-   def end_stanza(stz):
-   if not in_stanza(stz): return
-   stz[' errs'] = 0
-   stanzas.append(stz.copy())
-   stz.clear()
-   hcurrent = None
-
-   initre = regexp.compile('([A-Z][-0-9a-zA-Z]*)\s*\:\s*(.*)$')
-   while 1:
-   l = control.readline()
-   if not l: break
+   for paragraph in deb822.Deb822.iter_paragraphs(control):
lno += 1
-   if not l.endswith('\n'): badctrl('unterminated line')
-   if regexp.compile('\s*\#').match(l): continue
-   if not regexp.compile('\S').match(l): end_stanza(stz); continue
-   initmat = initre.match(l)
-   if initmat:
-   (fname, l) = initmat.groups()
-   fname = string.capwords(fname)
-   if not in_stanza(stz):
-   stz = { ' lno': lno, ' tests': [] }
-   if not stz.has_key(fname): stz[fname] = [ ]
-   hcurrent = stz[fname]
-   elif regexp.compile('\s').match(l):
-   if not hcurrent: badctrl('unexpected continuation')
-   else:
-   badctrl('syntax error')
-   hcurrent.append((lno, l))
-   end_stanza(stz)
+   stz = { ' lno': lno, ' tests': [] }
+   for field, value in paragraph.iteritems():
+   v = .join(value.split('\n')).replace('  ',' ')
+   field = string.capwords(field)
+   stz[field] = [(lno, v)]
+   lno += 1 + value.count('\n')  # Count multilines fields
+   stanzas.append(stz.copy())
 
-return stanzas
+   return stanzas
 
 def read_control(act, tree, control_override):
 


Bug#704602: autopkgtest failed due to incorrect test control file

2013-04-03 Thread Jean-Baptiste Lallement

Package: ipython
Version: 0.13.2~rc2-1
Tags: patch

autopkgtest doesn't support versioned dependencies (debian bug #693540) 
This patch removes the versions from the test control file and also add 
missing dependencies on python-lxml and python3-lxml required by the 
'tools' tests


--
Jean-Baptiste
IRC: jibel
=== modified file 'debian/tests/control'
--- debian/tests/control	2013-02-02 11:14:27 +
+++ debian/tests/control	2013-04-03 12:23:51 +
@@ -3,9 +3,9 @@
 	 python-nose,
 	 cython,
  graphviz,
- libc-bin (= 2.13-1~),
- python-all (= 2.6.6-3~),
- python-all-dev (= 2.6.6-3~),
+ libc-bin,
+ python-all,
+ python-all-dev,
  python-argparse,
  python-configobj,
  python-decorator,
@@ -16,11 +16,11 @@
  python-rpy2,
  python-qt4,
  python-simplegeneric,
- python-sphinx (= 1.0.7+dfsg-1~),
+ python-sphinx,
  python-tk,
  python-tornado,
  python-wxgtk2.8,
- python-zmq (= 2.1.4),
+ python-zmq,
  xauth,
  xvfb
 
@@ -29,9 +29,9 @@
 	 python3-nose,
 	 cython3,
  graphviz,
- libc-bin (= 2.13-1~),
- python3-all (= 2.6.6-3~),
- python3-all-dev (= 2.6.6-3~),
+ libc-bin,
+ python3-all,
+ python3-all-dev,
  python3-decorator,
  python3-matplotlib,
  python3-pygments,
@@ -52,10 +52,10 @@
 Depends: ipython3, cython3, python3-dev, python-pexpect
 
 Tests: tools2
-Depends: ipython
+Depends: ipython, python-lxml
 
 Tests: tools3
-Depends: ipython3
+Depends: ipython3, python3-lxml
 
 Tests: incomplete-install
-Depends: ipython ipython3
+Depends: ipython, ipython3



Bug#693540: [patch] Adds support for versioned dependencies in test control file

2013-04-09 Thread Jean-Baptiste Lallement

Tags: patch

This patch adds support for versioned dependencies in the test control 
file. It checks that the format of the dependency is correct and that 
the version number is valid.


The dependencies are written unchanged to the .dsc that is used by 
pbuilder-satisfydepends-classic to install the packages.


--
Jean-Baptiste
IRC: jibel
=== modified file 'debian/changelog'
--- debian/changelog	2013-01-07 09:52:04 +
+++ debian/changelog	2013-04-04 10:17:30 +
@@ -1,3 +1,10 @@
+autopkgtest (2.2.3ubuntu4) raring; urgency=low
+
+  * Implemented support for versioned dependencies in test control file.
+(LP: #1164362) Closes: #693540.
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Thu, 04 Apr 2013 12:14:34 +0200
+
 autopkgtest (2.2.3ubuntu3) raring; urgency=low
 
   * Capitalize field names read from control file. (LP: #1096788)

=== modified file 'runner/adt-run'
--- runner/adt-run	2013-01-07 09:01:37 +
+++ runner/adt-run	2013-04-04 09:53:37 +
@@ -36,7 +36,7 @@
 import fnmatch
 import shutil
 import copy
-from debian import deb822
+from debian import deb822, debian_support
 
 from optparse import OptionParser
 signal.signal(signal.SIGINT, signal.SIG_DFL) # undo stupid Python SIGINT thing
@@ -1066,11 +1066,19 @@
 	debug(Field_DependS: %s %s %s %s % (f.stz, f.base, f.tnames, f.vl), 2)
 	dl = map(lambda x: x.strip(),
 		flatten(map(lambda (lno, v): v.split(','), f.vl)))
-	re = regexp.compile('[^-.+:~0-9a-z()=*@]')
+	re = regexp.compile(r(?Ppackage[a-z0-9+-.]+)\s*(\((?Prelation|=|=|=|)\s*(?Pversion[^\)]*)\))?$)
 	for d in dl:
-		if re.search(d):
-			badpkg(Test Depends field contains dependency
-			`%s' with invalid characters % d)
+		if d == '@': continue  # Expanded to binary packages
+		m = re.match(d)
+		if not m:
+			badpkg(Test Depends field contains an invalid 
+			   dependency `%s' % d)
+		if m.group(version):
+			try:
+dsv = debian_support.NativeVersion(m.group(version))
+			except ValueError:
+badpkg(Test Depends field contains dependency
+`%s' with an invalid version % d)
 	f.base['depends'] = dl
 
 class Field_Tests_directory(FieldBase):



Bug#703406: cowbuilder deletes content of bind-mounted directories

2013-03-19 Thread Jean-Baptiste Lallement

Package: cowdancer
Version: 0.71
Tags: patch

Reference issue in Ubuntu [1]

If a bind-mounted directory is still mounted during the clean-up phase 
(device busy for example) cowbuilder unconditionally deletes its content.


Excerpt from a log with this bug (complete log attached)
=
I: umounting /var/lib/jenkins/cu2d
umount: /var/cache/pbuilder/build/cow.15281/var/lib/jenkins/cu2d: device 
is busy.

(In some cases useful info about processes that use
 the device is found by lsof(8) or fuser(1))
[...]
 - Cleaning COW directory
  forking: rm -rf /var/cache/pbuilder/build//cow.1195
rm: cannot remove 
`/var/cache/pbuilder/build//cow.1195/var/cache/pbuilder/ccache': Device 
or resource busy
rm: cannot remove 
`/var/cache/pbuilder/build//cow.1195/var/lib/jenkins/cu2d/work/experimental/100scopes': 
Device or resource busy
rm: cannot remove 
`/var/cache/pbuilder/build//cow.1195/var/lib/jenkins/cu2d/launchpad.cache': 
Directory not empty

=

This bug occurs when pbuilder fails to mount a bindmounted directory, 
then fails to unmount previously successfully mounted directories. This 
condition is not so rare when executing several cowbuilder processes in 
parallel using the same bind-mounted directories.


The attached patch has been proposed to Ubuntu and skips cleanup if 
anything is mounted under the chroot.


[1] https://bugs.launchpad.net/ubuntu/+source/cowdancer/+bug/1156540

--
Jean-Baptiste
IRC: jibel
diff -Nru cowdancer-0.71/cowbuilder.c cowdancer-0.71ubuntu1/cowbuilder.c
--- cowdancer-0.71/cowbuilder.c 2011-07-29 15:01:39.0 +0200
+++ cowdancer-0.71ubuntu1/cowbuilder.c  2013-03-19 09:27:03.0 +0100
@@ -46,6 +46,7 @@
 #include sys/wait.h
 #include string.h
 #include unistd.h
+#include mntent.h
 #include parameter.h
 #include ilist.h
 
@@ -220,7 +221,61 @@
  */
 static int cpbuilder_internal_cleancow(const struct pbuilderconfig* pc)
 {
+  /*
+   * A directory bind-mounted into pc-buildplace, will be cleaned out by 
+   * rmrf() 
+   * To avoid that potential disaster we want to make sure that there is
+   * *nothing* mounted under the chroot before running the cleanup procedure
+   */
+
+  char dest[strlen(pc-buildplace)];
+  int i=0;
+  int j=0;
+  unsigned char ch;
+
   printf( - Cleaning COW directory\n);
+
+  /* Remove // from pc-buildplace */
+  while(pc-buildplace[i])
+{
+  ch = pc-buildplace[i];
+  if(i==0)
+{
+  j++;
+  dest[0] = pc-buildplace[0];
+}
+  else
+{
+  if (ch != pc-buildplace[i-1] || ch != '/')
+{
+  dest[j] = ch;
+  j++;
+}
+}
+  i++;
+}
+  dest[j] = '\0';
+
+  /* Check if buildplace is still mounted */
+  FILE *mtab = NULL;
+  struct mntent * part = NULL;
+  if ((mtab = setmntent(/etc/mtab, r)) != NULL)
+{
+  while ((part = getmntent(mtab) ) != NULL)
+{
+  if ( part-mnt_fsname != NULL ) 
+{
+  if (strstr(part-mnt_dir, dest) )
+{
+  printf(E: Something is still mounted under %s; unmount and 
remove %s manually\n, dest, dest);
+  endmntent(mtab);
+  return 1;
+}
+}
+}
+  endmntent(mtab);
+}
+
   if (0!=rmrf(pc-buildplace))
 return 1;
   return 0;
Binary files /tmp/2njoJ6paZ0/cowdancer-0.71/.cowbuilder.c.swp and 
/tmp/C4QmySsSlo/cowdancer-0.71ubuntu1/.cowbuilder.c.swp differ
diff -Nru cowdancer-0.71/debian/changelog cowdancer-0.71ubuntu1/debian/changelog
--- cowdancer-0.71/debian/changelog 2012-08-23 21:51:56.0 +0200
+++ cowdancer-0.71ubuntu1/debian/changelog  2013-03-19 09:38:12.0 
+0100
@@ -1,3 +1,11 @@
+cowdancer (0.71ubuntu1) UNRELEASED; urgency=low
+
+  * A directory bind-mounted into pc-buildplace, will be cleaned out by
+rmrf() To avoid this disaster, we skip buildplace clean-up if a directory
+is bind-mounted under the chroot (LP: #1156540)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Tue, 19 
Mar 2013 09:35:26 +0100
+
 cowdancer (0.71) unstable; urgency=low
 
   * copyright file in copyright-format-1.0 as specified in policy version 
3.9.3.1
Started by upstream project 
ha:rB+LCABb85aBtbiIQSajNKU4P08vOT+vOD8nVc+jsiC1KCczL9svvyT1dMUiOWdZ/mImBiZPBrac1Lz0kgwfBubSopwSBiGfrMSyRP2cxLx0/eCSosy8dOuKIgYpNOOcITTIMAYIYGRiYKgoADLUShh09LPyk/STS41SdA0NDIqT8wtSi3VTK4AuyMxNzStJzNE11DMoKEotSCxK1QcA2cXCB7E=cu2d-100scopes-experimental-1.0prepare
 build number 
ha:rR+LCABdjjsOwjAQBRcjaJEoEXCD2AkdokwDUkTDCUxY5YNZW2sHmetQcxPOwh0ISsdrZqrRe31g4hmWdXfxlmRpyVuDcv9wyKah69EGfMfnOl/NvABxgKlBqkJdwLhjE2BetPquldFUqVPghqpdZFj85fKBvxgMGwmA6HoRAaRq7VmV3eaSZGnqS+vQJxj7B80NKWiTZDJ1jE4zqmz7BZnNiZCz19
[EnvInject] - Loading node environment variables.
Building on master
[workspace] $ /bin/bash -e /tmp/hudson5834096135151465052.sh
2013-03-18 07:23:59,293 INFO Branching lp:~submarine/ubuntu-scopes

Bug#695797: Depends field in test control file cannot be folded

2012-12-12 Thread Jean-Baptiste Lallement

Package: autopkgtest
Version: 2.2.3
Severity: normal

A multiline Depends field results in a syntax error

adt-run: trace: ** bomb tests/control line 2: syntax error
VirtSubproc: failure: end of file - caller quit?
adt-run: testbed failing, exit status 12
adt-run: testbed failed: tests/control line 2: syntax error

The dep8 specs mentions:

  Depends: dpkg dependency field syntax


dpkg dependency fields are folded fields.

--
Jean-Baptiste
IRC: jibel


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#695797: patch

2012-12-19 Thread Jean-Baptiste Lallement

Tags: patch

In Ubuntu we applied the enclosed patch autopkgtest (2.2.3ubuntu2). It 
uses python-debian to do control file parsing.


--
Jean-Baptiste
IRC: jibel
diff -Nru autopkgtest-2.2.3ubuntu1/debian/changelog 
autopkgtest-2.2.3ubuntu2/debian/changelog
--- autopkgtest-2.2.3ubuntu1/debian/changelog   2012-11-28 16:23:52.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/debian/changelog   2012-12-19 11:28:24.0 
+0100
@@ -1,3 +1,9 @@
+autopkgtest (2.2.3ubuntu2) UNRELEASED; urgency=low
+
+  * Use debian.deb822 to parse control files. (LP: #1073856)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 12 
Dec 2012 22:48:51 +0100
+
 autopkgtest (2.2.3ubuntu1) raring; urgency=low
 
   * Fix adt-run's user option fails with permission denied. (LP: 1084116) 
(Closes: #686292)
diff -Nru autopkgtest-2.2.3ubuntu1/debian/control 
autopkgtest-2.2.3ubuntu2/debian/control
--- autopkgtest-2.2.3ubuntu1/debian/control 2012-11-28 16:24:07.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/debian/control 2012-12-19 11:28:24.0 
+0100
@@ -11,7 +11,7 @@
 
 Package: autopkgtest
 Architecture: all
-Depends: python (= 2.6), debhelper
+Depends: python (= 2.6), debhelper, python-debian
 Conflicts: autodebtest ( 0.5.3)
 Replaces: autodebtest ( 0.5.3)
 Recommends: apt-utils, pbuilder
diff -Nru autopkgtest-2.2.3ubuntu1/runner/adt-run 
autopkgtest-2.2.3ubuntu2/runner/adt-run
--- autopkgtest-2.2.3ubuntu1/runner/adt-run 2012-11-28 16:17:36.0 
+0100
+++ autopkgtest-2.2.3ubuntu2/runner/adt-run 2012-12-19 11:59:48.0 
+0100
@@ -36,6 +36,7 @@
 import fnmatch
 import shutil
 import copy
+from debian import deb822
 
 from optparse import OptionParser
 signal.signal(signal.SIGINT, signal.SIG_DFL) # undo stupid Python SIGINT thing
@@ -1215,45 +1216,21 @@
return []
 
lno = 0
-   def badctrl(m): testbed.bomb('tests/control line %d: %s' % (lno, m))
stz = { }   # stz[field_name][index] = (lno, value)
# special field names:
# stz[' lno'] = number
# stz[' tests'] = list of Test objects
# empty dictionary means we're between stanzas
-   def in_stanza(stz):
-   return stz.has_key(' lno')
-   def end_stanza(stz):
-   if not in_stanza(stz): return
-   stz[' errs'] = 0
-   stanzas.append(stz.copy())
-   stz.clear()
-   hcurrent = None
-
-   initre = regexp.compile('([A-Z][-0-9a-zA-Z]*)\s*\:\s*(.*)$')
-   while 1:
-   l = control.readline()
-   if not l: break
+   for paragraph in deb822.Deb822.iter_paragraphs(control):
lno += 1
-   if not l.endswith('\n'): badctrl('unterminated line')
-   if regexp.compile('\s*\#').match(l): continue
-   if not regexp.compile('\S').match(l): end_stanza(stz); continue
-   initmat = initre.match(l)
-   if initmat:
-   (fname, l) = initmat.groups()
-   fname = string.capwords(fname)
-   if not in_stanza(stz):
-   stz = { ' lno': lno, ' tests': [] }
-   if not stz.has_key(fname): stz[fname] = [ ]
-   hcurrent = stz[fname]
-   elif regexp.compile('\s').match(l):
-   if not hcurrent: badctrl('unexpected continuation')
-   else:
-   badctrl('syntax error')
-   hcurrent.append((lno, l))
-   end_stanza(stz)
+   stz = { ' lno': lno, ' tests': [] }
+   for field, value in paragraph.iteritems():
+   v = .join(value.split('\n')).replace('  ',' ')
+   stz[field] = [(lno, v)]
+   lno += 1 + value.count('\n')  # Count multilines fields
+   stanzas.append(stz.copy())
 
-return stanzas
+   return stanzas
 
 def read_control(act, tree, control_override):
 


Bug#726714: adt-run fails when fakeroot not installed in testbed and build is needed

2013-10-18 Thread Jean-Baptiste Lallement

Package: autopkgtest
Version: 2.3.7
Severity: normal
Tags: patch

Build phase fails if fakeroot is not installed in the testbed.

TEST CASE:
1. Create an lxc-container with the command
  $ sudo lxc-create -n saucy-amd64 -t ubuntu-cloud -- -r saucy -a amd64

2. Download a dsc for a package and run a test with:
  $ adt-run -d ../autopkgtest_2.3.7.dsc --- adt-virt-lxc --ephemeral 
saucy-amd64


ACTUAL RESULT:
If fails with
+ TMPDIR=/tmp/adt-downtmp/dsc0-build/tmpdir
+ rm -rf -- /tmp/adt-downtmp/dsc0-build/tmpdir
+ export TMPDIR
+ su ubuntu -c mkdir -m 1777 -- $TMPDIR
+ cd /tmp/adt-downtmp/dsc0-build/autopkgtest-2.3.7/.
+ su ubuntu -c fakeroot debian/rules binary
bash: fakeroot: command not found
blame: arg:../autopkgtest_2.3.7.dsc dsc:autopkgtest
badpkg: rules binary failed with exit code 127
adt-run: erroneous package: rules binary failed with exit code 127

Ubuntu Bug: 
https://bugs.launchpad.net/ubuntu/+source/autopkgtest/+bug/1241456


Proposition of patch attached.

Cheers,

Jean-Baptiste.
diff --git a/runner/adt-run b/runner/adt-run
index 758f055..0593f70 100755
--- a/runner/adt-run
+++ b/runner/adt-run
@@ -2070,7 +2070,7 @@ def build_source(act, control_override):
 if act.kind != 'dsc':
 testbed.prepare2([])
 
-testbed.satisfy_dependencies_string('build-essential',
+testbed.satisfy_dependencies_string(', '.join(build_essential),
 'install build-essential')
 testbed.satisfy_dependencies_dsc(dsc, 'build dependencies')
 


Bug#727753: Missing dep8 test dependency: libglu1-mesa-dev | libglu-dev

2013-10-26 Thread Jean-Baptiste Lallement

Package: libgtkada
Version: 2.24.1-13
Tags: patch

DEP8 test of libgtkada [1] fails on Ubuntu Trusty with:
-
/usr/bin/ld: cannot find -lGLU
collect2: ld returned 1 exit status
gnatmake: *** link failed.
-

This is due to a missing test dependency on libglu1-mesa-dev | libglu-dev

The patch attached has been proposed to Ubuntu and you might be 
interested in applying it in Debian.


[1] https://jenkins.qa.ubuntu.com/job/trusty-adt-libgtkada/

--
Jean-Baptiste
IRC: jibel
diff -Nru libgtkada-2.24.1/debian/changelog libgtkada-2.24.1/debian/changelog
--- libgtkada-2.24.1/debian/changelog   2013-08-28 14:43:49.0 +0200
+++ libgtkada-2.24.1/debian/changelog   2013-10-26 10:27:51.0 +0200
@@ -1,3 +1,9 @@
+libgtkada (2.24.1-13ubuntu1) UNRELEASED; urgency=low
+
+  * Add missing test dependency: libglu1-mesa-dev | libglu-dev. (LP: #1244896)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Sat, 26 
Oct 2013 10:15:02 +0200
+
 libgtkada (2.24.1-13) unstable; urgency=low
 
   * Revert share library_dir changes, which sometimes FTBFS: dynamic/static
diff -Nru libgtkada-2.24.1/debian/tests/control 
libgtkada-2.24.1/debian/tests/control
--- libgtkada-2.24.1/debian/tests/control   2013-08-28 03:34:25.0 
+0200
+++ libgtkada-2.24.1/debian/tests/control   2013-10-26 10:27:59.0 
+0200
@@ -1,2 +1,2 @@
 Tests: link-with-shared
-Depends: @, xvfb
+Depends: @, xvfb, libglu1-mesa-dev | libglu-dev


Bug#727753: Missing -dev test dependency: libglu1-mesa-dev | libglu-dev

2013-10-28 Thread Jean-Baptiste Lallement

Tags: patch

Here is an updated version of the patch that adds the missing dependency 
to the -dev package instead of the dep8 test.



--
Jean-Baptiste
IRC: jibel
diff -Nru libgtkada-2.24.1/debian/changelog libgtkada-2.24.1/debian/changelog
--- libgtkada-2.24.1/debian/changelog   2013-08-28 14:43:49.0 +0200
+++ libgtkada-2.24.1/debian/changelog   2013-10-28 09:12:03.0 +0100
@@ -1,3 +1,10 @@
+libgtkada (2.24.1-13ubuntu1) UNRELEASED; urgency=low
+
+  *  Add missing dependency 'libglu1-mesa-dev | libglu-dev' to
+ libgtkglada2.24.1-dev. (LP: #1244896)
+
+ -- Jean-Baptiste jean-baptiste.lallem...@canonical.com  Mon, 28 Oct 2013 
09:11:55 +0100
+
 libgtkada (2.24.1-13) unstable; urgency=low
 
   * Revert share library_dir changes, which sometimes FTBFS: dynamic/static
diff -Nru libgtkada-2.24.1/debian/control libgtkada-2.24.1/debian/control
--- libgtkada-2.24.1/debian/control 2013-08-28 04:23:56.0 +0200
+++ libgtkada-2.24.1/debian/control 2013-10-28 09:11:31.0 +0100
@@ -1,7 +1,8 @@
 Source: libgtkada
 Section: libs
 Priority: optional
-Maintainer: Ludovic Brenta lbre...@debian.org
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Ludovic Brenta lbre...@debian.org
 Uploaders: Nicolas Boulenguez nico...@debian.org
 Build-Depends: debhelper (= 9), dpkg-dev (= 1.16.2),
  gnat, gnat-4.6,
@@ -69,6 +70,7 @@
 Architecture: any
 Depends: ${misc:Depends}, ${ada:Depends},
  libgtkgl2.0-dev,
+ libglu1-mesa-dev | libglu-dev,
  libgl1-mesa-dev | libgl-dev
 Suggests: libgtkada-doc (= ${binary:Version})
 Description: Ada binding for GTK+ OpenGL extensions (development files)


Bug#728311: Enable support for autopkgtest

2013-10-30 Thread Jean-Baptiste Lallement

Package: adduser
Version: 3.113+nmu3
Tags: patch

The patch attached adds support for autopkgtest [1] and enables to run 
the testsuite automatically [2]. It has been proposed to Ubuntu [3], and 
you might be interested in doing the same in Debian.


[1] 
http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.package-tests;hb=HEAD

[2] https://jenkins.qa.ubuntu.com/view/Trusty/view/AutoPkgTest/
[3] https://bugs.launchpad.net/ubuntu/+source/adduser/+bug/1246331

--
Jean-Baptiste
IRC: jibel
=== modified file 'debian/changelog'
--- debian/changelog	2013-06-07 11:24:08 +
+++ debian/changelog	2013-10-30 13:54:35 +
@@ -1,3 +1,9 @@
+adduser (3.113+nmu3ubuntu3) trusty; urgency=low
+
+  * Enable autopkgtests (LP: #1246331)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 30 Oct 2013 14:51:16 +0100
+
 adduser (3.113+nmu3ubuntu2) saucy; urgency=low
 
   * Move ecryptfs-utils from recommends, to suggests. (LP: #1188108)

=== added directory 'debian/tests'
=== added file 'debian/tests/adduser'
--- debian/tests/adduser	1970-01-01 00:00:00 +
+++ debian/tests/adduser	2013-10-30 13:54:35 +
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -eu
+
+cd testsuite
+./runsuite.sh

=== added file 'debian/tests/control'
--- debian/tests/control	1970-01-01 00:00:00 +
+++ debian/tests/control	2013-10-30 13:54:35 +
@@ -0,0 +1,3 @@
+Tests: adduser
+Depends: 
+Restrictions: needs-root allow-stderr



Bug#728683: debtags: package contains an 'XS-Testsuite: autopkgtest' header but no debian/tests directory

2013-11-04 Thread Jean-Baptiste Lallement

Package: debtags
Version: 1.12
Severity: normal

The source record of the control file contains a header XS-Testsuite: 
autopkgtest but there is no debian/tests/ directory.


It means that the package is discovered but autopkgtest fails with a 'no 
test found' error [1]


related ubuntu bug
https://bugs.launchpad.net/ubuntu/+source/debtags/+bug/1247742

[1] https://jenkins.qa.ubuntu.com/job/trusty-adt-debtags/

Thanks,

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.0-1-generic (SMP w/6 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages debtags depends on:
ii  apt 0.9.12.1
ii  libapt-pkg4.12  0.9.12.1
ii  libc6   2.17-93
ii  libept1.4.121.0.12
ii  libgcc1 1:4.8.2-1
ii  libstdc++6  4.8.2-1
ii  libxapian22 1.2.15-2
ii  python  2.7.5-5
ii  python-debian   0.1.21+nmu2
ii  zlib1g  1:1.2.8.dfsg-1

debtags recommends no packages.

Versions of packages debtags suggests:
pn  tagcoll  none

-- no debconf information

--
Jean-Baptiste
IRC: jibel


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#705926: sbuild/autopkgtest: modified patch

2013-11-04 Thread Jean-Baptiste Lallement

Tags: patch

This updated version of the patch addresses the following points:
  - Enable component 'universe' on Ubuntu to satisfy dependencies of 
procenv (and is also test components)

  - Use option --short of lsb_release instead of awk
  - use set -e on a separate call instead of shebang line. The test 
script can be called with sh directly and -e applied even if not 
mentioned on command line.


--
Jean-Baptiste
IRC: jibel
diff -Nru sbuild-0.64.1/debian/changelog sbuild-0.64.1/debian/changelog
--- sbuild-0.64.1/debian/changelog  2013-10-13 21:47:06.0 +0200
+++ sbuild-0.64.1/debian/changelog  2013-11-04 10:29:00.0 +0100
@@ -1,3 +1,9 @@
+sbuild (0.64.1-2) UNRELEASED; urgency=low
+
+  * Added DEP-8 autopkgtest to build procenv.
+
+ -- James Hunt james.h...@ubuntu.com  Mon, 04 Nov 2013 10:28:31 +0100
+
 sbuild (0.64.1-1) unstable; urgency=low
 
   [ Roger Leigh ]
diff -Nru sbuild-0.64.1/debian/control sbuild-0.64.1/debian/control
--- sbuild-0.64.1/debian/control2013-05-19 23:31:41.0 +0200
+++ sbuild-0.64.1/debian/control2013-11-04 10:24:57.0 +0100
@@ -7,6 +7,7 @@
 Standards-Version: 3.9.4
 Vcs-Browser: http://git.debian.org/?p=buildd-tools/sbuild.git
 Vcs-Git: git://git.debian.org/git/buildd-tools/sbuild
+XS-Testsuite: autopkgtest
 
 Package: libsbuild-perl
 Architecture: all
diff -Nru sbuild-0.64.1/debian/tests/build_procenv 
sbuild-0.64.1/debian/tests/build_procenv
--- sbuild-0.64.1/debian/tests/build_procenv1970-01-01 01:00:00.0 
+0100
+++ sbuild-0.64.1/debian/tests/build_procenv2013-11-04 10:37:31.0 
+0100
@@ -0,0 +1,174 @@
+#!/bin/sh
+#-
+# DEP-8 test for sbuild.
+#
+# Creates a sbuild chroot, builds a package, installs the resulting
+# .deb, then runs the command provided by the .deb.
+#-
+set -e
+
+die()
+{
+msg=$*
+echo ERROR: $msg 2
+exit 1
+}
+
+# The package we'll ask sbuild to build (we know its buildable since
+# it's already in the archive :-)
+#
+# The advantage of choosing this particular package being that it runs
+# *itself* at the end of its build, which has the nice side-effect of
+# exposing the full sbuild environment to those perusing the autopkgtest
+# logs.
+pkg=procenv
+components=
+
+distro=$(lsb_release -is|tr '[A-Z]' '[a-z]')
+[ -z $distro ]  die cannot establish distribution
+
+host_release=$(lsb_release -cs)
+[ -z $host_release ]  die cannot establish release running on host
+
+if [ $distro = ubuntu ]
+then
+# Build chroot for latest release.
+release=$(distro-info --devel)
+components=main,universe
+
+url=http://archive.ubuntu.com/ubuntu
+elif [ $distro = debian ]
+then
+# Build chroot for latest stable release since
+# sid may not be buildable on a particular day.
+release=$(distro-info --stable)
+
+url=http://archive.debian.org/debian
+else
+die need to know where archive is for distro '$distro'
+fi
+
+arch=$(dpkg --print-architecture 2/dev/null)
+[ -z $arch ]  die cannot establish architecture
+
+[ -z $ADTTMP ]  die ADTTMP not set
+dir=$ADTTMP/schroot-$release
+
+# The expected name of the schroot that sbuild-createchroot will create
+chroot=${release}-${arch}-sbuild
+
+# schroot does not allow a chroot name to be specified at creation time.
+# As such, we must take care to avoid stomping on a developers chroots.
+# If we find any that match the chroot we're about to try and make, exit
+# with a message.
+#
+# Note that we are very cautious in the grep check below; we purposely
+# don't match on the _type_ of schroot in case new schroot types are
+# added and this test is not updated to take account of the new types.
+
+schroots=$(schroot -l 2/dev/null)
+
+if [ -n $schroots ]  echo $schroots|grep -q :${release}-${arch}
+then
+echo INFO:
+echo INFO: Existing schroots detected for current release ($release)
+echo INFO: and architecture ($arch)
+echo INFO:
+echo INFO: Not continuing.
+echo INFO:
+
+# exit successfully
+exit 0
+fi
+
+# Use '--download-only' to avoid unpack which generates a
+# signature warning to stderr, causing this test to fail.
+# Take care to download the package version for the release we will
+# create the chroot for. 
+echo INFO: Downloading source for package '$pkg' from release '$release'
+apt-get source --download-only $pkg/$release
+
+dsc=$(ls ${pkg}*.dsc)
+
+echo INFO: Creating sbuild chroot '$chroot' for release '$release' in 
directory '$dir' from url '$url'
+[ -n $components ]  components=--components=$components
+sbuild-createchroot $components $release $dir $url
+
+echo INFO: Checking chroot '$chroot' is known
+schroot --list --all-chroots|grep ^chroot:${chroot}$
+
+echo INFO: Displaying information about chroot '$chroot'
+schroot --info ${chroot}
+
+# crucial
+echo INFO: Creating sbuild key pair
+sbuild-update --keygen 21
+
+echo INFO: Building 

Bug#705917: pbuilder/autopkgtest: modified patch

2013-11-04 Thread Jean-Baptiste Lallement

Tags: patch

This updated version of the patch addresses the following points:
   - Enable component 'universe' on Ubuntu to satisfy dependencies of 
procenv (and is also test components)

   - Use option --short of lsb_release instead of awk
   - Use set -e on a separate call instead of shebang line. The test 
script can be called with sh directly and -e applied even if not 
mentioned on command line.


--
Jean-Baptiste
IRC: jibel

diff -Nru pbuilder-0.215/debian/changelog pbuilder-0.216/debian/changelog
--- pbuilder-0.215/debian/changelog 2013-03-30 03:06:05.0 +0100
+++ pbuilder-0.216/debian/changelog 2013-11-04 10:49:36.0 +0100
@@ -1,3 +1,9 @@
+pbuilder (0.216) UNRELEASED; urgency=low
+
+  * Added basic DEP-8 autopkgtest.
+
+ -- James Hunt james.h...@ubuntu.com  Mon, 04 Nov 2013 10:49:19 +0100
+
 pbuilder (0.215) unstable; urgency=low
 
   * Do not try to use /dev/shm if /run/shm is not present. (closes: #702811, 
#702102)
diff -Nru pbuilder-0.215/debian/control pbuilder-0.216/debian/control
--- pbuilder-0.215/debian/control   2012-05-31 00:20:36.0 +0200
+++ pbuilder-0.216/debian/control   2013-11-04 10:47:55.0 +0100
@@ -17,6 +17,7 @@
 Standards-Version: 3.9.1
 Vcs-Git: git://git.debian.org/git/pbuilder/pbuilder.git
 Vcs-Browser: http://git.debian.org/?p=pbuilder/pbuilder.git
+XS-Testsuite: autopkgtest
 
 Package: pbuilder
 Architecture: all
diff -Nru pbuilder-0.215/debian/tests/build_procenv 
pbuilder-0.216/debian/tests/build_procenv
--- pbuilder-0.215/debian/tests/build_procenv   1970-01-01 01:00:00.0 
+0100
+++ pbuilder-0.216/debian/tests/build_procenv   2013-11-04 10:50:59.0 
+0100
@@ -0,0 +1,118 @@
+#!/bin/sh
+set -e
+
+#-
+# DEP-8 test for sbuild.
+#
+# Creates a sbuild chroot, builds a package, installs the resulting
+# .deb, then runs the command provided by the .deb.
+#-
+
+die()
+{
+msg=$*
+echo ERROR: $msg 2
+exit 1
+}
+
+# The package we'll ask sbuild to build (we know its buildable since
+# it's already in the archive :-)
+#
+# The advantage of choosing this particular package being that it runs
+# *itself* at the end of its build, which has the nice side-effect of
+# exposing the full sbuild environment to those perusing the autopkgtest
+# logs.
+pkg=procenv
+components=
+
+dir=/var/cache/pbuilder/result
+
+# Avoid conflict with ADT
+unset TMPDIR
+
+distro=$(lsb_release --id --short|tr '[A-Z]' '[a-z]' || :)
+[ -z $distro ]  die cannot establish distribution
+
+host_release=$(lsb_release --codename --short || :)
+[ -z $host_release ]  die cannot establish release running on host
+
+if [ $distro = ubuntu ]
+then
+# Build chroot for latest release.
+release=$(distro-info --devel)
+components=main universe
+
+url=http://archive.ubuntu.com/ubuntu
+elif [ $distro = debian ]
+then
+# Build chroot for latest stable release since
+# sid may not be buildable on a particular day.
+release=$(distro-info --stable)
+components=main
+
+url=http://archive.debian.org/debian
+else
+die need to know where archive is for distro '$distro'
+fi
+
+# Have to redirect stderr to avoid ADT thinking the test has failed
+# (the return code is still being checked, so this seems reasonable).
+echo INFO: Creating pbuilder buildd chroot for release '$release'
+pbuilder --create --debug \
+--distribution $release \
+--components $components \
+--mirror $url \
+--debootstrapopts --variant=buildd 21
+
+if [ ! -d $dir ]
+then
+echo ERROR: cannot find directory $dir 2
+exit 1
+fi
+
+# Use '--download-only' to avoid unpack which generates a
+# signature warning to stderr, causing this test to fail.
+# Take care to download the package version for the release we will
+# create the chroot for. 
+echo INFO: Downloading source for package '$pkg' release '$release'
+apt-get source --download-only $pkg/$release
+
+dsc=$(ls ${pkg}*.dsc)
+
+echo INFO: Building package '$pkg' for release '$release' from '$dsc'
+pbuilder --build --debug $dsc 21
+
+arch=$(dpkg --print-architecture 2/dev/null)
+[ -z $arch ]  die cannot establish architecture
+
+pkg_and_version=$(echo $dsc|sed 's/\.dsc$//g')
+deb=${dir}/${pkg_and_version}_${arch}.deb
+
+# Do what we can to check if the .deb looks usable (since we may not
+# be able to install it to test it properly)
+echo INFO: Listing information on '$deb'
+dpkg --info $deb
+
+echo INFO: Listing contents of '$deb'
+dpkg --contents $deb
+
+extract=$ADTTMP/extract
+echo INFO: Extracting '$deb' to '$extract'
+dpkg --extract $deb $extract
+
+if [ $release = $host_release ]
+then
+echo INFO: Installing package '$pkg' from '$deb'
+dpkg -i $deb
+
+# run the command to prove the build worked but also to expose the
+# auto-package-test environment used for this test.
+cmd=$pkg
+echo INFO: Showing AutoPkgTest 

Bug#729461: python-dateutil: Enable support for autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement
Package: python-dateutil
Version: 1.5+dfsg-0.1
Severity: normal

Hi,

This package has a testsuite of +400 tests that could run automatically with 
autopkgtest [1].

[1] 
http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.package-tests;hb=HEAD

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-dateutil depends on:
ii  python  2.7.5-5
ii  tzdata  2013d-1

python-dateutil recommends no packages.

python-dateutil suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#729461: Patch that adds support for autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement

Tags: patch

The attached debdiff adds autopkgtest support for python-dateutil and 
run the testsuite against the package as-installed.


Thanks for considering the patch.

Jean-Baptiste.
diff -Nru python-dateutil-1.5+dfsg/debian/changelog 
python-dateutil-1.5+dfsg/debian/changelog
--- python-dateutil-1.5+dfsg/debian/changelog   2012-07-06 16:00:10.0 
+0200
+++ python-dateutil-1.5+dfsg/debian/changelog   2013-11-13 09:09:05.0 
+0100
@@ -1,3 +1,10 @@
+python-dateutil (1.5+dfsg-1) UNRELEASED; urgency=low
+
+  * Add autopkgtest that runs the upstream test suite against the installed
+package. (Closes: #729461)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 13 
Nov 2013 09:07:39 +0100
+
 python-dateutil (1.5+dfsg-0.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru python-dateutil-1.5+dfsg/debian/control 
python-dateutil-1.5+dfsg/debian/control
--- python-dateutil-1.5+dfsg/debian/control 2011-08-30 22:20:10.0 
+0200
+++ python-dateutil-1.5+dfsg/debian/control 2013-11-13 08:44:08.0 
+0100
@@ -7,6 +7,7 @@
 Vcs-Git: git://git.debian.org/git/calendarserver/python-dateutil.git
 Vcs-Browser: http://git.debian.org/?p=calendarserver/python-dateutil.git
 X-Python-Version: = 2.3
+XS-Testsuite: autopkgtest
 
 Package: python-dateutil
 Architecture: all
diff -Nru python-dateutil-1.5+dfsg/debian/tests/control 
python-dateutil-1.5+dfsg/debian/tests/control
--- python-dateutil-1.5+dfsg/debian/tests/control   1970-01-01 
01:00:00.0 +0100
+++ python-dateutil-1.5+dfsg/debian/tests/control   2013-11-13 
08:43:22.0 +0100
@@ -0,0 +1,2 @@
+Tests: upstream
+Depends: @
diff -Nru python-dateutil-1.5+dfsg/debian/tests/upstream 
python-dateutil-1.5+dfsg/debian/tests/upstream
--- python-dateutil-1.5+dfsg/debian/tests/upstream  1970-01-01 
01:00:00.0 +0100
+++ python-dateutil-1.5+dfsg/debian/tests/upstream  2013-11-13 
08:43:22.0 +0100
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+./test.py -v


Bug#729462: python-imaging: Add support for autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement
Package: python-imaging
Version: 1.1.7+2.0.0-1.1
Severity: normal

Dear Maintainer,

This package has a testsuite + selftests of +100 tests and would benefit of
the autopkgtest infrastructure [1].

[1] 
http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.package-tests;hb=HEAD

Jean-Baptiste

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-imaging depends on:
ii  python  2.7.5-5
ii  python-pil  1.1.7+2.0.0-1.1

python-imaging recommends no packages.

python-imaging suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#729462: patch to enable autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement

Tags: patch

The attached debdiff adds autopkgtest support for python-imaging and 
runs the testsuite against the package as-installed. It has been applied 
to Ubuntu


Thanks for considering the patch.

Jean-Baptiste.
diff -Nru python-imaging-1.1.7+2.0.0/debian/changelog 
python-imaging-1.1.7+2.0.0/debian/changelog
--- python-imaging-1.1.7+2.0.0/debian/changelog 2013-10-20 22:35:13.0 
+0200
+++ python-imaging-1.1.7+2.0.0/debian/changelog 2013-11-13 09:36:02.0 
+0100
@@ -1,3 +1,9 @@
+python-imaging (1.1.7+2.0.0-2) UNRELEASED; urgency=low
+
+  * Enable autopkgtest (Closes: #729462)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 13 
Nov 2013 09:35:34 +0100
+
 python-imaging (1.1.7+2.0.0-1.1) unstable; urgency=low
 
   * Non-maintainer upload
diff -Nru python-imaging-1.1.7+2.0.0/debian/control 
python-imaging-1.1.7+2.0.0/debian/control
--- python-imaging-1.1.7+2.0.0/debian/control   2013-10-20 22:23:06.0 
+0200
+++ python-imaging-1.1.7+2.0.0/debian/control   2013-11-13 09:35:23.0 
+0100
@@ -9,6 +9,7 @@
   libsane-dev, libfreetype6-dev, libjpeg8-dev, zlib1g-dev, liblcms1-dev,
 Build-Conflicts: python-numarray
 Standards-Version: 3.9.4
+XS-Testsuite: autopkgtest
 
 Package: python-pil
 Architecture: any
diff -Nru python-imaging-1.1.7+2.0.0/debian/tests/control 
python-imaging-1.1.7+2.0.0/debian/tests/control
--- python-imaging-1.1.7+2.0.0/debian/tests/control 1970-01-01 
01:00:00.0 +0100
+++ python-imaging-1.1.7+2.0.0/debian/tests/control 2013-11-13 
09:35:23.0 +0100
@@ -0,0 +1,5 @@
+Tests: selftest-py2 selftest-py3
+Depends: @
+
+Tests: upstream-py2 upstream-py3
+Depends: @
diff -Nru python-imaging-1.1.7+2.0.0/debian/tests/selftest-py2 
python-imaging-1.1.7+2.0.0/debian/tests/selftest-py2
--- python-imaging-1.1.7+2.0.0/debian/tests/selftest-py21970-01-01 
01:00:00.0 +0100
+++ python-imaging-1.1.7+2.0.0/debian/tests/selftest-py22013-11-13 
09:35:23.0 +0100
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -e 
+
+python selftest.py
diff -Nru python-imaging-1.1.7+2.0.0/debian/tests/selftest-py3 
python-imaging-1.1.7+2.0.0/debian/tests/selftest-py3
--- python-imaging-1.1.7+2.0.0/debian/tests/selftest-py31970-01-01 
01:00:00.0 +0100
+++ python-imaging-1.1.7+2.0.0/debian/tests/selftest-py32013-11-13 
09:35:23.0 +0100
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -e 
+
+python3 selftest.py
diff -Nru python-imaging-1.1.7+2.0.0/debian/tests/upstream-py2 
python-imaging-1.1.7+2.0.0/debian/tests/upstream-py2
--- python-imaging-1.1.7+2.0.0/debian/tests/upstream-py21970-01-01 
01:00:00.0 +0100
+++ python-imaging-1.1.7+2.0.0/debian/tests/upstream-py22013-11-13 
09:35:23.0 +0100
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -e 
+
+python Tests/run.py --installed
diff -Nru python-imaging-1.1.7+2.0.0/debian/tests/upstream-py3 
python-imaging-1.1.7+2.0.0/debian/tests/upstream-py3
--- python-imaging-1.1.7+2.0.0/debian/tests/upstream-py31970-01-01 
01:00:00.0 +0100
+++ python-imaging-1.1.7+2.0.0/debian/tests/upstream-py32013-11-13 
09:35:23.0 +0100
@@ -0,0 +1,4 @@
+#!/bin/sh
+set -e 
+
+python3 Tests/run.py --installed


Bug#729467: python-jsonschema: Add support for autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement
Package: python-jsonschema
Version: 2.0.0-1
Severity: normal

Dear Maintainer,

This package has a testsuite of +600 tests on python2 and python3 would
benefit of the autopkgtest infrastructure.[1].

[1] 
http://anonscm.debian.org/gitweb/?p=autopkgtest/autopkgtest.git;a=blob_plain;f=doc/README.package-tests;hb=HEAD

Jean-Baptiste

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-jsonschema depends on:
ii  dpkg 1.17.1
ii  python   2.7.5-5
ii  python-mock  1.0.1-2

python-jsonschema recommends no packages.

python-jsonschema suggests no packages.

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#729467: patch to enable autopkgtest

2013-11-13 Thread Jean-Baptiste Lallement

Tags: patch

The attached debdiff adds autopkgtest support for python-jsonschema and 
runs the testsuite against the package as-installed. It has been applied 
to Ubuntu


Thanks for considering the patch.

Jean-Baptiste.
diff -Nru python-jsonschema-2.0.0/debian/changelog 
python-jsonschema-2.0.0/debian/changelog
--- python-jsonschema-2.0.0/debian/changelog2013-09-09 10:09:05.0 
+0200
+++ python-jsonschema-2.0.0/debian/changelog2013-11-13 09:51:01.0 
+0100
@@ -1,3 +1,10 @@
+python-jsonschema (2.0.0-2) UNRELEASED; urgency=low
+
+  * Add autopkgtest that runs the upstream test suite against the installed
+package (Closes: #729467)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Wed, 13 
Nov 2013 09:50:25 +0100
+
 python-jsonschema (2.0.0-1) unstable; urgency=low
 
   * New upstream release.
diff -Nru python-jsonschema-2.0.0/debian/control 
python-jsonschema-2.0.0/debian/control
--- python-jsonschema-2.0.0/debian/control  2013-09-09 10:09:05.0 
+0200
+++ python-jsonschema-2.0.0/debian/control  2013-11-13 09:47:34.0 
+0100
@@ -21,6 +21,7 @@
 Vcs-Browser: 
http://anonscm.debian.org/gitweb/?p=openstack/python-jsonschema.git
 Vcs-Git: git://anonscm.debian.org/openstack/python-jsonschema.git
 Homepage: https://github.com/Julian/jsonschema
+XS-Testsuite: autopkgtest
 
 Package: python-jsonschema
 Architecture: all
diff -Nru python-jsonschema-2.0.0/debian/tests/control 
python-jsonschema-2.0.0/debian/tests/control
--- python-jsonschema-2.0.0/debian/tests/control1970-01-01 
01:00:00.0 +0100
+++ python-jsonschema-2.0.0/debian/tests/control2013-11-13 
09:46:47.0 +0100
@@ -0,0 +1,2 @@
+Tests: upstream-py2 upstream-py3
+Depends: @, python-pytest, python3-pytest
diff -Nru python-jsonschema-2.0.0/debian/tests/upstream-py2 
python-jsonschema-2.0.0/debian/tests/upstream-py2
--- python-jsonschema-2.0.0/debian/tests/upstream-py2   1970-01-01 
01:00:00.0 +0100
+++ python-jsonschema-2.0.0/debian/tests/upstream-py2   2013-11-13 
09:46:47.0 +0100
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e 
+
+py.test -v -s jsonschema
diff -Nru python-jsonschema-2.0.0/debian/tests/upstream-py3 
python-jsonschema-2.0.0/debian/tests/upstream-py3
--- python-jsonschema-2.0.0/debian/tests/upstream-py3   1970-01-01 
01:00:00.0 +0100
+++ python-jsonschema-2.0.0/debian/tests/upstream-py3   2013-11-13 
09:46:47.0 +0100
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e 
+
+py.test-3 -v -s jsonschema


Bug#729718: Enable support for autopkgtest

2013-11-16 Thread Jean-Baptiste Lallement

Package: python-simplejson
Version: 3.3.1-1
Severity: normal
Tags: patch
Usertags: origin-ubuntu trusty ubuntu-patch

Dear Maintainer,

This package has a testsuite of +100 tests, the patch attached has been 
merged in Ubuntu and adds supports for autopkgtest to run the testsuite 
against the package as-installed.


I used py.test instead of calling __init__.py as setup.py does because 
init adds the root of the source tree to the path and we want to run the 
testsuite against the package on the system.


Thanks for considering this patch.

Jean-Baptiste.

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-simplejson depends on:
ii  libc6   2.17-95
pn  python:any  none

Versions of packages python-simplejson recommends:
ii  libjs-jquery  1.7.2+dfsg-3

python-simplejson suggests no packages.

-- no debconf information
=== modified file 'debian/changelog'
--- debian/changelog2013-11-15 11:44:48 +
+++ debian/changelog2013-11-15 11:40:17 +
@@ -1,3 +1,10 @@
+simplejson (3.3.1-1ubuntu4) UNRELEASED; urgency=low
+
+  * Enable autopkgtest that runs the upstream test suite against the installed
+package.
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Fri, 15 
Nov 2013 12:38:07 +0100
+
 simplejson (3.3.1-1ubuntu3) trusty; urgency=low
 
   * debian/rules:

=== modified file 'debian/control'
--- debian/control  2013-11-14 10:57:12 +
+++ debian/control  2013-11-15 11:37:29 +
@@ -13,6 +13,7 @@
 X-Python3-Version: = 3.2
 Vcs-Svn: svn://anonscm.debian.org/python-modules/packages/simplejson/trunk/
 Vcs-Browser: 
http://anonscm.debian.org/viewvc/python-modules/packages/simplejson/trunk/
+XS-Testsuite: autopkgtest
 
 Package: python-simplejson
 Architecture: any

=== added directory 'debian/tests'
=== added file 'debian/tests/control'
--- debian/tests/control1970-01-01 00:00:00 +
+++ debian/tests/control2013-11-15 11:15:29 +
@@ -0,0 +1,5 @@
+Tests: upstream
+Depends: @, python-pytest
+
+Tests: upstream-3
+Depends: @, python3-pytest

=== added file 'debian/tests/upstream'
--- debian/tests/upstream   1970-01-01 00:00:00 +
+++ debian/tests/upstream   2013-11-15 11:24:08 +
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+py.test  -vs simplejson

=== added file 'debian/tests/upstream-3'
--- debian/tests/upstream-3 1970-01-01 00:00:00 +
+++ debian/tests/upstream-3 2013-11-15 11:29:02 +
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+py.test-3  -vs simplejson



Bug#729780: autopkgtest fails: missing comma in test control file

2013-11-17 Thread Jean-Baptiste Lallement

Package: linuxinfo
Version: 1.1.8-43
Severity: normal
Tags: patch
Usertags: origin-ubuntu trusty ubuntu-patch

Dear Maintainer,

Autopkgtest for linuxinfo [1][2] fails with:

blame: arg:linuxinfo_1.1.8-43.dsc dsc:linuxinfo
badpkg: Test Depends field contains an invalid dependency `coreutils bash'
adt-run: erroneous package: Test Depends field contains an invalid 
dependency

`coreutils bash'

This is due to a comma missing ins the test control file after the package
'coreutils'

The patch attached has been proposed to Ubuntu to address this issue. 
Thanks for

considering it.


[1] http://d-jenkins.ubuntu-ci:8080/job/trusty-adt-linuxinfo
[2] https://jenkins.qa.ubuntu.com/job/trusty-adt-linuxinfo


LP: https://bugs.launchpad.net/ubuntu/+source/linuxinfo/+bug/1251975


-- System Information:
Debian Release: wheezy/sid
  APT prefers trusty
  APT policy: (500, 'trusty')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages linuxinfo depends on:
ii  libc6  2.17-93ubuntu4

linuxinfo recommends no packages.

linuxinfo suggests no packages.

-- no debconf information
=== modified file 'debian/changelog'
--- debian/changelog	2013-11-14 21:01:09 +
+++ debian/changelog	2013-11-17 09:48:38 +
@@ -1,3 +1,9 @@
+linuxinfo (1.1.8-43ubuntu1) UNRELEASED; urgency=low
+
+  * debian/tests/control: Add missing comma in test control file (LP:#1251975)
+
+ -- Jean-Baptiste Lallement jean-baptiste.lallem...@canonical.com  Sun, 17 Nov 2013 10:46:55 +0100
+
 linuxinfo (1.1.8-43) unstable; urgency=low
 
   * Update to standards version 3.9.5 (no change required).

=== modified file 'debian/control'
--- debian/control	2013-11-14 21:01:09 +
+++ debian/control	2013-11-17 09:48:38 +
@@ -1,7 +1,8 @@
 Source: linuxinfo
 Section: utils
 Priority: optional
-Maintainer: Helge Kreutzmann deb...@helgefjell.de 
+Maintainer: Ubuntu Developers ubuntu-devel-disc...@lists.ubuntu.com
+XSBC-Original-Maintainer: Helge Kreutzmann deb...@helgefjell.de 
 Build-Depends: debhelper (= 9)
 Standards-Version: 3.9.5
 XS-Testsuite: autopkgtest

=== modified file 'debian/tests/control'
--- debian/tests/control	2013-09-28 16:20:55 +
+++ debian/tests/control	2013-11-17 09:48:38 +
@@ -1,5 +1,5 @@
 tests: linecount
 Depends: @,
- coreutils
-	 bash
+ coreutils,
+ bash
 



Bug#730100: 3depict: autopkgtest fails: missing dependencies and syntax error

2013-11-21 Thread Jean-Baptiste Lallement

Package: 3depict
Version: 0.0.14-1
Severity: normal

Dear Maintainer,

autopkgtest for 3depict [1][2] fails with:

adt-run:  dsc0t-unittests: [
/tmp/adt-run.WkWH8c/dsc0-build/3depict-0.0.14/debian/tests/unittests: 
line 6:

quilt: command not found
/tmp/adt-run.WkWH8c/dsc0-build/3depict-0.0.14/debian/tests/unittests: 
line 7:

quilt: command not found
/tmp/adt-run.WkWH8c/dsc0-build/3depict-0.0.14/debian/tests/unittests: 
line 23:

git: command not found
/tmp/adt-run.WkWH8c/dsc0-build/3depict-0.0.14/debian/tests/unittests: 
line 25:

=: command not found
/tmp/3depict-debug /tmp/adt-run.WkWH8c/dsc0-build/3depict-0.0.14
make: *** No rule to make target `clean'. Stop.


debian/tests/unittest builds the package build dependencies must be 
installed.
Alternatively all the configure/make bits of tests/unittest could be 
replaced

by the restriction build-needed in autopkgtest's control file.

There is a syntax error line 26
 26 $ TOP_LEVEL=

 should be TOP_LEVEL=

Line 42 if configure never ran then there is no makefile and make clean 
fails


And finally it seems the 3Depict -t needs a display to run, in an 
autopkgtest

VM it fails with
 + ./src/3Depict -t
 Error: Unable to initialize gtk, is DISPLAY set properly?



[1]
http://d-jenkins.ubuntu-ci:8080/job/trusty-adt-3depict/ARCH=amd64,label=adt/1/console
[2]
https://jenkins.qa.ubuntu.com/job/trusty-adt-3depict/ARCH=amd64,label=adt/1/console

Thanks,

-- System Information:
Debian Release: wheezy/sid
  APT prefers trusty
  APT policy: (500, 'trusty')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 3.12.0-2-generic (SMP w/6 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

--
Jean-Baptiste
IRC: jibel


--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



Bug#750544: broken shstring support

2014-06-04 Thread Jean-Baptiste Lallement

Package: autopkgtest
Version: 2.17
Severity: normal

I'm implementing an ssh driver for autopkgtest and current support of 
shstring has several major issues:

- adt-run always calls auxverb command
- shell strings are not quoted properly

This patch is an attempt to fix them.

Thanks for considering it.

--
Jean-Baptiste Lallement
Canonical Services Ltd.
IRC: jibel
From 89c328064fe30e7644402f9dc2d6b975d35050cb Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com
Date: Wed, 4 Jun 2014 12:07:12 +0200
Subject: [PATCH] Fixed shstring handling

* Merged print-auxverb-command and print-shstring-command into
  print-execute-command which return the right command string depending on
  downkind
* Drop perl script when command is an shstring. In this case auxverb and
* shstring are the same
* Added cmd_quote_shstring that returns a shell escaped version of a string if
  downkind is shstring
* Quote the script to run test with quote-shstring
---
 lib/VirtSubproc.py | 43 +++
 runner/adt-run | 10 ++
 2 files changed, 25 insertions(+), 28 deletions(-)

diff --git a/lib/VirtSubproc.py b/lib/VirtSubproc.py
index b099879..7f2a858 100644
--- a/lib/VirtSubproc.py
+++ b/lib/VirtSubproc.py
@@ -34,6 +34,7 @@ import time
 import re
 import pipes
 import socket
+import shlex
 import shutil
 
 debuglevel = None
@@ -123,12 +124,12 @@ def cmd_close(c, ce):
 cleanup()
 
 
-def cmd_print_auxverb_command(c, ce):
-return print_command('auxverb', c, ce)
-
-
-def cmd_print_shstring_command(c, ce):
-return print_command('shstring', c, ce)
+def cmd_print_execute_command(c, ce):
+global downkind
+if downkind == 'shstring':
+return print_command('shstring', c, ce)
+else:
+return print_command('auxverb', c, ce)
 
 
 def print_command(which, c, ce):
@@ -167,7 +168,7 @@ def execute_raw(what, instr, timeout, *popenargs, **popenargsk):
 
 
 def execute(cmd_string, cmd_list=[], downp=False, outp=False, timeout=0):
-cmdl = cmd_string.split()
+cmdl = shlex.split(cmd_string)
 
 if downp:
 perhaps_down = downs['auxverb']
@@ -267,16 +268,6 @@ def downtmp_remove():
 global downtmp
 execute('rm -rf --', [downtmp], downp=True)
 
-perl_quote_re = re.compile('[^-+=_.,;:() 0-9a-zA-Z]')
-
-
-def perl_quote_1chargroup(m):
-return '\\x%02x' % ord(m.group(0))
-
-
-def perl_quote(s):
-return '' + perl_quote_re.sub(perl_quote_1chargroup, s) + ''
-
 
 def opened1():
 global down, downkind, downs
@@ -286,13 +277,7 @@ def opened1():
  'shstring': down + ['sh', '-c']}
 elif downkind == 'shstring':
 downs = {'shstring': down,
- 'auxverb': ['perl', '-e', '''
-@cmd=(''' + (','.join(map(perl_quote, down))) + ''');
-s/'/'''/g foreach @ARGV;
-push @cmd, '$_' foreach @ARGV;
-my $argv0=$cmd[0];
-exec $argv0 @cmd;
-die $argv0: $!''']}
+ 'auxverb': down }
 debug(downs = %s % str(downs))
 
 
@@ -649,6 +634,16 @@ def cmd_shell(c, ce):
 raise FailedCmd(['not supported by virt server'])
 
 
+def cmd_quote_shstring(c, ce):
+ Return a shell escaped version of c if downkind is shstring
+
+global downkind
+if downkind == 'shstring':
+return [urllib.quote(pipes.quote(c[1]))]
+else:
+return [ce[1]]
+
+
 def command():
 sys.stdout.flush()
 while True:
diff --git a/runner/adt-run b/runner/adt-run
index d6f24c8..c3c71e9 100755
--- a/runner/adt-run
+++ b/runner/adt-run
@@ -903,7 +903,7 @@ class Testbed:
 
 Return exit code.
 '''
-auxverb = map(urllib.unquote, self.commandr('print-auxverb-command')[0].split(','))
+cmde = map(urllib.unquote, self.commandr('print-execute-command')[0].split(','))
 timeout = timeouts[kind]
 
 env = list(xenv)  # copy
@@ -917,7 +917,7 @@ class Testbed:
 
 VirtSubproc.timeout_start(timeout)
 try:
-proc = subprocess.Popen(auxverb + cmdl)
+proc = subprocess.Popen(cmde + cmdl)
 proc.communicate()
 VirtSubproc.timeout_stop()
 except VirtSubproc.Timeout:
@@ -1352,6 +1352,7 @@ class Test:
 testbed.prepare(dn, 'needs-recommends' in self.restriction_names)
 
 def run(self, tree):
+global testbed
 # record installed package versions
 if opts.output_dir:
 pkglist = TempTestbedPath(testbed, self.what + '-packages.all', autoclean=False)
@@ -1400,12 +1401,13 @@ class Test:
  %(t)s 2 (tee %(e)s 2)  (tee %(o)s)
   ''' % {'t': tb_test_path, 'o': so.tb, 'e': se.tb}
 
+quoted = testbed.commandr('quote-shstring', [script])[0]
 if 'needs-root' not in self.restriction_names and opts.user is not None:
 if 'root-on-testbed' not in testbed.caps:
 bomb('cannot change

Bug#766668: Add support for dkms packages

2014-10-24 Thread Jean-Baptiste Lallement

Package: autodep8
Version: 0.1
Severity: normal


Hi,

The attached patch adds support for dkms packages. The test command 
dkms-autopkgtest will be in the dkms package.


Thanks for considering it.

JB.

--
Jean-Baptiste Lallement
From 631e71a6cf14c8a3e8e0435bbae5bf8934428733 Mon Sep 17 00:00:00 2001
From: Jean-Baptiste Lallement jeanbaptiste.lallem...@gmail.com
Date: Fri, 24 Oct 2014 12:30:14 -0400
Subject: [PATCH] support/dkms: add support for dkms packages

---
 debian/changelog  |  4 
 support/dkms/detect   |  7 +++
 support/dkms/generate |  7 +++
 test.sh   | 37 +
 4 files changed, 55 insertions(+)
 create mode 100755 support/dkms/detect
 create mode 100755 support/dkms/generate

diff --git a/debian/changelog b/debian/changelog
index 94c5148..900ab17 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,7 +1,11 @@
 autodep8 (0.2) UNRELEASED; urgency=medium
 
+  [ Antonio Terceiro ]
   * debian/control: add Vcs-* fields
 
+  [ Jean-Baptiste Lallement ]
+  * support/dkms: add support for dkms packages
+
  -- Antonio Terceiro terce...@debian.org  Tue, 14 Oct 2014 15:25:18 -0300
 
 autodep8 (0.1) unstable; urgency=medium
diff --git a/support/dkms/detect b/support/dkms/detect
new file mode 100755
index 000..955a5c0
--- /dev/null
+++ b/support/dkms/detect
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -eu
+
+grep-dctrl --quiet \
+-FBuild-Depends,Build-Depends-Indep,Depends -e '(^| )dkms' \
+-o -FPackage -e '\-dkms' debian/control
diff --git a/support/dkms/generate b/support/dkms/generate
new file mode 100755
index 000..2c344e2
--- /dev/null
+++ b/support/dkms/generate
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+cat EOF
+Test-Command: /usr/lib/dkms/dkms-autopkgtest
+Restrictions: needs-root, isolation-machine, breaks-testbed, allow-stderr
+Depends: dkms
+EOF
diff --git a/test.sh b/test.sh
index ceb9461..47a4ebd 100755
--- a/test.sh
+++ b/test.sh
@@ -35,6 +35,16 @@ test_XS_Testsuite_autopkgtest_pkg_nodejs() {
   check_run autodep8
 }
 
+test_Testsuite_autopkgtest_pkg_dkms() {
+  has debian/control 'Testsuite: autopkgtest-pkg-dkms'
+  check_run autodep8
+}
+
+test_XS_Testsuite_autopkgtest_pkg_dkms() {
+  has debian/control 'XS-Testsuite: autopkgtest-pkg-dkms'
+  check_run autodep8
+}
+
 test_ruby_rake() {
   has debian/ruby-tests.rake
   check_run autodep8
@@ -100,6 +110,33 @@ test_nodejs_upstream_name() {
   assertFalse 'does not include node- prefix' 'grep --quiet node-foo stdout'
 }
 
+test_detect_dkms_depends() {
+  has 'debian/control' 'Depends: dkms'
+  check_run autodep8
+}
+
+test_detect_dkms_builddepends() {
+  has 'debian/control' 'Build-Depends: dkms'
+  check_run autodep8
+}
+
+test_detect_dkms_builddepends_indep() {
+  has 'debian/control' 'Build-Depends-Indep: dkms'
+  check_run autodep8
+}
+
+test_detect_dkms_packagename() {
+  has 'debian/control' 'Package: foo-dkms'
+  check_run autodep8
+}
+
+test_dkms_depends_dkms() {
+  has 'debian/control' Depends: dkms
+  check_run autodep8
+  assertFalse test does must depend on dkms\n$(grep Depends: stdout)\n grep -q Depends:.*depends stdout
+}
+
+
 ##
 
 if [ -z $ADTTMP ]; then
-- 
2.1.0



Bug#902449: cryptsetup-initramfs: auto-detection of zfs pool(s)

2020-06-11 Thread Jean-Baptiste Lallement

Hi,

Here is a patch that ignores zfs filesystems as you recommended by 
returning an empty devno for such devices and then skipping the warning 
and error messages when there is no major/minor number.


--
Jean-Baptiste Lallement
irc: jibel
diff -Nru cryptsetup-2.3.3/debian/changelog cryptsetup-2.3.3/debian/changelog
--- cryptsetup-2.3.3/debian/changelog   2020-06-03 23:41:44.0 +
+++ cryptsetup-2.3.3/debian/changelog   2020-06-11 06:49:28.0 +
@@ -1,3 +1,13 @@
+cryptsetup (2:2.3.3-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * d/functions: Return an empty devno for ZFS devices as they don't have
+major:minor device numbers
+  * d/initramfs/hooks/cryptroot: Ignore and don't print an error message when
+devices don't have a devno
+
+ -- Jean-Baptiste Lallement   Thu, 11 Jun 
2020 06:49:28 +
+
 cryptsetup (2:2.3.3-1) unstable; urgency=medium
 
   [ Guilhem Moulin ]
diff -Nru cryptsetup-2.3.3/debian/functions cryptsetup-2.3.3/debian/functions
--- cryptsetup-2.3.3/debian/functions   2020-06-03 23:41:44.0 +
+++ cryptsetup-2.3.3/debian/functions   2020-06-11 06:49:28.0 +
@@ -583,6 +583,7 @@
 #   Print the major:minor device ID(s) holding the file system currently
 #   mounted currenty mounted on $mountpoint.
 #   Return 0 on success, 1 on error (if $mountpoint is not a mountpoint).
+#   devno will be empty if the filesystem must be excluded.
 get_mnt_devno() {
 local wantmount="$1" devnos="" uuid dev IFS
 local spec mountpoint fstype _ DEV MAJ MIN
@@ -596,8 +597,15 @@
 # take the last mountpoint if used several times (shadowed)
 unset -v devnos
 spec="$(printf '%b' "$spec")"
-_resolve_device "$spec" || continue # _resolve_device() already 
warns on error
 fstype="$(printf '%b' "$fstype")"
+if [ "$fstype" = "zfs" ]; then
+# Ignore ZFS entries as they don't have a major/minor and won't
+# be imported when local-top cryptroot script will ran.
+# Returns success with empty devno
+printf ''
+return 0
+fi
+_resolve_device "$spec" || continue # _resolve_device() already 
warns on error
 if [ "$fstype" = "btrfs" ]; then
 # btrfs can span over multiple devices
 if uuid="$(_device_uuid "$DEV")"; then
diff -Nru cryptsetup-2.3.3/debian/initramfs/hooks/cryptroot 
cryptsetup-2.3.3/debian/initramfs/hooks/cryptroot
--- cryptsetup-2.3.3/debian/initramfs/hooks/cryptroot   2020-06-03 
23:41:44.0 +
+++ cryptsetup-2.3.3/debian/initramfs/hooks/cryptroot   2020-06-11 
06:49:28.0 +
@@ -179,16 +179,18 @@
 
 {
 if devnos="$(get_mnt_devno /)"; then
-usage=rootfs foreach_cryptdev crypttab_find_and_print_entry $devnos
+if [ -n "$devnos" ]; then
+usage=rootfs foreach_cryptdev crypttab_find_and_print_entry 
$devnos
+fi
 else
 cryptsetup_message "WARNING: Couldn't determine root device"
 fi
 
-if devnos="$(get_resume_devno)"; then
+if devnos="$(get_resume_devno)" && [ -n "$devnos" ]; then
 usage=resume foreach_cryptdev crypttab_find_and_print_entry $devnos
 fi
 
-if devnos="$(get_mnt_devno /usr)"; then
+if devnos="$(get_mnt_devno /usr)" && [ -n "$devnos" ]; then
 usage="" foreach_cryptdev crypttab_find_and_print_entry $devnos
 fi