Bug#818065: console-setup is not read correctly at boottime and must be started manually

2017-10-19 Thread Sergey Shpikin
This happened to me as well, check if a slight change to the systemd 
unit file helps:

/lib/systemd/system/console-setup.service
RequiresMountsFor=/usr /tmp

i.e. add /tmp
My /tmp is mounted as tmpfs so that could pose a problem. After changing 
this line console-setup seems to start normally during the boot up.


On Sat, 26 Nov 2016 18:55:59 +0100 Nicolas LE CAM wrote:
> Package: console-setup
> Version: 1.153
> Followup-For: Bug #818065
>
> Dear Maintainer,
>
> *** Reporter, please consider answering these questions, where 
appropriate ***

>
> * What led up to the situation?
> * What exactly did you do (or not do) that was effective (or
> ineffective)?
> * What was the outcome of this action?
> * What outcome did you expect instead?
>
> *** End of the template - remove these template lines ***
>
> MIME-Version: 1.0
> Content-Transfer-Encoding: 8bit
> Content-Type: text/plain; charset="UTF-8"
> From: Nicolas LE CAM
> To: Debian Bug Tracking System <818...@bugs.debian.org>
> Subject: Re: console-setup is not read correctly at boottime and must 
be started

> manually
> Bcc: Nicolas LE CAM
>
> Package: console-setup
> Version: 1.153
> Followup-For: Bug #818065
>
> Dear Maintainer,
>
> Same problem here, I'm not sure if it's exactly the same cause though.
>
> In my case it seems to be a problem with /tmp availability or 
writability so also related to bug #620491 except this one was happening 
with sysvinit and is marked fixed.

>
> $ systemctl status console-setup.service
> ● console-setup.service - Set console font and keymap
> Loaded: loaded (/lib/systemd/system/console-setup.service; enabled; 
vendor preset: enabled)
> Active: failed (Result: exit-code) since Sat 2016-11-26 18:17:30 CET; 
14min ago
> Process: 386 ExecStart=/lib/console-setup/console-setup.sh 
(code=exited, status=1/FAILURE)

> Main PID: 386 (code=exited, status=1/FAILURE)
> CPU: 393ms
>
> nov. 26 18:17:30 rio systemd[1]: Starting Set console font and keymap...
> nov. 26 18:17:30 rio console-setup.sh[386]: /bin/setupcon: 866: 
/bin/setupcon: cannot open /tmp/tmpkbd.LsV4Kk: No such file
> nov. 26 18:17:30 rio systemd[1]: console-setup.service: Main process 
exited, code=exited, status=1/FAILURE
> nov. 26 18:17:30 rio systemd[1]: Failed to start Set console font and 
keymap.
> nov. 26 18:17:30 rio systemd[1]: console-setup.service: Unit entered 
failed state.
> nov. 26 18:17:30 rio systemd[1]: console-setup.service: Failed with 
result 'exit-code'.

>
> Executing /lib/console-setup/console-setup.sh in the console seems to 
fix the problem, no more errors reported afterwards :

>
> $ systemctl status console-setup.service
> ● console-setup.service - Set console font and keymap
> Loaded: loaded (/lib/systemd/system/console-setup.service; enabled; 
vendor preset: enabled)

> Active: active (exited) since Sat 2016-11-26 18:32:54 CET; 14min ago
> Process: 340 ExecStart=/lib/console-setup/console-setup.sh 
(code=exited, status=0/SUCCESS)

> Main PID: 340 (code=exited, status=0/SUCCESS)
> Tasks: 0 (limit: 4915)
> Memory: 0B



Bug#879106: debian-installer-utils: "list-devices disk" should consider persistent memory block devices

2017-10-19 Thread Ard Biesheuvel
Package: debian-installer-utils
Version: 1.119
Severity: normal
Tags: d-i

Dear Maintainer,

When booting an .iso image via HTTP boot from UEFI, the .iso image will
be exposed to the OS as a ramdisk via the ACPI NFIT table, and will be
picked up by the existing NFIT code in the kernel, which will expose it
as a /dev/pmemXXX device.

For example,

# blkid
/dev/pmem0: UUID="2017-10-17-14-41-11-00" LABEL="ISOIMAGE" TYPE="iso9660"

Currently, debian-installer will fail to find this block device, and
complain that the installer media cannot be found.

Please add support for pmemXXX block device nodes to list-devices so
that they may be found automatically when using HTTP boot to install.

-- 
Ard.


-- System Information:
Debian Release: 9.1
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: arm64 (aarch64)

Kernel: Linux 4.14.0-rc4-00014-g981584ed1827 (SMP w/24 CPU cores; PREEMPT)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), 
LANGUAGE=en_US:en (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)



Bug#879130: empty mirror list on non released architectures

2017-10-19 Thread jhcha54008
Package: choose-mirror
Version: 2.82
Severity: whishlist
Tags: patch
X-Debbugs-CC: "Helge Deller" , "John Paul Adrian Glaubitz" 
, "James Clarke" 

Dear Maintainer,

The following is a reformulation of a previous bug
report by Helge Deller [1].

The mirror list for non released architectures is empty -
"manual selection" is the only choice available.

The patch below make use of the 'Ports-architecture' fields
in the mirror masterlist to create a non empty mirror list.
A file 'port_architecture' is created on non released architectures
for the use of other packages.

Regards,
JH Chatenet

[1] : http://lists.debian.org/debian-boot/2017/05/msg00029.html

--- a/Makefile
+++ b/Makefile
@@ -79,6 +79,7 @@
 
 debian/httplist-countries: $(MASTERLIST) debian/iso_3166.tab
./mirrorlist httplist $^
+   # As a side effect, a file 'port_architecture' is created on non 
released architectures
 
 debian/httpslist-countries: $(MASTERLIST) debian/iso_3166.tab
./mirrorlist httpslist $^
--- a/debian/clean
+++ b/debian/clean
@@ -1 +1,2 @@
 debian/choose-mirror-bin.templates
+port_architecture
--- a/debian/rules
+++ b/debian/rules
@@ -26,3 +26,10 @@
./sort-templates
# Make sure templates are not obviously broken (#834383):
[ ! -d debian/choose-mirror-bin/DEBIAN ] || grep -qs '^Template:' 
debian/choose-mirror-bin/DEBIAN/templates
+
+override_dh_auto_install:
+   dh_auto_install
+   # Expose the file 'port_architecture' for the use of other packages
+ifneq (,$(filter choose-mirror-bin, $(shell dh_listpackages)))
+   if test -e port_architecture; then install -D -m 0644 port_architecture 
debian/choose-mirror-bin/usr/lib/choose-mirror/port_architecture; fi
+endif
--- a/mirrorlist
+++ b/mirrorlist
@@ -104,12 +104,35 @@
$data[$id]->{rating}=$rating;
 }
 
