An experiment about personalized front-end of bugs.debian.org

subtitle

E-mail archives + UDD + Simple web front-end = šŸ¤”

author

Kentaro Hayashi

institution

ClearCode Inc.

content-source

DebConf20 online August 25, 2020

allotted-time

15m

theme

.

NOTE: Presentation slide is published

Personal profile

ClearCode Inc.

Not talk about

Agenda

We use bugs.d.o

Usage of bugs.debian.org - prerequisite

Why so curious about bugs.d.o?

How did you fixed?

How did you fixed? (again)

growl-for-linux was fixed

What about other packages?

libappindicator: deprecated in Debian

libdbus-glib-1-dev: is deprecated in Debian

How to track many blocked?

Does it work with libappindicator?

Does it work with libdbus-glib1-dev?

The troublesome cases about bugs.d.o

Use udd.debian.org!

In my experience through contribution, I need

In my experience through contribution (again)

How to solve rest issues?

Supplementary explanation: Find affected bugs šŸ¤”

What about existing solution?

wiki.debian.org/Services

What about existing solution?

What about existing solution?

What about existing solution?

Starting personal project

Starting personal project (again)

How to realize concept?

Collect bug information

Extract .log and .summary

How to parse .log

my $log = Debbugs::Log->new(log_name => $path);
my @records = $log->read_all_records();
for my $record (@records) {
  ...
  my $entity = Debbugs::MIME::parse_to_mime_entity($record);
  print "From: " . $entity->head->get("From");
  print "To: " . $entity->head->get("To");
  print "Subject: " . get_field($entity, "Subject");
  print "Date: " . $entity->head->get("Date");
}

{: lang=ā€œperlā€}

How to parse .summary

Format-Version: 3
Submitter: Nis Martensen <nis.martensen@web.de>
Subject: libexo-helpers: starting thunderbird fails for some mailto URIs
Found-In: exo/0.12.4-1
Tags: patch
Package: libexo-helpers
Message-Id: <159439678897.3833.10774950364480956704.reportbug@siamos.nes.net>
Severity: normal
Date: 1594396982

my $summary = Debbugs::Status::read_bug(summary => $path);
print $summary->{"tags"}

{: lang=ā€œperlā€}

Collect Popcon data and so on

Collect installed packages information

POPULARITY-CONTEST-0 TIME:1596711793 ID:XXX ARCH:amd64 POPCONVER:1.70 VENDOR:Debian
1596672000 1570622400 libgail-common /usr/lib/x86_64-linux-gnu/gtk-2.0/modules/libgail.so
1596672000 1596585600 libavcodec58 /usr/lib/x86_64-linux-gnu/libavcodec.so.58.91.100 <RECENT-CTIME>
1596672000 1586736000 libgoa-1.0-0b /usr/lib/x86_64-linux-gnu/libgoa-1.0.so.0.0.0
...
1596672000 1586217600 libzvbi0 /usr/lib/x86_64-linux-gnu/libzvbi.so.0.13.2
1596672000 1590624000 udisks2 /usr/share/locale/ja/LC_MESSAGES/udisks2.mo
END-POPULARITY-CONTEST-0 TIME:1596711817

Process collected data and make it accessible!

Prepared server specs for experiment

System diagrams

Named my project as Fabre

cite: en.wikipedia.org/wiki/Jean-Henri_Fabre

Why Fabre?

Concept of Fabre (again)

Finding a bug that no one working on

Sending control E-mail easily

Easy to view blocked bugs

Finding affected important bugs

How Fabre is good enough to work?

Current status of Fabre

Weak point about Fabre

Conclusion

Any questions?

Could you speak slowly if you have a question, please?