[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