Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:Heinervdm:BGO-OD
MozillaFirefox
mozilla-get-app-id
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File mozilla-get-app-id of Package MozillaFirefox
#!/usr/bin/perl -w use XML::Simple; my $file = shift || die "Usage: $0 [install.rdf|somefile.xpi]\n"; my $xml; if ($file =~ /\.xpi$/) { use Archive::Zip qw/:ERROR_CODES :CONSTANTS/; my $zip = Archive::Zip->new(); if ( $zip->read($file) != AZ_OK ) { die "zip file read error\n"; } my $data = $zip->contents("install.rdf"); die "missing install.rdf in $file\n" unless $data; $xml = XMLin($data) || die "$!\n"; } elsif ($file =~ /install.rdf/) { $xml = XMLin($file) || die "$!\n"; } else { die "unsupported file format\n"; } my $desc; for my $tag (qw/RDF:Description Description/) { if (exists $xml->{$tag}) { if (ref $xml->{$tag} eq 'ARRAY') { $desc = $xml->{$tag}; } else { $desc = [ $xml->{$tag} ]; } } } my $uuid; my $id; for my $x (@$desc) { if ($x->{"em:id"} =~ /{[[:xdigit:]]+-/) { print STDERR "Warning: multiple uuids!\n" if defined $uuid; $uuid = $x->{"em:id"}; } elsif ($x->{"em:id"} =~ /@/) { print STDERR "Warning: multiple ids!\n" if defined $id; $id = $x->{"em:id"}; } } if (defined $id) { print "$id\n"; } elsif (defined $uuid) { print "$uuid\n"; } else { exit 1; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor