Summary of the Arm ports BoF at DC18

2018-09-20 Thread Steve McIntyre
[ Please note the cross-post and Reply-To ]

Hi folks,

As promised, here's a quick summary of what was discussed at the Arm
ports BoF session in Hsinchu. Apologies for the delay in posting...

Thanks to the awesome efforts of our video team, the session is
already online [1]. I've taken a copy of the Gobby notes too,
alongside my small set of slides for the session. [2]

Ports update


arm64

  * Current port, first released with Jessie
  * Working well
  * More devices available now, more coming
  * Real server hardware!
  * Simple choice of kernel with DTB and/or ACPI

armhf

  * Current port, first released with Wheezy
  * Hard-float ABI, v7, VFPv3-D16
+ Standard for 32-bit Arm Linux distros, so we should have binary
  compatibility with other distros
  * armmp kernel & DTBs
+ Potentially massive set of supported devices
  * UEFI is becoming more of a thing on armhf, and will make it easier
to run armhf VMs on top of arm64 hardware

armel

  * Current port, first released with Lenny
  * Soft-float ABI, used to be v4t, now v5te
  * I'd been planning to drop from testing/release, but others have
stepped up to keep armel running
  * Still supported upstream for most languages, but can also be a
problem where things newer language runtimes expect v7 as a
minimum baseline. Fixable, but takes effort. People will need to
keep working on this. We'll need to manage expectations as to what
is supported/supportable in armel

Buildds and hardware


 * Existing Marvell Armada XP hardware we're using for armel/armhf is
   not great in terms of supportability, e.g. needs a manual button
   press to reboot after power failure. The machines are quite fast
   and powerful, but they're still development boards and are missing
   features we'd like such as support for more than one disk to do
   RAID.

 * There's a wider choice of arm64 machines available, e.g. Seattle,
   X-Gene, ThunderX, Macchiatobin, Centriq, Synquacer, to suit a range
   of budgets and requirements. I'm hoping that we'll soon see a
   commercially successful, readily available arm64 server machine
   that we'll be able to just buy off the shelf...

 * DSA would like to get rid of the Marvell machines, replacing them
   with more manageable server machines. Supporting dev boards is hard
   work. AFAICS there are not any worthwhile 32-bit Arm server
   machines that we could sensibly use as buildds. Hence, we'll need
   to start switching to using arm64 machines as buildds for our
   32-bit ports too. There was already some discussion about this on
   the mailing list - see the thread around [3]

Building 32-bit software on arm64
=

There are some issues here :-(

  * Some arm64 machine won’t run the A32 ISA; server vendors are often
targeting 64-bit only and cramming more cores into a CPU by
leaving out the 32-bit support

  * We've started using an arm64 machine (arm-arm-01, a Seattle-based
machine which includes A32 support) to build armhf. Unfortunately,
there have been some problems detected already:

+ Alignment - Arm CPUs care about alignment, but we've been
  running the 32-bit buildds with kernel support enabled for
  fixing up user-space alignment problems in software. No such
  option exists in the arm64 kernel, so we get SIGBUS errors.

+ #define mixups - glibc fails its testsuite due to a mismatch
  in 32- and 64-bit definitions for SIGMINSTKSZ. Patch already
  developed by the Arm kernel team, but not upstream yet.

+ It seems that our armhf Haskell binaries are mis-targeted
  (ARMv6, not ARMv7?), so as well as needing lots of alignment
  fixups they're also using old-fashioned primitives for
  barriers. Looks like it will need fixing up and completely
  rebuilding...

+ I'm doing rebuilds of the armhf *and* armel archive to check if
  there are any other problems to be found. [UPDATE: very nearly
  finished, expect results and analysis very shortly...]

+ Possible that we could mask some of the building problems using
  32-bit VMs running on the arm64 machines, but that won't solve
  the problems properly - these binaries still won't run properly
  on arm64 machines like they should. Much better to fix things
  like alignment issues properly, IMHO.

+ Fixing alignment problems also helps other ports like m68k and
  sparc, which have long had the same issues. They only exist
  because developers can get away with invalid assumptions on x86
  where the hardware will fix things at runtime. Even there,
  proper alignment will typically improve performance.

Discussion
==

 * arm64 hardware for reproducible builds? Use reproducible builds to
   systematically detect arm64 vs. armhf issues

 * Ubuntu are also building armhf on arm64 and are seeing the same
   alignment problems we are. Should we disable the alignment fixups

Bug#909253: ITP: puppet-module-icann-tea -- Puppet datatypes for use of validation

2018-09-20 Thread Thomas Goirand
Package: wnpp
Severity: wishlist
Owner: Thomas Goirand 

* Package name: puppet-module-icann-tea
  Version : 0.2.15
  Upstream Author : John Bond 
