[BACK]Return to post_dmesg_to_nycbug CVS log [TXT][DIR] Up to [local] / openbsd / update_openbsd

File: [local] / openbsd / update_openbsd / post_dmesg_to_nycbug (download)

Revision 1.1, Sun Feb 22 19:22:08 2015 UTC (9 years, 2 months ago) by andrew
Branch: MAIN

A handy script to post a dmesg to the NYCBUG dmesg archive

#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';

use HTTP::Tiny;

# This script posts your OpenBSD dmesg to the NYC*BUG dmesg archive.

open my $de, '-|', qw( sysctl -n hw.vendor hw.product hw.version ) or die $!;
my $description = join ' ', split /\s+/s,
    do { local $/ = undef; readline $de };
close $de or die $!;

open my $dm, '<', '/var/run/dmesg.boot' or die $!;
my $dmesg = do { local $/ = undef; readline $dm };
close $dm;

# Remove leftover cruft from previous boots
$dmesg =~ s/^.*\n(OpenBSD )/$1/s;

my $res = HTTP::Tiny->new->post_form(
    'http://www.nycbug.org/index.cgi',
    {   action      => 'dmesgd',
        do          => 'addd',
        nickname    => 'afresh1',
        email       => 'andrew+dmesgd@afresh1.com',
        description => $description,
        dmesg       => $dmesg,
    }
);

say $res->{success}
    ? 'Sent dmesg'
    : "Unable to send dmesg: $res->{status} $res->{reason}";