Subject: piuparts: does not work anymore on my box

From: Picca Frédéric-Emmanuel <[email-masked]>
Date: Sun, 26 Feb 2012 10:04:07 +0100

Package: piuparts
Version: 0.43
Severity: important

Dear Maintainer,

I tryed to used piuparts on my box while preparing one of my package and I got
this error message.

root@mordor:/home/picca/Debian/main/guidata# piuparts
guidata_1.4.1-2_i386.changes
Guessed: debian
0m0.0s INFO:
------------------------------------------------------------------------------
0m0.0s INFO: To quickly glance what went wrong, scroll down to the bottom of
this logfile.
0m0.0s INFO: FAQ available at http://wiki.debian.org/piuparts/FAQ
0m0.0s INFO:
------------------------------------------------------------------------------
0m0.0s INFO: piuparts version 0.43 starting up.
0m0.0s INFO: Command line arguments: /usr/sbin/piuparts
guidata_1.4.1-2_i386.changes
0m0.0s INFO: Running on: Linux mordor 3.2.0-1-486 #1 Fri Feb 17 05:23:41 UTC
2012 i686
0m0.0s DEBUG: Starting command: ['dpkg', '--info', 'python-
guidata_1.4.1-2_all.deb']
0m0.1s DUMP:
   new debian package, version 2.0.
   size 419322 bytes: control archive= 5083 bytes.
       707 bytes,    15 lines      control
     12902 bytes,   154 lines      md5sums
       164 bytes,     9 lines   *  postinst             #!/bin/sh
       265 bytes,    14 lines   *  prerm                #!/bin/sh
   Package: python-guidata
   Source: guidata
   Version: 1.4.1-2
   Architecture: all
   Maintainer: Debian Science Maintainers <debian-science-
[email-masked]>
   Installed-Size: 1422
   Depends: python2.7 | python2.6, python (>= 2.6.6-7~), python (<< 2.8),
libjs-sphinxdoc (>= 1.0), python-h5py, python-spyderlib
   Provides: python2.6-guidata, python2.7-guidata
   Section: python
   Priority: extra
   Homepage: http://code.google.com/p/guidata/
   Description: dataset manipulation GUI generator
    Based on the Qt Python binding module PyQt4, guidata is a Python library
    generating graphical user interfaces for easy dataset editing and display.
    It also provides helpers and application development tools for PyQt4.
0m0.1s DEBUG: Command ok: ['dpkg', '--info', 'python-guidata_1.4.1-2_all.deb']
0m0.1s DEBUG: Created temporary directory /tmp/tmpQ8pimo
0m0.1s DEBUG: Setting up minimal chroot for sid at /tmp/tmpQ8pimo.
0m0.1s DEBUG: Starting command: ['eatmydata', 'debootstrap', '--
variant=minbase', '--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', '
--include=eatmydata', '--components=main,non-free,contrib', 'sid',
'/tmp/tmpQ8pimo', 'http://ftp.fr.debian.org/debian/']
0m0.4s DUMP:
  /usr/sbin/debootstrap: 1264: /usr/sbin/debootstrap: cannot create
/tmp/tmpQ8pimo/test-dev-null: Permission denied
  E: Cannot install into target '/tmp/tmpQ8pimo' mounted with noexec or nodev
0m0.4s ERROR: Command failed (status=1): ['eatmydata', 'debootstrap', '--
variant=minbase', '--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', '
--include=eatmydata', '--components=main,non-free,contrib', 'sid',
'/tmp/tmpQ8pimo', 'http://ftp.fr.debian.org/debian/']
  /usr/sbin/debootstrap: 1264: /usr/sbin/debootstrap: cannot create
/tmp/tmpQ8pimo/test-dev-null: Permission denied
  E: Cannot install into target '/tmp/tmpQ8pimo' mounted with noexec or nodev

0m0.4s DEBUG: Starting command: ['chroot', '/tmp/tmpQ8pimo', 'umount', '/proc']
0m0.4s DUMP:
  chroot: failed to run command `umount': No such file or directory
0m0.4s DEBUG: Command failed (status=127), but ignoring error: ['chroot',
'/tmp/tmpQ8pimo', 'umount', '/proc']
0m0.4s DEBUG: Removed directory tree at /tmp/tmpQ8pimo

here the result of mount

picca@mordor:~$ mount
udev on /dev type devtmpfs (rw,relatime,size=381644k,nr_inodes=95411,mode=755)
devpts on /dev/pts type devpts
(rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=77396k,mode=755)
/dev/disk/by-uuid/a0168b9f-31b4-4378-bbc9-438998b0d9b0 on / type ext3
(rw,relatime,errors=remount-ro,barrier=1,data=ordered)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=154792k)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /run/shm type tmpfs (rw,nosuid,nodev,relatime,size=154792k)
rpc_pipefs on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)

yes /tmp as the nodev flag.

Have a nice day.

Frederic

-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 3.2.0-1-486
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages piuparts depends on:
ii  apt               0.8.15.9
ii  debootstrap       1.0.38
ii  lsb-release       3.2-28.1
ii  lsof              4.81.dfsg.1-1
ii  python            2.7.2-10
ii  python-apt        0.8.3+nmu1
ii  python-debian     0.1.21
ii  python-debianbts  1.10
ii  python2.6         2.6.7-4
ii  python2.7         2.7.2-13

piuparts recommends no packages.

Versions of packages piuparts suggests:
pn  ghostscript  9.05~dfsg-2
pn  python-rpy   <none>

-- no debconf information

---

From: Holger Levsen <[email-masked]>
Date: Sun, 26 Feb 2012 12:47:56 +0100

Hi,

On Sonntag, 26. Februar 2012, Picca Frédéric-Emmanuel wrote:
> I tryed to used piuparts on my box while preparing one of my package and I
> got this error message.
> 
[...]
>   E: Cannot install into target '/tmp/tmpQ8pimo' mounted with noexec or
[...]
> here the result of mount
[...] 
> yes /tmp has the nodev flag.

from man piuparts:

       -t directory, --tmpdir=directory
           Use directory as the place where temporary files and directories 
are created. The default is the environment variable TMPDIR, or /tmp if not 
set.

Closing this as not a bug, everything works as expected.

cheers,
	Holger

---

From: PICCA Frédéric-Emmanuel <[email-masked]>
Date: Sun, 26 Feb 2012 12:14:12 +0000

Hello, thanks for the manual.

I already tryed with -t and got the same error

root@mordor:/home/picca/Debian/main/guiqwt# piuparts -t /tmp guiqwt_2.1.6-3_i386.changes
Guessed: debian
0m0.0s INFO: ------------------------------------------------------------------------------
0m0.0s INFO: To quickly glance what went wrong, scroll down to the bottom of this logfile.
0m0.0s INFO: FAQ available at http://wiki.debian.org/piuparts/FAQ
0m0.0s INFO: ------------------------------------------------------------------------------
0m0.0s INFO: piuparts version 0.43 starting up.
0m0.0s INFO: Command line arguments: /usr/sbin/piuparts -t /tmp guiqwt_2.1.6-3_i386.changes
0m0.0s INFO: Running on: Linux mordor 3.2.0-1-486 #1 Fri Feb 17 05:23:41 UTC 2012 i686
0m0.1s DEBUG: Starting command: ['dpkg', '--info', 'python-guiqwt_2.1.6-3_i386.deb']
0m0.3s DUMP: 
   new debian package, version 2.0.
   size 3294344 bytes: control archive= 8592 bytes.
      1080 bytes,    19 lines      control              
     22290 bytes,   267 lines      md5sums              
       163 bytes,     9 lines   *  postinst             #!/bin/sh
       263 bytes,    14 lines   *  prerm                #!/bin/sh
   Package: python-guiqwt
   Source: guiqwt
   Version: 2.1.6-3
   Architecture: i386
   Maintainer: Debian Science Maintainers <[email-masked]>
   Installed-Size: 9125
   Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libgfortran3 (>= 4.3), libquadmath0 (>= 4.6), libstdc++6 (>= 4.1.1), python-numpy (>= 1:1.4.1), python-numpy-abi9, python2.7 | python2.6, python (>= 2.6.6-7~), python (<< 2.8), libjs-sphinxdoc (>= 1.0), python-guidata, python-h5py, python-imaging, python-qwt5-qt4 (>= 5.2), python-scipy (>= 0.7)
   Recommends: python-dicom
   Suggests: spyder (>= 2.0.10)
   Provides: python2.6-guiqwt, python2.7-guiqwt
   Section: python
   Priority: extra
   Homepage: http://code.google.com/p/guiqwt/
   Description: efficient 2D data-plotting library
    The guiqwt Python library provides efficient 2D data-plotting features
    (curve/image visualization and related tools) for signal/image processing
    application development and interactive computing. It's based on the
    scientific modules NumPy and SciPy, and the PyQwt plotting widgets for
    PyQt4 graphical user interfaces.
0m0.3s DEBUG: Command ok: ['dpkg', '--info', 'python-guiqwt_2.1.6-3_i386.deb']
0m0.3s DEBUG: Created temporary directory /tmp/tmplhYLep
0m0.3s DEBUG: Setting up minimal chroot for sid at /tmp/tmplhYLep.
0m0.3s DEBUG: Starting command: ['eatmydata', 'debootstrap', '--variant=minbase', '--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', '--include=eatmydata', '--components=main,non-free,contrib', 'sid', '/tmp/tmplhYLep', 'http://ftp.fr.debian.org/debian/']
0m0.9s DUMP: 
  /usr/sbin/debootstrap: 1264: /usr/sbin/debootstrap: cannot create /tmp/tmplhYLep/test-dev-null: Permission denied
  E: Cannot install into target '/tmp/tmplhYLep' mounted with noexec or nodev
0m0.9s ERROR: Command failed (status=1): ['eatmydata', 'debootstrap', '--variant=minbase', '--keyring=/usr/share/keyrings/debian-archive-keyring.gpg', '--include=eatmydata', '--components=main,non-free,contrib', 'sid', '/tmp/tmplhYLep', 'http://ftp.fr.debian.org/debian/']
  /usr/sbin/debootstrap: 1264: /usr/sbin/debootstrap: cannot create /tmp/tmplhYLep/test-dev-null: Permission denied
  E: Cannot install into target '/tmp/tmplhYLep' mounted with noexec or nodev

so the problem seems to be the /tmp mount options

where thoses flags are set ?

thanks

Frederic
--
661312: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=661312
Debian Bug Tracking System
Contact [email-masked] with problems

---

From: Holger Levsen <[email-masked]>
Date: Sun, 26 Feb 2012 14:05:26 +0100

On Sonntag, 26. Februar 2012, PICCA Frédéric-Emmanuel wrote:
> root@mordor:/home/picca/Debian/main/guiqwt# piuparts -t /tmp

doh. if *you* set /tmp to nodev, *you* need to set -t to something else!

> where thoses flags are set ?

/etc/fstab

---

From: PICCA Frédéric-Emmanuel <[email-masked]>
Date: Sun, 26 Feb 2012 13:38:29 +0000

ok, so here is my fstab

# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    defaults        0       0
# / was on /dev/sda1 during installation
UUID=a0168b9f-31b4-4378-bbc9-438998b0d9b0 /               ext3    errors=remount-ro 0       1
# swap was on /dev/sda5 during installation
UUID=1620924a-1d73-47b0-91d3-f7c74083f526 none            swap    sw              0       0
/dev/scd0       /media/cdrom0   udf,iso9660 user,noauto     0       0

as you can see there is nothing about /tmp in the fstab.
so *I* did nothing to my computer (except upgrade)
Maybe the bug is not a piuparts bug, but piuparts use to work and not it does not.
So there is a bug somewhere.

man 5 rcS

       RAMTMP Make /tmp/ available as a ram file system (tmpfs).  Set to 'yes' to enable, to 'no' to disable.  It defaults to yes for new installations (wheezy  and
              later);  no  for  upgrades  from  earlier  releases,  which  do not contain RAMTMP in /etc/default/rcS.  The size of the tmpfs can be controlled using
              TMPFS_SIZE and TMP_SIZE in /etc/default/tmpfs.  However, /etc/default/tmpfs is deprecated and to override the defaults an entry should be  created  in
              /etc/fstab, for example:

              tmpfs     /tmp tmpfs     nodev,nosuid,size=20%,mode=1777    0    0

              Packages can not expect directories in /tmp to exist after boot.

so for wheezy RAMTMP=yes, on my system I checked and RAMTMP=yes.

so it seems that the default configuration of weezy will cause troubles to piuparts.

Can you reopen the bug until a real fix exist, or a decision about the right configuration of thoses /tmp is over. [1]

thanks

Frederic

[1] http://wiki.debian.org/ReleaseGoals/RunDirectory

---

From: Andreas Beckmann <[email-masked]>
Date: Sun, 26 Feb 2012 18:39:45 +0100

Eventually we should the no-nodev,no-nosuid requirement in the -t
description.
And in the documentation we could mention that the tmpfs mounted on /tmp
in wheezy by default does not match the requirements of piuparts (and
also may be too small), so the use of -t or TMPDIR may be required to
use a different and suitable scratch location.

Wishlist: have piuparts test the tempdir for nodev/nosuid and error out
early.

Andreas

---

From: Holger Levsen <[email-masked]>
Date: Sun, 4 Mar 2012 14:23:47 +0100

reopen 661312 document+test tempdir for nodev/nosuid and error out early
severity 661312 wishlist
retitle 661312

Hi,

(slowly catching up on piuparts stuff..)

> use a different and suitable scratch location.

right
 
> Wishlist: have piuparts test the tempdir for nodev/nosuid and error out

absolutly.

cheers,
	Holger