Summary of the Arm ports BoF at DC18
[ 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
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
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
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
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
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
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