[Dev] [RFC] Redesign and reimplement the blacklist

Michał Masłowski mtjm at mtjm.eu
Thu Apr 19 20:53:32 GMT 2012


The blacklist.txt file we currently use has these problems:

- it's long, e.g. listing each Firefox l10n package separately

- removing PKGBUILDs for nonfree packages requires manually specifying
  there all packages built from them

- many entries are undocumented

- many entries refer to packages not included in Arch, so it's not clear
  which ones should be liberated

- no mention of the problem being known/unknown on the gnu-linux-libre
  list or upstream

For these reasons I propose replacing it with a recfile [0] having a
record for each pkgbase building packages to blacklist, with
machine-readable fields explaining why it's blacklisted and linking to
upstream reports.

I attach a mostly self-describing example based on blacklist.txt of
revision 1a6a485c9941912983db17005271aae0567cadea.  The schema can and
probably should be changed.

There would be two changes in what is blacklisted:

- all packages built from a single PKGBUILD would be removed

- packages not included in Arch wouldn't be blacklisted

Should we do these changes?

There will be additional technical issues:

- dbscripts will depend on recutils; is it a problem?

  We have it packaged (not built for i686 yet) and it doesn't have many
  dependencies.

- dbscripts will need to have a pkgbase -> pkgname mapping

  It could be obtained from abs which is delayed.  I believe this
  wouldn't be a problem in most cases, since the currently manual
  blacklisting is also done after a new package from Arch is included.

- your-freedom needs to be generated differently

- we should check what binary packages will be initially blacklisted by
  it to avoid introducing bugs when converting the list

- some entries need determining their "type"

  recfix will consider it incorrect otherwise, and maybe some of these
  packages are now free (and users ask why they are blacklisted).

- wiki articles need updating

We could implement additional scripts automating blacklist management:

- finding all packages which should be blacklisted for depending on a
  removed package (to add with Type: depends in the example)

- finding replacement packages which aren't really available

- listing packages without upstream reports (unless they have Type:
  distro or Type: branding)

The change would introduce these problems:

- the blacklist file would be bigger, scripts fetching it often could
  need changing

- blacklisting a package would need more typing – this can be partially
  automated

- scripts doing queries on the blacklist might be slower if it's big
  enough – using grep instead of recsel in simple cases, or future
  recutils indexing support will solve this

[0] https://www.gnu.org/software/recutils/

The example (please quote only the relevant parts when replying):

%rec: Package
%key: Base
%sort: Base
%mandatory: Type
%type: Type enum
+ nonfree (has no free license or no source)
+ recommends (recommends a nonfree package)
+ depends (depends on a blacklisted package, name it in the Dependency field)
+ branding (has branding for other/non-FSDG distro)
+ distro (is distro-specific)
+ nonfree-source (source includes nonfree files)
+ useless (not useful without nonfree software)
+ nonfree-build (needs nonfree software to build)
+ kernel-module (includes kernel modules which need rebuilding)
+ java-binary (Java package not built from source)
# ParabolaBugs is issueXX of https://bugs.parabolagnulinux.org/bugs/issueXX
%type: ParabolaBugs regexp /issue[1-9][0-9]*/
%type: Dependency rec Package

# Base and Other are pkgbases to blacklist.

# Other fields for issue reports:

# LibrePlanet is the fragment id of http://libreplanet.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines

# Debian is the full bug URL

# gNewSense is the full bug URL to Savannah

# URL is an informative URL

Base: abiword
Type: recommends
Reason: recommends nonfree fonts

Base: abs
Replacement: abs-libre
Type: distro
Reason: have to change default rsync dir to abslibre

Base: abuse
Replacement: abuse-libre
Type: nonfree
Reason: contains an unfree addon
gNewSense: https://savannah.nongnu.org/bugs/?33450

Base: abyssws

Base: acetoneiso2
Type: recommends
Reason: ask to download and install unfree poweriso

Base: aif
Replacement: aif-libre
Type: distro
Reason: pointed to an unfree abs, points to abslibre now

Base: alienarena
Type: depends
Dependency: alienarena-data