+# Defaults for released architectures
+my $archive_archlist = 'archive-architecture';
+my $archive_type = "archive-$type";
+
+# Is $hostarch a port architecture ? 
+# Such architectures appear in a Ports-architecture: field
+# As an exception, deb.debian.org carries port architectures but has no 
Ports-architecture: field
+foreach my $id (0..$#data) {
+   if (exists $data[$id]->{'ports-architecture'} &&
+   $data[$id]->{'ports-architecture'} ne "any") {
+   my @arches = split ' ', $data[$id]->{'ports-architecture'};
+   my %arches = map { $_ => 1 } @arches;
+   if (exists $arches{$hostarch} or exists $arches{'!'.$hostarch}) 
{
+   $archive_archlist = 'ports-architecture';
+   $archive_type = "ports-$type";
+   open(PORTARCHITECTURE,"> port_architecture") || die 
"Unable to write port_architecture\n";
+   print PORTARCHITECTURE "1";
+   close PORTARCHITECTURE;
+   last;
+   }
+   }   
+}
+
 # Filter out mirrors that don't carry the target architecture.
 my @newdata;
 foreach my $id (0..$#data) {
-   if (exists $data[$id]->{'archive-architecture'} &&
-   $data[$id]->{'archive-architecture'} ne "any") {
-   my @arches = split ' ', $data[$id]->{'archive-architecture'};
+   if (exists $data[$id]->{$archive_archlist} &&
+   $data[$id]->{$archive_archlist} ne "any") {
+   my @arches = split ' ', $data[$id]->{$archive_archlist};
if (grep /^!/, @arches) {
my %notarches = map { substr($_, 1) => 1 } grep /^!/, 
@arches;
next if exists $notarches{$hostarch};
@@ -124,9 +147,11 @@
 
 if ($type =~ /(.*)list/) {
my $type=$1;
+   $archive_type =~ s/list$//;
+
open (LIST, ">debian/${type}list-countries") or die 
"debian/${type}list-countries: $!";
foreach my $id (0..$#data) {
-   next unless exists $data[$id]->{"archive-$type"} and
+   next unless exists $data[$id]->{$archive_type} and
exists $data[$id]->{country};
my $cc = $data[$id]->{country};
die "Error: country code '$cc' does not occur in iso-3166 table"
@@ -154,13 +179,13 @@
else {
$cc=$q.$data[$id]->{country}.$q;
}
-   next unless exists $data[$id]->{"archive-$type"} and defined 
$cc;
-   if (! exists $data[$id]->{'archive-architecture'}) {
-   print STDERR "warning: missing archive-architecture for 
mirror ".$data[$id]->{site}."; assuming it contains all architectures.\n";
+   next unless exists $data[$id]->{$archive_type} and defined $cc;
+   if (! exists $data[$id]->{$archive_archlist}) {
+   print STDERR "warning: missing 
(archive|ports)-architecture for mirror ".$data[$id]->{site}."; assuming it 
contains all architectures.\n";
}
print OUT "\t{",
  join(", ", $q.$

Processed: Change severity to wishlist

2017-10-19 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> severity 879130 wishlist
Bug #879130 [choose-mirror] empty mirror list on non released architectures
Severity set to 'wishlist' from 'normal'
>
End of message, stopping processing here.

Please contact me if you need assistance.
-- 
879130: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=879130
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems



Bug#879145: net-retriever doesn't pull udebs from the 'unreleased' distribution

2017-10-19 Thread jhcha54008
Package: net-retriever
Version: 1.44
Severity: wishlist
Tags: patch
X-Debbugs-CC: "Helge Deller" , "John Paul Adrian Glaubitz" 
, "James Clarke" 

Dear Maintainer,

net-retriever pulls udeb packages from one sole suite
(the one registered in mirror/udeb/suite).

Non released architectures from www.debian-ports.org may store
some udebs in the suite 'unreleased' too. These are currently
neglected by net-retriever.

The patch below enables the use of both suites by net-retriever
on non released architectures. (A file 'port_architecture'
should be created previously by another package, e.g. 
choose-mirror-bin. See #879130)

Regards,
JH Chatenet

--- a/net-retriever
+++ b/net-retriever
@@ -84,31 +84,9 @@
exit 1
 }
 
-cmd="$1"
-shift
-
-case "$cmd" in
-retrieve)
-   fetch "$@"
-   exit $?
-   ;;
-
-packages)
-   rm -f "$1"
-   touch "$1"
-
-   # Setting codename to a suite is not very nice, but can do no harm
-   if ! db_get mirror/udeb/suite || [ -z "$RET" ]; then
-   if [ -f /etc/udebs-source ]; then
-   RET=$(cat /etc/udebs-source)
-   else
-   db_get mirror/codename
-   fi
-   fi
-   codename="$RET"
-
+get_packages () {
Release="/tmp/net-retriever-$$-Release"
-   fetch "dists/$codename/Release" "$Release" || exit $?
+   fetch "dists/$codename/Release" "$Release" || return $?
# If gpgv and a keyring are installed, authentication is
# mandatory by default.
if type gpgv >/dev/null && [ -f "$keyring" ]; then
@@ -157,6 +135,43 @@
break
done
done
+
+   return $ret;
+}
+
+cmd="$1"
+shift
+
+case "$cmd" in
+retrieve)
+   fetch "$@"
+   exit $?
+   ;;
+
+packages)
+   rm -f "$1"
+   touch "$1"
+
+   # Setting codename to a suite is not very nice, but can do no harm
+   if ! db_get mirror/udeb/suite || [ -z "$RET" ]; then
+   if [ -f /etc/udebs-source ]; then
+   RET=$(cat /etc/udebs-source)
+   else
+   db_get mirror/codename
+   fi
+   fi
+   codename="$RET"
+
+   get_packages "$1" || exit $ret
+
+   if [ -e /usr/lib/choose-mirror/port_architecture ]; then
+   # Port architectures use both suites 'unstable' and 'unreleased'
+   # We append the 'Packages' file from 'unreleased' to the one 
from 'unstable'
+   # We don't require the availability of 'unreleased'
+   codename="unreleased"
+   get_packages "$1"
+   fi
+
exit $ret
;;
 



Bug#879147: debian-ports support when installing the kernel and extra packages

2017-10-19 Thread jhcha54008
Package: base-installer
Version: 1.171
Severity: wishlist
Tags: patch
X-Debbugs-CC: "Helge Deller" , "John Paul Adrian Glaubitz" 
, "James Clarke" 

Dear Maintainer,

bootstrap-base installs a kernel and some extra packages as its last
steps ('install_kernel' and 'install_extra').

The patch below enables the use of the 'unreleased' distribution on
non released architectures during these steps. (A file 'port_architecture'
should be created previously by another package, e.g. 
choose-mirror-bin. See #879130)

Regards,
JH Chatenet

--- a/library.sh
+++ b/library.sh
@@ -873,6 +873,11 @@
APTSOURCE="$PROTOCOL://$MIRROR$DIRECTORY"
 
echo "deb $APTSOURCE $DISTRIBUTION $COMPONENTS" > $APT_SOURCES
+
+   if [ -e /usr/lib/choose-mirror/port_architecture ]; then
+   # Port architectures use both suites 'unstable' and 
'unreleased'
+   echo "deb $APTSOURCE unreleased $COMPONENTS" >> 
$APT_SOURCES
+   fi
fi
 }
 



Bug#879151: debian-ports support when setting up sources.list

2017-10-19 Thread jhcha54008
Package: apt-mirror-setup
Version: 0.129
Severity: wishlist
Tags: patch
X-Debbugs-CC: "Helge Deller" , "John Paul Adrian Glaubitz" 
, "James Clarke" 

Dear Maintainer,

apt-mirror-setup currently doesn't create an entry for the
'unreleased' distribution in the file /etc/apt/sources.list
on non released architectures. The patch below enables this.
(A file 'port_architecture' should be created previously
by another package, e.g. choose-mirror-bin. See #879130)

Regards,
JH Chatenet

--- a/generators/50mirror
+++ b/generators/50mirror
@@ -162,6 +162,14 @@
exit 1
 fi
 
+if [ -e /usr/lib/choose-mirror/port_architecture ]; then
+   # There are no non-free nor contrib repositories
+   # for non released architectures
+   db_set apt-setup/non-free false
+   db_fset apt-setup/non-free seen true
+   db_set apt-setup/contrib false
+fi
+
 STATE=1
 while true; do
case "$STATE" in
@@ -239,6 +247,11 @@
 
echo "deb $protocol://$hostname$directory $codename $dists" > $file

+   if [ -e /usr/lib/choose-mirror/port_architecture ];then
+   # Port architectures use both suites 'unstable' and 'unreleased'
+   echo "deb $protocol://$hostname$directory unreleased $dists" >> 
$file
+   fi
+
if apt-setup-verify --from $PROGRESS_FROM --to $PROGRESS_TO $file; then
done=1
else
@@ -261,4 +274,10 @@
deb_src="# deb-src"
 fi
 
-echo "$deb_src $protocol://$hostname$directory $codename $dists" >> $file
+if [ -e /usr/lib/choose-mirror/port_architecture ];then
+   # Hardcode the default regular debian mirror
+   # There is no source repository on debian-ports mirrors
+   echo "$deb_src $protocol://deb.debian.org/debian $codename $dists" >> 
$file
+else
+   echo "$deb_src $protocol://$hostname$directory $codename $dists" >> 
$file
+fi



Bug#795735: partman-crypto: always encrypt swap

2017-10-19 Thread Daniel Kahn Gillmor
It's a shame that encrypted swap by default hasn't happened yet for
debian.

As i see it, the three outstanding concerns are:

 a) source of entropy at boot time

 b) actual hardware performance

 c) suspend-to-disk


boot time entropy
-

The linux kernel's getrandom() situation is much better today than it
was two years ago.  It's actually possible to get blocking bytes when
needed early, without forcing yourself into a blocking situation later
once the kernel's prng is initialized.  See getrandom(2) and random(4)
for more details.

actual hardware performance
---

I suspect the cost is negligible on most hardware today, particularly
when compared to the disk I/O.  If you're swapping, you're likely to be
waiting for the disk, not waiting for the CPU.  That said, i agree that
users with specialized situations ought to be able to disable this.  But
the default should still be on.

suspend-to-disk
---

If the user suspends to disk, then the memory will be written to disk.
this is definitely a leak.  However, we currently write the memory to
disk *without* suspending to disk, so even if we don't handle
suspend-to-disk "safely" it's still a win to encrypt swap, because we
protect the people who do *not* suspend to disk.  So that's the simplest
solution to the suspend-to-disk problem: just punt on it for now, and
leave that case unprotected.

If suspend-to-disk (or rather, resume-from-disk) is the only problem,
then we should look for ways to opportunistically take advantage of
other non-disk hardware on which we could store any ephemeral keys
needed for restoration.

For example, on systems with rewritable nvram, it's conceivable that we
could suspend to the encrypted volume, and then stash the ephemeral
encryption key in nvram.  Upon resume, read the key from nvram into main
memory, clear the nvram, and restore from the encrypted volume.  This
isn't perfectly secure (an attacker with both the disk and the nvram can
recover your memory from the suspend file) but it is a significant win
against an attacker who physically removes the hard disk.



So i think we ought to outline the steps that need to be taken to make
this happen by default.  Which pieces need to be updated, and how?

 --dkg


signature.asc
Description: PGP signature