Debian debug and packaging overview

Faustin Lammler

@MariaDB Foundation

MariaDB Unconference
New York 23-24 February 2019

2

  • Not a Developer :-)
  • +10 years opensource sysadmin
  • Joined MDBF in January 2018
    • installation and upgrade
    • packaging
    • debug
    • systemd
    • infra (w. Teodor)

Debian debug and packaging overview

about:me

3

  • https://bugs.launchpad.net
  • Apport

Debian debug and packaging overview

Ubuntu bug reporting

pros

cons

Easier for non dev

Not activated by default

Logs provided automatically

Steps missing, not well described, reporter responsiveness

Fast similar issues detection and trends

In the language of the system

Redundant bug need pattern tweaks

4

  • Check the status of the Ubuntu release
  • Use the pre formatted Ubuntu bug responses
  • If any information is missing, triage the bug as "incomplete" (and ask for more information)
    • It will auto close after 60 days

Debian debug and packaging overview

Ubuntu bug reporting, tips

5

  • Contrary to Debian, if you install ‘mysql-server’ in Ubuntu, you will install MySQL, not MariaDB!

Debian debug and packaging overview

Warning: MariaDB is not installed by default in Ubuntu

ubuntu$ sudo apt install mariadb-server

6

  • SMTP is fantastic!
  • CLI ‘reportbug’
  • https://bugs.debian.org

Debian debug and packaging overview

Debian Bug Tracking System (BTS)

pros

cons

Working with bad or without Internet connexion

Asynchronous mode and thread order problem

Keep locally bug information

Changes are not immediately visibles (couple of hours)

High level of bug reports and responsiveness

Learn how to talk with control@bugs.debian.org

7

How to link an issue to a bug report?

Debian debug and packaging overview

BTS: control tag example

To: control@bugs.debian.org

forwarded 918393 https://github.com/OpenSIPS/opensips/issues/1589

To: 920643@bugs.debian.org, matthew@mdarwin.ca

Control: forwarded -1 https://github.com/lxc/lxc/pull/2758

Matthew,

I am able to reproduce this and I have the exact same error

(mariadb log + apparmor on host).

...

Header version

8

Debian debug and packaging overview

Triage and upstream issue tracking

  • Verify that the bug/issue is not already in MariaDB upstream issue tracking system (link the bug to jira and vice versa):
    • https://jira.mariadb.org
  • Bug severity should be well defined (reporter tend to think that their issue is always ultra critical)

9

  • MySQL > MariaDB
    • upgrade problems
  • systemd
    • naming, multi-instance etc.
  • OpenSSL / YaSSL
    • OpenSSL licence incompatible with Debian policy
  • Apparmor

Debian debug and packaging overview

2018 common issues

audit: type=1400 audit(1548120161.662:21): apparmor="DENIED" operation="sendmsg" info="Failed name lookup - disconnected path" error=-13 profile="/usr/sbin/mysqld" name="run/systemd/notify" pid=2527 comm="mysqld" requested_mask="w" denied_mask="w" fsuid=113 ouid=0

10

  • Debian 10 “Buster” is the next stable release
    • 2019-02-12: Soft freeze
    • 2019-03-12: Full freeze
  • MariaDB 10.3 was accepted 2019-01-19 (soft freeze)

Debian debug and packaging overview

MariaDB 10.3 in Debian 10

11

Debian debug and packaging overview

MariaDB 10.3 in Debian 10

12

  • Report bugs (apport/reportbug) or help triaging them
  • Upstream contributions
  • Debian/Ubuntu specific contributions
    • Debian/Ubuntu only → ‘mariadb_10.3.git/debian/*’
    • Outside this dir → should be submitted upstream...?

Debian debug and packaging overview

How can I contribute?

13

Debian debug and packaging overview

Repository branch layout

Branch name

Description

upstream

contains the upstream source releases without modifications

pristine-tar

contains extra delta needed to re-create the original tarballs with the exactly same SHA-1 hash as the original tarballs by upstream

master

packaging for Debian Sid (unstable)

jessie

release branch for Debian 8 (jessie)

stretch

release branch for Debian 9 (stretch)

ubuntu-16.04

release branch for Ubuntu 16.04 (xenial)

ubuntu-18.04

release branch for Ubuntu 18.04 (bionic)

14

  • Sign up on new GitLab instance (https://signup.salsa.debian.org/)
  • Fork/clone the repository
  • Start working on your patch
  • Push and wait for CI to finish (see next)
  • Pull Request

Debian debug and packaging overview

The Salsa GitLab instance

15

Debian debug and packaging overview

Setup the CI on your fork

Timeout:

2h

Custom CI config path:

debian/gitlab-ci.yml

16

Debian debug and packaging overview

CI results

  • build
  • lintian
  • test
  • install
  • upgrade

...

  • Check the ‘debian/gitlab-ci.yml’ file, it is well commented and easy to understand.
  • More tests/checks are going to be implemented: build/link against libmysqlclient vs libmariadb3 (done!)
  • Systemd?

17

Debian debug and packaging overview

Thanks!

Debian debug and packaging overview - Google Slides