Base: alienarena-data
Type: nonfree
Reason: Some nonfree data (doesn't allow commercial redistribution).

Base: alsa-firmware
Type: nonfree
ParabolaBugs: issue68

Base: amd-ucode
Type: nonfree
Reason: no modification, use restrictions

Base: angband
Type: nonfree
Reason: sounds are "freeware"

Base: apache-ant
Replacement: apache-ant-libre
Reason: Arch version was not built from source
Type: java-binary
ParabolaBugs: issue434

Base: aqua-data-studio

Base: arch-artwork
Type: branding
ParabolaBugs: issue46

Base: arch-firefox-search
Type: branding
ParabolaBugs: issue46

Base: arch-wiki-docs
Type: recommends
Reason: contains documentation recommending unfree software.

Base: arch-wiki-lite
Type: recommends
Reason: recommends unfree software installation

Base: archboot
Type: depends
Dependency: isdn4k-utils

Base: archlinux-artwork
Type: branding

Base: archlinux-menus
Type: branding
ParabolaBugs: issue46

Base: archlinux-themes-kde
Type: branding
ParabolaBugs: issue46

Base: archlinux-themes-kdm
Type: branding
ParabolaBugs: issue46

Base: archlinux-themes-slim
Type: branding
ParabolaBugs: issue46

Base: archlinux-wallpaper
Type: branding
ParabolaBugs: issue46

Base: assaultcube
Type: nonfree

Base: asunder
Replacement: asunder-libre
Reason: wrapper for unfree codecs
Type: recommends

Base: atool
Replacement: atool-libre
Type: recommends
Reason: recommends unrar

Base: audacious-plugin
Replacement: audacious-plugins-libre
Type: nonfree
ParabolaBugs: issue76
Reason: Multiple copyright problems make software non-redistributable as currently packaged

Base: aufs2
Replacement: aufs2-libre
Type: kernel-module
Reason: Fixed for uname 2.6.37-LIBRE

Base: b43-fwcutter

Base: bacula
Type: nonfree
gNewSense: https://savannah.nongnu.org/bugs/?34578

Base: bass
Type: nonfree
Reason: freeware

Base: bladeenc
Type: nonfree
Replacement: lame
Reason: based on non-free dist10 ISO source code

Base: blobwars
Type: nonfree
Reason: unclear licensing

Base: blobwars-data
Type: nonfree
Reason: unclear licensing

Base: bluez-firmware
Type: nonfree
ParabolaBugs: issue67

Base: bogofilter
Replacement: bogofilter-libre
Type: nonfree
gNewSense: https://savannah.nongnu.org/bugs/?34593

Base: boinc
Type: nonfree
Reason: non-free files including and relating to api/texfont.{cpp,h} and possible other license issues

Base: boinc-nox
Type: nonfree
Reason: non-free files including and relating to api/texfont.{cpp,h} and possible other license issues

Base: calibre
Replacement: calibre-libre
Type: depends
Dependency: unrar
ParabolaBugs: issue256

Base: cdrkit
Replacement: cdrkit-libre
Reason: apple's license binding with no clarification
Type: nonfree

Base: chromium
Type: nonfree
Reason: (1) Copyright or license of some code is unclear (2) Links to proprietary plugins.

Base: cinelerra-cv
Replacement: cinelera-cv-libre
Type: depends
Dependency: faac

Base: clementine
Type: recommends
Reason: asks to download an unfree plugin to support spotify
ParabolaBugs: issue354

Base: crafty

Base: cuda-toolkit
Type: nonfree
ParabolaBugs: issue414

Base: cups
Replacement: cups-libre
Type: depends
Dependency: foomatic-db-nonfree
ParabolaBugs: issue314

Base: d4x

Base: dangerdeep
Type: depends
Dependency: dangerdeep-data

Base: dangerdeep-data
Type: nonfree
Reason: non commercial license
ParabolaBugs: issue262

Base: darkice
Replacement: darkice-libre
Type: depends
Dependency: faac

Base: dina-font
Type: nonfree
Reason: using it for "for anything illegal" not allowed

Base: dosemu
Type: nonfree-build
Reason: contains free software that can only be built using nonfree software

Base: dwarffortress

Base: epdfview
Replacement: epdfview-libre
Type: recommends
Reason: has firefox in default config
ParabolaBugs: issue236

Base: faac
Type: nonfree
Reason: Is a gpl'ed package, but has non free code that it can't be distributed under GPL

Base: fcpci

Base: fcpcmcia

Base: figlet
Replacement: toilet

Base: file-roller
Replacement: file-roller-libre
Type: recommends
Reason: recommends unrar and unace installation

Base: filesystem
Replacement: filesystem
Type: branding

Base: firefox
Type: nonfree
Replacement: iceweasel-libre
Reason: trademark policy forbids selling; recommends nonfree addons

Base: firefox-adblock-plus
Type: depends
Dependency: firefox

Base: firefox-i18n
Type: depends
Dependency: firefox
Replacement: iceweasel-i18n

Base: firefox-noscript
Type: depends
Dependency: firefox

Base: firefox-spell-pt-br

Base: firefox-spell-ru

Base: flashplugin
Type: nonfree

Base: fmodex

Base: font-bh-ttf
Replacement: font-bh-ttf-libre
Type: nonfree
Reason: non libre font
ReportedBy: borgo

Base: font-mathematica
Type: nonfree

Base: font-misc-meltho
Replacement: font-misc-meltho-libre
Type: nonfree
ReportedBy: borgo

Base: foomatic-db-nonfree
Type: nonfree

Base: foomatic-filters
Replacement: foomatic-filters-libre
Type: nonfree
Reason: contains proprietary scripts

Base: fop
Type: nonfree
gNewSense: https://savannah.nongnu.org/bugs/?34579

Base: freepascal
Type: nonfree
Reason: includes proprietary code from silicon graphics

Base: frogatto
Type: depends
Dependency: frogatto-data

Base: frogatto-data
Type: nonfree

Base: ghostscript
Replacement: ghostscript-libre
Type: nonfree
Reason: non free cmap files

Base: grub
Type: recommends
Reason: recommends ms windows on default menu.lst

Base: grub2
Replacement: grub2
Type: branding

Base: gsopcast

Base: gstreamer0.10-bad
Replacement: gstreamer0.10-bad-libre

Base: gstreamer0.10-bad-plugins
Replacement: gstreamer0.10-bad-plugins-libre
Type: depends
Dependency: faac

Base: handbrake
Type: depends
Dependency: faac
Reason: includes a faac module (needs handbrake-libre)
ParabolaBugs: issue332

Base: hardinfo
Replacement: hardinfo
Type: branding

Base: hplip
Replacement: hplip-libre
Type: recommends
Reason: recommends binary blobs
ParabolaBugs: issue312

Base: hplip-plugin
Type: nonfree
Reason: binary blobs

Base: initscripts
Replacement: initscripts
Type: branding

Base: intel-ucode
Type: nonfree
Reason: no modification, use restrictions

Base: ipw2100-fw
Type: nonfree

Base: ipw2200-fw
Type: nonfree

Base: isdn4k-utils
Type: nonfree
Reason: lots of binary blobs and licensing issues
Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=559425

Base: iwlwifi-1000-ucode
Type: nonfree

Base: iwlwifi-3945-ucode
Type: nonfree

Base: iwlwifi-4965-ucode
Type: nonfree

Base: iwlwifi-5000-ucode
Type: nonfree

Base: iwlwifi-5150-ucode
Type: nonfree

Base: iwlwifi-6000-ucode
Type: nonfree

Base: java-batik
Type: nonfree
gNewSense: https://savannah.nongnu.org/bugs/?34579

Base: java-sun
Type: nonfree
Reason: jdk and jre pkgbase

Base: jdk

Base: jdk6
Type: nonfree

Base: jre

Base: jre6
Type: nonfree

Base: kdebase-konqueror
Replacement: kdebase-konqueror-libre
Type: recommends
Reason: recommends nonfree plugins on about:home's specifications

Base: kdelibs
Replacement: kdelibs-libre
Type: recommends
ParabolaBugs: issue108

Base: kdenetwork
Replacement: kdenetwork-libre
Type: recommends
Reason: kdenetwork-kopete recommends Skype

Base: kdeutils-ark
Replacement: kdeutils-ark-libre
Type: recommends
Reason: recommends unrar

Base: kernel-headers
Replacement: linux-api-headers

Base: kernel26
Replacement: kernel26-libre
Reason: renamed to linux-libre

Base: kernel26-docs
Replacement: kernel26-libre-docs

Base: kernel26-firmware

Base: kernel26-headers
Replacement: kernel26-libre-headers

Base: kernel26-lts
Replacement: kernel26-libre-lts

Base: kernel26-lts-headers:kernel26-libre-lts-headers

Base: kernel26-manpages
Replacement: kernel26-libre-manpages

Base: kile
Replacement: kile-libre
Type: recommends
Reason: recommends adobe acrobat
ParabolaBugs: issue310

Base: krusader
Type: recommends
Reason: recommends installation of nonfree archivers and Thunderbird
ParabolaBugs: issue217

Base: lame
Replacement: lame-libre
Type: nonfree
Reason: license doesn't mention modification

Base: lesspipe
Replacement: lesspipe-libre
Type: recommends
Reason: recommends unrar

Base: lha

Base: lib32-libflashsupport

Base: libcl
Type: nonfree
Reason: http://licenses.parabolagnulinux.org/libcl/LICENSE

Base: libflashsupport

Base: libquicktime
Replacement: libquicktime-libre
Type: depends
Dependency: faac

Base: licenses
Type: useless
Replacement: licenses-libre
Reason: contains non copyleft friendly licenses

Base: liferea
Replacement: liferea-libre
Type: recommends
Reason: same sace as xchat, recommends unfree browsers

Base: linux
Replacement: linux-libre
Type: nonfree
Reason: non-free blobs and firmwares

Base: linux-api-headers
Type: nonfree-source
Replacement: linux-libre-api-headers
Reason: has source containing and recommending nonfree software
ParabolaBugs: issue444

Base: linux-firmware
Type: nonfree

Base: linux-lts
Replacement: linux-libre-lts
Type: nonfree
Reason: blobs

Base: linux-manpages
Replacement: linux-libre-manpages
Type: nonfree-source
Reason: manpages comes from non-free linux kernel

Base: linux-tools
Replacement: linux-libre-tools
Type: nonfree-source
Reason: source contains non-free linux kernel.

Base: linux_logo
Type: branding
Reason: contains tux text-based logo for kernel

Base: lsb-release
Replacement: lsb-release-libre
Type: branding
Reason: names the distro "Arch Linux"
ParabolaBugs: issue266

Base: mac
Type: nonfree
Reason: Monkey's Audio Source Code License Agreement, changes must be contributed back

Base: madwifi
Type: useless
Reason: only useful with nonfree software

Base: madwifi-utils
Type: useless
Reason: only useful with nonfree software

Base: martian

Base: martian-utils

Base: mencoder
Replacement: mencoder-libre
Type: depends
Dependency: faac

Base: mesa-demos
Other: lib32-mesa-demos
Replacement: mesa-demos-libre
Type: nonfree
Reason: contains unfree files
LibrePlanet: mesademos

Base: microcode_ctl
Type: useless

Base: mod_fastcgi

Base: monaco-linux-font

Base: moonlight
Type: recommends
Reason: recommends non-free software (Microsoft Media Pack)

Base: mp32ogg
Type: nonfree
Reason: Artistic License 1.0

Base: mplayer
Replacement: mplayer-libre
Type: depends
Dependency: faac

Base: mplayer-vaapi
Replacement: mplayer-vaapi-libre
Type: depends
Dependency: faac

Base: mupen64plus
Reason: has only non-free roms and non-free dev tools available
Type: nonfree-build
URL: https://wiki.parabolagnulinux.org/Emulator_licensing_issues

Base: ndiswrapper
Type: useless

Base: ndiswrapper-lts
Type: useless

Base: ndiswrapper-utils
Type: useless

Base: netperf
Type: nonfree
Reason: license forbids commercial redistribution

Base: nltk
Replacement: nltk-libre
Type: recommends
Reason: contains a method for downloading unfree corpora. it can be patched, please do!

Base: nltk-data
Replacement: nltk-data-libre
Type: nonfree
Reason: contains unfree corpora. we'll have to remove those.

Base: nouveau-drm-lts
Type: depends
Dependency: nouveau-firmware

Base: nouveau-firmware
Type: nonfree

Base: nppangband
Type: nonfree
Reason: forbids commercial redistribution
ParabolaBugs: issue118

Base: nvidia
Type: nonfree

Base: nvidia-173xx
Type: nonfree

Base: nvidia-173xx-utils
Type: nonfree

Base: nvidia-96xx
Type: nonfree

Base: nvidia-96xx-utils
Type: nonfree

Base: nvidia-cg-toolkit
Type: nonfree

Base: nvidia-lts
Type: nonfree

Base: nvidia-utils
Other: lib32-nvidia-utils

Base: nxclient

Base: ogre
Type: depends
Dependency: nvidia-cg-toolkit
ParabolaBugs: issue199

Base: opencl-nvidia
Type: nonfree

Base: openoffice-i18n
Replacement: libreoffice-i18n
Type: depends
Dependency: openoffice

Base: openttd-opensfx

Base: opera
Type: nonfree

Base: p7zip
Replacement: p7zip-libre
Type: nonfree
Reason: contains unrar

Base: pacman
Replacement: pacman
Type: distro
Reason: needs to be repackaged to add [libre] repo

Base: pacman-mirrorlist
Replacement: pacman-mirrorlist-libre
Type: distro
Reason: points to mirrors containing unfree packages

Base: paintown
Type: nonfree
Reason: Some nonfree data.

Base: pcsxr
Type: nonfree-build
Reason: has only non-free roms and non-free dev tools available
URL: https://wiki.parabolagnulinux.org/Emulator_licensing_issues

Base: povray

Base: poweriso
Type: nonfree

Base: profont
Type: nonfree
Reason: unknown license

Base: psutils
Replacement: psutils-libre

Base: pypy

Base: python-reportlab
Replacement: python-reportlab-libre
Type: nonfree
Reason: setup.py downloads adobe t1 fonts without license
ReportedBy: borgo

Base: python2
Replacement: python2-libre
Type: nonfree
Reason: profile and pstats modules only allow modification inside the python package

Base: python2-pycuda
Type: depends
Dependency: cuda-toolkit

Base: qingy-theme-arch

Base: qstat

Base: r8168
Type: nonfree

Base: rp-pppoe
Replacement: rp-pppoe-libre
Type: recommends
Reason: includes a nonfree software advertisement

Base: rt2870usb-fw
Type: nonfree

Base: rt2x00-rt61-fw
Type: nonfree

Base: rt2x00-rt71w-fw
Type: nonfree

Base: rt3562sta
Type: nonfree

Base: sane-gt68xx-firmware
Type: nonfree
ParabolaBugs: issue75

Base: sauerbraten
Type: depends
Dependency: sauerbraten-data

Base: sauerbraten-data
Type: nonfree
Reason: CC-NC data
ParabolaBugs: issue336

Base: screenlets
Type: nonfree
ParabolaBugs: issue115

Base: sdl
Replacement: sdl-libre
Reason: license doesn't mention modification
Type: nonfree

Base: sdlmame

Base: seamonkey
Replacement: seamonkey-libre
Type: recommends
ParabolaBugs: issue66
Reason: points to the unfree addon site

Base: sfarkxtc

Base: skype
Type: nonfree

Base: skype-call-recorder
Type: useless
Reason: only useful with skype installed

Base: skype-oss
Type: nonfree

Base: skype-staticqt
Type: nonfree

Base: slim-themes
Type: nonfree
Reason: copyrighted themes

Base: slmodem

Base: snes9x

Base: snes9x-gtk
Replacement: snes9x-gtk-libre
Type: depends
Dependency: faac

Base: sopcast
Type: nonfree
Reason: forbids commercial use

Base: speedtouch
Type: useless
Reason: needs unfound possibly nonfree firmware
ParabolaBugs: issue168

Base: spring-kp
Type: nonfree
Reason: noncommercial, unknown and unknown public domain

Base: sqlite3
Type: nonfree
Reason: "Portions of the documentation and some code used as part of the build process might fall under other licenses. The details here are unclear. We do not worry about the licensing of the documentation and build code so much because none of these things are part of the core deliverable SQLite library."

Base: syslog-ng
Type: nonfree
Reason: man pages are cc-nc-nd
ParabolaBugs: issue292

Base: tarsnap

Base: texlive-bin
Replacement: texlive-bin-libre
Type: nonfree
Reason: includes biber not built from source
Issue: https://labs.parabola.nu/issues/87

Base: texlive-core
Replacement: texlive-core-libre
Type: nonfree

Base: texlive-fontsextra
Replacement: texlive-fontsextra-libre
Type: nonfree

Base: texlive-latexextra
Replacement: texlive-latexextra-libre
Type: nonfree

Base: thunderbird
Replacement: thunderbird-libre
ParabolaBugs: issue66
Type: nonfree
Reason: trademark policy forbids selling; recommends nonfree addons

Base: tiacx
Type: depends
Dependency: tiacx-firmware

Base: tiacx-firmware
Type: nonfree
ParabolaBugs: issue74

Base: tiacx-lts
Type: depends
Dependency: tiacx-firmware

Base: ttf-hannom

Base: ttf-ms-fonts

Base: ttf-thai
Replacement: ttf-thai-libre

Base: ufoai
Type: depends
Dependency: ufoai-data

Base: ufoai-data
Type: nonfree
Reason: Some nonfree data (CC Sampling+)

Base: unace
Replacement: unace-libre
Type: nonfree

Base: unarj
Type: nonfree
Replacement: arj

Base: unetbootin
Type: recommends
Reason: "It lists many non-fsdg operating systems. Remove or change the list of distros available. FUSBi is a fork which does so. "

Base: unrar
Type: nonfree
Replacement: ununrar

Base: unzip
Replacement: unzip-libre
Type: nonfree
Reason: contains a source file that doesn't mention modification

Base: urbanterror
Reason: GPL2, pero solo puede usarse con data privativa.

Base: urbanterror-data
Reason: Privativa, solo permite distribucion con el juego.

Base: vbaexpress
Type: nonfree
Reason: see visualboyadvance

Base: virtualbox
Replacement: virtualbox-libre
Type: nonfree
Reason: has unfree user manual, adapted to non-free linux kernel and virtualbox-archlinux-{additions,modules}

Base: virtualbox-additions
Type: nonfree

Base: virtualbox-additions-modules
Type: nonfree

Base: virtualbox-archlinux-additions
Replacement: virtualbox-parabola-additions
Type: branding

Base: virtualbox-archlinux-modules
Replacement: virtualbox-parabola-modules
Type: kernel-module
Reason: needed to build modules for linux-libre

Base: virtualbox-modules
Replacement: virtualbox-modules
Type: kernel-module
Reason: adapted to non-free linux kernel and virtualbox-archlinux-modules

Base: virtualbox-sdk
Replacement: virtualbox-sdk
Type: nonfree
Reason: part of the non-free virtualbox group

Base: virtualbox-source
Replacement: virtualbox-source
Type: nonfree
Reason: part of the non-free virtualbox group and adapted to non-free linux kernels

Base: visualboyadvance
Type: nonfree
Reason: contains a non-free file
Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=607598

Base: warsow-data
Type: nonfree

Base: winetricks
Type: recommends
ParabolaBugs: issue116

Base: xarchiver
Replacement: xarchiver-libre
Type: recommends
Reason: recommends unrar

Base: xbmc
Replacement: xbmc-libre
Type: depends
Dependency: faac

Base: xchat
Replacement: xchat-libre
Type: recommends
Reason: Refers to a non-free browser in its URL handlers.

Base: xdm-archlinux
Type: branding
ParabolaBugs: issue46

Base: xf86-input-vmmouse
Type: useless
Reason: only useful with vmware
ReportedBy: henry jensen

Base: xf86-video-vmware
Type: useless
Reason: only useful with vmware
ReportedBy: henry jensen

Base: xorg-fonts-100dpi
Replacement: xorg-fonts-100dpi
Type: nonfree

Base: xorg-fonts-75dpi
Replacement: xorg-fonts-75dpi-libre
Type: nonfree

Base: xorg-fonts-type1
Replacement: xorg-fonts-type1-libre
Type: nonfree

Base: xorg-xlsfonts
Type: nonfree
Reason: unclear license status

Base: xpdf-chinese-simplified

Base: xpdf-chinese-traditional

Base: xpdf-japanese

Base: xpdf-korean

Base: xsnow

Base: xv

Base: zd1211-firmware
Reason: Libre, pero los drivers son propietarios y no están incluidos en linux-libre
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <https://lists.parabola.nu/pipermail/dev/attachments/20120419/f43a55f7/attachment.sig>


More information about the Dev mailing list