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
pgpTKFwRu9dBp.pgp
Description: PGP signature
_______________________________________________ Dev mailing list [email protected] https://lists.parabolagnulinux.org/mailman/listinfo/dev
