Bug#682342: Latest patch successfully tested

2019-08-22 Thread Philipp Kern
On 8/16/2019 8:34 PM, Nishanth Aravamudan wrote:
> On 15.08.2019 [17:08:39 +0200], Cyril Brulebois wrote:
>> Nishanth Aravamudan  (2019-08-14):
>>> We are able to reproduce this issue at will in Ubuntu Bionic's
>>> installer (not identical to Debian's, but code-wise in this path the
>>> same).  While quite a while after the last update from Philipp, we
>>> tested the patch (netcfg_dhcp_domain.patch) after updating it to avoid
>>> a compilation issue, we found it did fix the problem for us.
>>>
>>> I am not sure if I can get Debian into our infrastructure to test
>>> explicitly, but I will work on it; at the same time,  the code change
>>> seems straightforward.
>>
>> Thanks for your feedback. Care to share the fixed version? :)
> 
> D'oh! I'm sorry, I thought I did. The patch we tested was:
> 
> diff -Naur a/dhcp.c b/dhcp.c
> --- a/dhcp.c  2017-10-10 14:01:42.0 +
> +++ b/dhcp.c  2019-08-14 01:04:58.339325357 +
> @@ -590,7 +590,7 @@
>  preseed_hostname_from_fqdn(client, buf);
>  }
>  
> -if (netcfg_get_hostname (client, "netcfg/get_hostname", 
> hostname, 1)) {
> +if (netcfg_get_hostname (client, "netcfg/get_hostname", 
> hostname, !have_domain)) {
>  /*
>   * Going back to POLL wouldn't make much sense.
>   * However, it does make sense to go to the retry
> diff -Naur a/netcfg-common.c b/netcfg-common.c
> --- a/netcfg-common.c 2017-10-10 14:04:08.0 +
> +++ b/netcfg-common.c 2019-08-13 20:01:13.606510273 +
> @@ -1060,14 +1060,24 @@
>  continue;
>  }
>  
> -if (accept_domain && (s = strchr(hostname, '.'))) {
> -di_info("Detected we have an FQDN; splitting and setting 
> domain");
> -if (s[1] == '\0') { /* "somehostname." <- . should be ignored */
> +if ((s = strchr(hostname, '.'))) {
> +di_info("Detected an FQDN in hostname");
> +if (s[1] == '\0') {
> +/* "somehostname." <- . should be ignored */
>  *s = '\0';
> -} else { /* assume we have a valid domain name given */
> -strncpy(domain, s + 1, MAXHOSTNAMELEN);
> -debconf_set(client, "netcfg/get_domain", domain);
> -have_domain = 1;
> +di_info("Stripped trailing dot from hostname");
> +} else {
> +/* assume that the domain is valid and copy it if
> + * accept_domain is set; just use the hostname if
> + * it is unset
> + */
> +if (accept_domain) {
> +strncpy(domain, s + 1, MAXHOSTNAMELEN);
> + di_info("Setting domain to %s", domain);

This needs indenting fix-up.

> +debconf_set(client, "netcfg/get_domain", domain);
> +have_domain = 1;
> +}
> +/* strip the domain from the hostname */
>  *s = '\0';
>  }
>  }
> 
>> I'm a little reluctant to blindly merging this patch (originally
>> labeled “untested”) without a go from its author. Philipp, should
>> I go ahead?
> 
> Totally understood! I just wanted to make sure to revive this issue, as
> I'd also like to get it fixed in Ubuntu! Like I said, I will do my best
> to test and reproduce the fix with stock Debian.

I think this should be fine and we're early in the release cycle to find
potential problems if there are any.

Obviously it'd be great to have a test hardness with a DHCP server
sending various bits and us verifying that netcfg did the right thing.
But I'd surprised to find the time for that myself.

Kind regards and thanks
Philipp Kern



Bug#931195: flash-kernel: Add entry for Olimex A64-Olinuxino

2019-08-22 Thread Sunil Mohan Adapa
Hello,

Attached patch proposes new flash-kernel entry for A64 OLinuXino board
with eMMC support.

A64 OLinuXino board from Olimex has three variants with onboard eMMC:
A64-OLinuXino-1Ge16GW, A64-OLinuXino-1Ge4GW and A64-OLinuXino-2Ge8G-IND. In
addition, there are two variants without eMMC. One without eMMC and one
with SPI
flash. This suggests the need for separate device tree for the three eMMC
variants.

The Linux kernel upstream has chosen to create and use a separate device
tree
for the eMMC variants instead of adding eMMC support existing device
tree. These
changes to Linux kernel are queued for Linux 5.4.

https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git/commit/?h=sunxi/dt-for-5.4=02bb66b347ff8115f53948f86b884e008ba385b9

Thanks,

-- 
Sunil
From ea0be10d5de3b7225c9de0b1244046bf79d1fadc Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa 
Date: Thu, 22 Aug 2019 10:17:48 -0700
Subject: [PATCH 2/2] Add entry for Olimex A64-Olinuxino-eMMC

A64 OLinuXino board from Olimex has three variants with onboard eMMC:
A64-OLinuXino-1Ge16GW, A64-OLinuXino-1Ge4GW and A64-OLinuXino-2Ge8G-IND. In
addition, there are two variants without eMMC. One without eMMC and one with SPI
flash. This suggests the need for separate device tree for the three eMMC
variants.

The Linux kernel upstream has chosen to create and use a separate device tree
for the eMMC variants instead of adding eMMC support existing device tree. These
changes to Linux kernel are queued for Linux 5.4.

https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux.git/commit/?h=sunxi/dt-for-5.4=02bb66b347ff8115f53948f86b884e008ba385b9

Signed-off-by: Sunil Mohan Adapa 
---
 db/all.db | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/db/all.db b/db/all.db
index d527fa1..e6cafc5 100644
--- a/db/all.db
+++ b/db/all.db
@@ -1302,6 +1302,13 @@ Boot-Script-Path: /boot/boot.scr
 U-Boot-Script-Name: bootscr.uboot-generic
 Required-Packages: u-boot-tools
 
+Machine: Olimex A64-Olinuxino-eMMC
+Kernel-Flavors: arm64
+DTB-Id: allwinner/sun50i-a64-olinuxino-emmc.dtb
+Boot-Script-Path: /boot/boot.scr
+U-Boot-Script-Name: bootscr.uboot-generic
+Required-Packages: u-boot-tools
+
 Machine: Olimex A64 Teres-I
 Kernel-Flavors: arm64
 DTB-Id: sun50i-a64-teres-i.dtb
-- 
2.20.1

From 8ae086aef5f08b8dc2e378764fd4b5ac6dffa9d1 Mon Sep 17 00:00:00 2001
From: Sunil Mohan Adapa 
Date: Wed, 26 Jun 2019 12:27:31 -0700
Subject: [PATCH 1/2] Add entry for Olimex A64-Olinuxino

Signed-off-by: Sunil Mohan Adapa 
---
 db/all.db | 7 +++
 1 file changed, 7 insertions(+)

diff --git a/db/all.db b/db/all.db
index 117a1af..d527fa1 100644
--- a/db/all.db
+++ b/db/all.db
@@ -1295,6 +1295,13 @@ DTB-Id: sun8i-a33-olinuxino.dtb
 U-Boot-Script-Name: bootscr.sunxi
 Required-Packages: u-boot-tools
 
+Machine: Olimex A64-Olinuxino
+Kernel-Flavors: arm64
+DTB-Id: allwinner/sun50i-a64-olinuxino.dtb
+Boot-Script-Path: /boot/boot.scr
+U-Boot-Script-Name: bootscr.uboot-generic
+Required-Packages: u-boot-tools
+
 Machine: Olimex A64 Teres-I
 Kernel-Flavors: arm64
 DTB-Id: sun50i-a64-teres-i.dtb
-- 
2.20.1



signature.asc
Description: OpenPGP digital signature


Re: Bug#926699: libc6-{i386,x32}: installing, removing, reinstalling in a --merged-usr system results in unmerged /lib{32,x32}

2019-08-22 Thread Marco d'Itri
On Aug 19, Aurelien Jarno  wrote:

Thank you for expressing your position in more detail.

> usrmerge works by moving all data from /lib into /usr/lib and then
> creating a symlink /lib -> /usr/lib. The same is done for the biarch
> or triarch directories, namely /lib32, /lib64, /libx32 and /libo32
> depending on the architecture. Note that this part is done by usrmerge,
> but doesn't appear in its description, nor in the debconf question
> asked to the user. It is important to note that it is done directly on
> the filesystem and that this change is not known to dpkg.
I do not think that describing this implementation detail would be 
generally useful to users, but you are right. This complexity is an 
effect of having to keep supporting non-merged systems, but I am not 
willing to fight that battle right now. 

> There is nothing special done with that regard in the glibc maintainer
> scripts.
Agreed.

> The usrmerge people considers that it has to be fixed in the glibc
> maintainer scripts.
I am not dead set on this, but so far it seems to me that, as long as we 
need to keep supporting non-merged systems, such a solution would both 
solve all issues and be the simplest one to implement, as long as it is 
correctly defined in scope.

> As explained above, it would mean that the preinst
> script is responsible, if usrmerge is activated, to create the
> /lib{32,64,o32,x32} -> /usr/lib{32,64,o32,x32} symlink if it doesn't
> exist. The directory might not be empty as a result of a partial
> conversion to usrmerge (yes those system will exists). In turn this
An half-converted system is (more or less) broken and it is not libc's 
responsability to fix it. Pseudocode:

# is this a merged-/usr system?
if [ -L /lib ]; then
  # has the link already been created?
  if [ -L /lib32/ ]; then
:
  # if it has not, is a directory already there?
  elif [ ! -d /lib32/ ]; then
# if not, then create it
ln -s /usr/lib32/ /lib32/
# is this needed or not?
[ -d /usr/lib32/ ] || mkdir /usr/lib32/
  fi
fi

Implementing this would cover all non-pathological cases and improve on 
the current situation.

> directory might be the one of the dynamic linker used for executing
> the maintainer scripts (dash/bash, coreutils). So this means the
> maintainer scripts have to handle the case of moving the dynamic
> linker without breaking the system.
No, it would never attempt to move any file: either e.g. /lib32/ does 
not exist, and then libc6-* would create the link, or it does, and that 
system is half-converted but it's not libc's fault, and continuing to 
install some of the files in / would not break anything.

> In short it means *the most tricky part of usrmerge has to be
> implemented and maintained in the glibc preinst scripts*. This is even
I disagree: only the most basic function would need to be implemented by 
the libc packages: creating a symlink if one is needed and it does not 
already exist.
I would definitely never propose to move to other packages the migration 
support currently implemented in usrmerge.

> more difficult as the preinst script will be executed all the time and
> not when the user ask for that. It won't ask the user for its permission
> before. It doesn't have the option to abort if something looks wrong as 
> this will lead to a system difficultly recoverable for many users if
> they are dist-upgrading their system to a new release (usually apt-get
> install -f is not enough).
As explained, I think that this code can always be successful.

> Therefore I really believe the best solution for this issue is to
> make dpkg aware of the symlink, which means creating a package
> containing this symlinks. This could be for example:
> - in base-files, for example by depending on base-files-usrmerge |
>   base-files-nousrmerge
I wonder what the base-files and deboostrap maintainers think about 
this, since it would require some changes in their packages (non-trivial 
ones in deboostrap, I think).
This also has the downside that this way it would be impossible to 
delete the /libx32/ etc links when they are not needed, since they would 
be created every time the package is updated.

> - in usrmerge after reconsidering that the package can be uninstalled
>   after the conversion.
I am not sure that this could actually work: if the converter package is 
designed to be installed on a non-merged system to convert it, what 
would happen when it tried to install a /lib/ -> /usr/lib/ link in such 
a non-merged system, where /lib/ already is a directory?
(It would also have all the downsides of the precedent point and 
moreover require installing three extra Perl modules on every Debian 
system.)
But let's assume that there would be also a base-files-usrmerge package 
just to provide the links, to be installed later: how could this be 
automated by the converter package, since dpkg does not support being 
invoked by itself?

> - directly in the libc6 and libc6-xxx packages if the TC reconsiders the
>   

Bug#935407: Failure to unpack initrd should be handled better

2019-08-22 Thread Samuel Thibault
Martin Samuelsson, le jeu. 22 août 2019 13:19:58 +0200, a ecrit:
> >[0.564101] Unpacking initramfs...
> >[0.634972] Initramfs unpacking failed: write error
> 
> Since this error message appears in the log and attempting to continue after
> it will guaranteed yield in strange behaviour, the best thing would likely
> be if debian-installer looked for it before attempting to do anything else
> and failed hard with a descriptive error message.

Doing that can only help indeed. An incomplete unpack can only lead to
failures.

Samuel



Bug#935407: Failure to unpack initrd should be handled better

2019-08-22 Thread Martin Samuelsson

Bernhard Übelacker @ 2019-07-16 (Tuesday), 22:01 (+0200)


just tried to have a look at the part where steal-ctty is crashing.


Thank you Bernhard!


Maybe that situation could be detected when the initramfs was not
unpacked successfully, but has enough unpacked to attempt starting
the installer.


I'm no kernel hacker but to the best of my understanding populate_rootfs() 
seems to be returning zero regardless of whether it fails or not. Reading 
that source code[1], as well as the relevant documentation[2,3], gives me 
the impression there is no way to make the kernel fail in any other way than 
to merely print error message and continue. Right?



   [0.564101] Unpacking initramfs...
   [0.634972] Initramfs unpacking failed: write error


Since this error message appears in the log and attempting to continue after 
it will guaranteed yield in strange behaviour, the best thing would likely 
be if debian-installer looked for it before attempting to do anything else 
and failed hard with a descriptive error message.


Due to Debian BTS harvested addresses being my primary spam source, I'm not 
monitoring this address. Yet I follow the bug report and my contact info is 
avaible at https://bugs.debian.org/199392#40 if needed.

--
/Martin

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/init/initramfs.c
[2] https://www.kernel.org/doc/html/v4.14/admin-guide/kernel-parameters.html
[3] 
https://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt



Bug#932149: Question about documented Buster ram requirement (#932149)

2019-08-22 Thread Samuel Thibault
Martin Samuelsson, le jeu. 22 août 2019 12:58:41 +0200, a ecrit:
> The values seem to come from version 1.47 of lowmem from merely a few months
> back. How are they obtained?

As described in lowmem's README.

But AIUI the Xen case (which I indeed didn't test) requires bigger
values.

> Since they are significantly lower than those of section 2.5,

Yes, section 2.5 provides values for typical use. lowmem is about values
for working at all.

> and impossible to fit the initrd of buster's debian-installer,

On amd64, Buster's text initrd is 19M only. The gtk initrd 45M.

> should they really be in the Installation Guide at all?

They happen to be what lowmem uses to determine whether to enter lowmem
mode or not, so they are supposed to be working.

Samuel



Bug#932149: Question about documented Buster ram requirement (#932149)

2019-08-22 Thread Martin Samuelsson

Dear Samuel Thibault,

I was about to prepare a patch to fix #932149 by removing what I understood 
to be outdated information, but then realized you've actually made recent 
changes to it and must thus ask for your knowledge. Details below.


Martin Samuelsson @ 2019-07-16 (Tuesday), 17:58 (+0200)


If increasing the memory allocation for the target machine from 512MB 
to 1024MB the error goes away.


Summary of issue #932149: Debian installer fails with strange errors if 
attempting to install on less than 550MB, yet the Installation guide states 
256MB/512MB/170MB should be sufficient.


This is unexpected since the section 3.4 of Buster's Installation 
Guide for amd64 states that the requirement of an installed system is 
256MB, and that the actual installer should require only 170MB. 


The values seem to come from version 1.47 of lowmem from merely a few months 
back. How are they obtained?


Since they are significantly lower than those of section 2.5, and impossible 
to fit the initrd of buster's debian-installer, should they really be in the 
Installation Guide at all? In case they truely belong there, how could 
section 3.4 be improved to properly describe the requirements for such 
installations?


Fair enough though, there is conflicting information in section 2.5, 
Memory and Disk Space Requirements, where the figure is 550MB.


Would the correct fix be to rephrase the documentation so that it is clear 
that 3.4 covers the requirement of an installed system, while the higher 
basic requirements in 2.5 are needed for the actual installation?


Attempting to boot with kernel parameter lowmem set to 1 or 2 makes no 
difference. Insufficient ram results in seg fault and errors about 
missing console files regardless of lowmem's value.


Above section only left for pointing out lowmem parameter changes nothing.

Due to Debian BTS harvested addresses being my primary spam source, I'm not 
monitoring this address. Yet I follow the bug report and my contact info is 
avaible at https://bugs.debian.org/199392#40 if needed.

--
/Martin



Processed: Re: Early segfault in steal-ctty on Xen DomU install

2019-08-22 Thread Debian Bug Tracking System
Processing commands for cont...@bugs.debian.org:

> clone 932149 -1
Bug #932149 [installation-reports] Buster install requires more ram than 
documented
Bug 932149 cloned as bug 935407
> retitle -1 Failure to unpack initrd should be handled better
Bug #935407 [installation-reports] Buster install requires more ram than 
documented
Changed Bug title to 'Failure to unpack initrd should be handled better' from 
'Buster install requires more ram than documented'.
> thanks
Stopping processing here.

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



Re: Bug#932684: buster-pu: package gnupg2/2.2.12-1+deb10u1

2019-08-22 Thread Adam D. Barratt

Control: tags -1 + confirmed d-i

[full quote for KiBi's benefit]

On 2019-08-21 20:05, Daniel Kahn Gillmor wrote:

On Wed 2019-08-21 18:19:06 +0100, Adam D. Barratt wrote:

 * We adopt GnuPG's upstream approach of making keyserver access
   default to self-sigs-only.  This means that the keyserver cannot
   flood the user's keyring by default. (we do *not* adopt upstream's
   choice of import-clean for keyserver default, see
   https://dev.gnupg.org/T4628 for more explanation)


The introduction of this change in unstable (and since in testing)
apparently led to some confusion amongst, and queries from, members of
the project, so is likely to have a similar (but quite possibly 
larger)

effect on the wider stable user base.

If we are to include it, I think it would therefore be wise to ensure
that it is accompanied by a NEWS entry which briefly explains the
change and its implications. (Relatedly, the further through the 
stable

cycle we get, the more awkward this would be to introduce.)


Thanks, that's entirely reasonable.  I've put this NEWS item into the
debian/buster branch on salsa.  Otherwise, the debdiff is the same.


diff --git a/debian/NEWS b/debian/NEWS
index 0a6a7440d..3005e935c 100644
--- a/debian/NEWS
+++ b/debian/NEWS
@@ -1,3 +1,25 @@
+gnupg2 (2.2.12-1+deb10u1) buster; urgency=medium
+
+  In this version we adopt GnuPG's upstream approach of making 
keyserver

+  access default to self-sigs-only.  This defends against receiving
+  flooded OpenPGP certificates.  To revert to the previous behavior 
(not

+  recommended!), add the following directive to ~/.gnupg/gpg.conf:
+
+keyserver-options no-self-sigs-only
+
+  We also adopt keys.openpgp.org as the default keyserver, since it 
avoids
+  the associated bandwidth waste of fetching third-party 
certifications
+  that will not be used.  To revert to the older SKS keyserver network 
(not

+  recommended!), add the following directive to ~/.gnupg/dirmngr.conf:
+
+keyserver hkps://hkps.pool.sks-keyservers.net
+
+  Note: we do *not* adopt upstream's choice of import-clean for the
+  keyserver default, since it can lead to data loss, see
+  https://dev.gnupg.org/T4628 for more details.
+
+ -- Daniel Kahn Gillmor   Wed, 21 Aug 2019
14:53:47 -0400
+


Let me know if you want me to re-generate a full debdiff, or if you're
ok with this plus the previous debdiff (with an updated date on
debian/changelog to match debian/NEWS),


That's fine, thanks.


let me know whether i should go
ahead and upload.


This will need a d-i ack, so tagging + CCing.

Regards,

Adam