* URL : https://github.com/icann-dns/puppet-tea
* License : Apache-2.0
  Programming Lang: Puppet
  Description : Puppet datatypes for use of validation

 Puppet lets you centrally manage every important aspect of your system using a
 cross-platform specification language that manages all the separate elements
 normally aggregated in different files, like users, cron jobs, and hosts,
 along with obviously discrete elements like packages, services, and files.
 .
 This module provides a set of Puppet 4.4+ compatible datatypes for use of
 validation in defined types and class declarations. The basic idea behind this
 module is to retire puppetlabs-stdlib's validate_XYZ() functions. Unlike
 validate_(), these datatypes can be verified by the parser, instead of being
 validated during compilation.

Note: This is a dependency of icann-quagga, which will be in use in OCI
(OpenStack Cluster Installer), which is a Debian baremetal installer for
OpenStack.



Bug#909254: ITP: puppet-module-icann-quagga -- Puppet module for Quagga

2018-09-20 Thread Thomas Goirand
Package: wnpp
Severity: wishlist
Owner: Thomas Goirand 

* Package name: puppet-module-icann-quagga
  Version : 0.5.2
  Upstream Author : John Bond 
* URL : https://github.com/icann-dns/puppet-quagga
* License : Apache-2.0
  Programming Lang: Puppet
  Description : Puppet module for Quagga

 Puppet lets you centrally manage every important aspect of your system using a
 cross-platform specification language that manages all the separate elements
 normally aggregated in different files, like users, cron jobs, and hosts,
 along with obviously discrete elements like packages, services, and files.
 .
 This module manages both the installation and configuration of Quagga.

This will be a new dependency of OCI (OpenStack Cluster Installer), which is
a baremetal installer for OpenStack on Debian for which I'm the main author.



Bug#909261: ITP: puppet-module-rodjek-logrotate -- Logrotate module for Puppet

2018-09-20 Thread Thomas Goirand
Package: wnpp
Severity: wishlist
Owner: Thomas Goirand 

* Package name: puppet-module-rodjek-logrotate
  Version : 1.1.1+ds1
  Upstream Author : Tim Sharpe
* URL : https://github.com/rodjek/puppet-logrotate
* License : Expat
  Programming Lang: Ruby
  Description : Logrotate module for Puppet

 Puppet lets you centrally manage every important aspect of your system using a
 cross-platform specification language that manages all the separate elements
 normally aggregated in different files, like users, cron jobs, and hosts,
 along with obviously discrete elements like packages, services, and files.
 .
 This puppet module provides a way of managing logrotate configs.

Note: This is a dependency of puppet-module-icann-quagga



Bug#909262: ITP: node-cache-loader -- Caches the result of following loaders on disk

2018-09-20 Thread Pirate Praveen
Package: wnpp
Severity: wishlist
Owner: Pirate Praveen 
X-Debbugs-CC: debian-devel@lists.debian.org

* Package name: node-cache-loader
  Version : 1.2.2
  Upstream Author : Tobias Koppers @sokra
* URL : https://github.com/webpack-contrib/cache-loader
* License : Expat
  Programming Lang: JavaScript
  Description : Caches the result of following loaders on disk

This is a loader for webpack.
 .
 Webpack packs (combines) CommonJs/AMD modules for the browser.
 .
 Node.js is an event-based server-side JavaScript engine.

This is a dependency of gitlab 10.x and since its source is ES6 and
needs babel to build to ES5, it is not suitable for embedding.



signature.asc
Description: OpenPGP digital signature


Bug#909264: ITP: mmdebstrap -- creates a Debian chroot directory or tarball

2018-09-20 Thread Johannes 'josch' Schauer
Package: wnpp
Severity: wishlist
Owner: Johannes 'josch' Schauer 

* Package name: mmdebstrap
  Version : 0.1.0
  Upstream Author : Johannes 'josch' Schauer 
* URL : https://gitlab.mister-muffin.de/josch/mmdebstrap
* License : Expat
  Programming Lang: Perl
  Description : creates a Debian chroot directory or tarball

An alternative to debootstrap which uses apt internally and is thus able to use
more than one mirror and resolve more complex dependencies.

A list of advantages in contrast to debootstrap:

 - more than one mirror possible (or really anything that is a legal apt
   sources.list entry)
 - security and updates mirror included for Debian stable chroots (a
   wontfix for debootstrap)
 - 2-3 times faster (for debootstrap variants)
 - chroot with apt in 11 seconds (if only installing `Essential: yes`
   and apt)
 - gzipped tarball with apt is 27M small
 - bit-by-bit reproducible output (if `$SOURCE_DATE_EPOCH` is set)
 - unprivileged operation using Linux user namespaces, fakechroot or
   proot (mode is chosen automatically)
 - can operate on filesystems mounted with nodev
 - foreign architecture chroots with qemu-user (without manually
   invoking `--second-stage`)



Work-needing packages report for Sep 21, 2018

2018-09-20 Thread wnpp
The following is a listing of packages for which help has been requested
through the WNPP (Work-Needing and Prospective Packages) system in the
last week.

Total number of orphaned packages: 1299 (new: 1)
Total number of packages offered up for adoption: 169 (new: 1)
Total number of packages requested help for: 56 (new: 1)

Please refer to http://www.debian.org/devel/wnpp/ for more information.



The following packages have been orphaned:

   clipit (#908797), orphaned 6 days ago
 Description: lightweight GTK+ clipboard manager
 Reverse Depends: lxqt
 Installations reported by Popcon: 11200
 Bug Report URL: http://bugs.debian.org/908797

1298 older packages have been omitted from this listing, see
http://www.debian.org/devel/wnpp/orphaned for a complete list.



The following packages have been given up for adoption:

   hhvm (#908972), offered 4 days ago
 Description: HipHop Virtual Machine, a JIT replacement for PHP -
   main runtime
 Reverse Depends: hhvm-dbg
 Installations reported by Popcon: 138
 Bug Report URL: http://bugs.debian.org/908972

168 older packages have been omitted from this listing, see
http://www.debian.org/devel/wnpp/rfa_bypackage for a complete list.



For the following packages help is requested:

[NEW] docker.io (#908868), requested 5 days ago
 Description: Linux container runtime
 Reverse Depends: golang-docker-dev
   golang-github-fsouza-go-dockerclient-dev
   golang-github-google-cadvisor-dev
   golang-github-samalba-dockerclient-dev kubernetes-node subuser
   whalebuilder
 Installations reported by Popcon: 1293
 Bug Report URL: http://bugs.debian.org/908868

   autopkgtest (#846328), requested 659 days ago
 Description: automatic as-installed testing for Debian packages
 Reverse Depends: autodeb-worker debci-worker
 Installations reported by Popcon: 1130
 Bug Report URL: http://bugs.debian.org/846328

   balsa (#642906), requested 2552 days ago
 Description: An e-mail client for GNOME
 Installations reported by Popcon: 700
 Bug Report URL: http://bugs.debian.org/642906

   broadcom-sta (#886599), requested 255 days ago (non-free)
 Description: Broadcom STA Wireless driver (non-free)
 Installations reported by Popcon: 1913
 Bug Report URL: http://bugs.debian.org/886599

   cargo (#860116), requested 527 days ago
 Description: Rust package manager
 Reverse Depends: dh-cargo
 Installations reported by Popcon: 637
 Bug Report URL: http://bugs.debian.org/860116

   cups (#532097), requested 3393 days ago
 Description: Common UNIX Printing System
 Reverse Depends: ayatana-indicator-printers bluez-cups boomaga
   chromium chromium-shell cinnamon-settings-daemon cloudprint cups
   cups-backend-bjnp cups-browsed (68 more omitted)
 Installations reported by Popcon: 174365
 Bug Report URL: http://bugs.debian.org/532097

   cyrus-sasl2 (#799864), requested 1093 days ago
 Description: authentication abstraction library
 Reverse Depends: 389-ds-base 389-ds-base-libs 389-dsgw adcli
   autofs-ldap cairo-dock-mail-plug-in claws-mail
   claws-mail-acpi-notifier claws-mail-address-keeper
   claws-mail-archiver-plugin (120 more omitted)
 Installations reported by Popcon: 198317
 Bug Report URL: http://bugs.debian.org/799864

   dee (#831388), requested 797 days ago
 Description: model to synchronize mutiple instances over DBus
 Reverse Depends: dee-tools gir1.2-dee-1.0 libdee-1.0-4-dbg
   libdee-dev zeitgeist-core
 Installations reported by Popcon: 61949
 Bug Report URL: http://bugs.debian.org/831388

   developers-reference (#759995), requested 1482 days ago
 Description: guidelines and information for Debian developers
 Installations reported by Popcon: 11876
 Bug Report URL: http://bugs.debian.org/759995

   devscripts (#800413), requested 1087 days ago
 Description: scripts to make the life of a Debian Package maintainer
   easier
 Reverse Depends: apt-build apt-listdifferences aptfs arriero
   autodeb-worker brz-debian bzr-builddeb customdeb debci
   debian-builder (29 more omitted)
 Installations reported by Popcon: 12842
 Bug Report URL: http://bugs.debian.org/800413

   ed (#886643), requested 255 days ago
 Description: classic UNIX line editor
 Reverse Depends: apt-cacher libdebbugs-perl opensmtpd sn
 Installations reported by Popcon: 20227
 Bug Report URL: http://bugs.debian.org/886643

   ejabberd (#767874), requested 1417 days ago
 Description: distributed, fault-tolerant Jabber/XMPP server written
   in Erlang
 Reverse Depends: ejabberd-contrib ejabberd-mod-cron
   ejabberd-mod-log-chat ejabberd-mod-logsessi