Giter Club home page Giter Club logo

absolutely-proprietary's People

Contributors

coderobe avatar ditadipolvere08 avatar dpeukert avatar korvinsilver avatar nanovad avatar stiefel40k avatar vmavromatis avatar vpzomtrrfrt avatar z3ntu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

absolutely-proprietary's Issues

What is truly free?

From @coderobe :

what do you think about excluding uses-nonfree too, because i think it's only used when:

  • some (potentially optional) dependencies are nonfree, which would already turn up in our list
  • it is referring to, linking to, or endorsing problematic packages
  • it integrates with problematic packages (can still be free!)

take mesa for example, the "issues" parabola identified are that it's recommending optional problematic software, but on its own mesa is licensed under MIT

Add program arguments

by @ben01189998819991197253
If we're going to print out everything as a table, it would be nice to be able to sort the results by column using command-line flags. -s for sorting by status, --name for sorting by name, etc.

My idea is to try to keep simple first. Program with no arguments shows only nonfree. Program with --full argument shows all. Then add sort etc

Print libre alternatives

Add a feature to print the libre equivalents for each programs. These can either be obtain by the second column of blacklist.txt or we need to figure how Parabola queries the arch repos to get the replacement packages exactly.

tends to match wrong packages

currently, the package file is being detected as iscan because parabola's blacklist description for iscan contains the word file

IndexError: list index out of range

I have an error running $ python absolutely_proprietary/init.py:
Retrieving local packages (including AUR)... Downloading https://git.parabola.nu/blacklist.git/plain/blacklist.txt Downloading https://git.parabola.nu/blacklist.git/plain/aur-blacklist.txt Comparing local packages to remote... Traceback (most recent call last): File "/home/arthur/Downloads/absolutely-proprietary/absolutely_proprietary/__init__.py", line 126, in <module> reason = ((line.split(':')[4]).split(']')[0]).strip().replace('[', '') IndexError: list index out of range

Add PKGBUILD

It would be nice to create a PKGBUILD and deploy the app on AUR. For now the script install works, but it's not ideal as it contains security risks.

Missing packages

The program tell me i have 39 unfree, but only 4 are shown in the table

image

AUR package does not work

I installed the AUR package for Absolutely Proprietary. Running absolutely-proprietary gives:

Traceback (most recent call last):
  File "/usr/bin/absolutely-proprietary", line 9, in <module>
    for entry_point in distribution('absolutely-proprietary==1.0.0').entry_points:
  File "/usr/lib/python3.8/importlib/metadata.py", line 504, in distribution
    return Distribution.from_name(distribution_name)
  File "/usr/lib/python3.8/importlib/metadata.py", line 177, in from_name
    raise PackageNotFoundError(name)
importlib.metadata.PackageNotFoundError: absolutely-proprietary==1.0.0

[META] dsecription

Just wanted to say, if you provide some description in the issues, we (I) might be able to help better ;)

Not all proprietary ones are displayed

Hello,

when I run the program, it says I have 38 non-free packages installed, but only 5 of them are displayed.

$ absolutely-proprietary 
Retrieving local packages (including AUR)...
Downloading https://git.parabola.nu/blacklist.git/plain/blacklist.txt
Downloading https://git.parabola.nu/blacklist.git/plain/aur-blacklist.txt
Comparing local packages to remote...
=============================================
38 ABSOLUTELY PROPRIETARY PACKAGES INSTALLED
=============================================

Your GNU/Linux is infected with 38 proprietary packages out of 1331 total installed.
Your Stallman Freedom Index is 97.15

+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| Name                  | Status  | Libre Alternatives          | Description                                                               |
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| amd-ucode             | nonfree |                             | no modification, use restrictions                                         |
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| libunrar              | nonfree |                             | part of nonfree unrar, Issue442                                           |
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| linux-firmware        | nonfree | linux-libre-firmware        | nonfree blobs                                                             |
|                       |         | fsf                         |                                                                           |
|                       |         | linux-firmware              |                                                                           |
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| linux-firmware-whence | nonfree | linux-libre-firmware-whence | nonfree blobs                                                             |
|                       |         | fsf                         |                                                                           |
|                       |         | linux-firmware              |                                                                           |
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+
| nmap                  | nonfree |                             | the FSF considers the v7.9x license to be non-free - however, the previous|
+-----------------------+---------+-----------------------------+---------------------------------------------------------------------------+

A little complication when parabola user try it

Hello, I use Parabola GNU/Linux. I thought I give it a try just to get great score (like 100% free). So when I ran the program I got this list of non free packages:

|Name|Status|Libre Alternatives|Description| |---|---|---|---| |clamav|semifree|clamav|has nonfree unrar support for RAR into libclamunrar| |hexchat|uses-nonfree|hexchat|Hard-codes the firefox command in some menus| |kio|uses-nonfree|kio<br>parabola<br>1066|has non-privacy search engines by default| |licenses|uses-nonfree|licenses|Remove non-free CC -NC and -ND licenses (also add WTFPL)| |midori|uses-nonfree|midori|has non-privacy search engines| |okular|semifree|okular<br>parabola<br>1067|has copy-protection anti-feature turn on by default| |openexr|semifree|openexr<br>parabola<br>374|includes embedded nonfree fonts in the documentation| |ruby|semifree|ruby<br>parabola<br>674|json module has nonfree CVTUTF code; replace with pure Ruby implementation| |sdl|semifree|sdl|contains a source file that doesn't mention modification| |signon-ui|uses-nonfree|signon-ui<br>parabola<br>2603|depends on qt5-webengine| |texlive-core|semifree|texlive-core|some nonfree packages| |texlive-fontsextra|semifree|texlive-fontsextra|some nonfree packages| |texlive-latexextra|semifree|texlive-latexextra|some nonfree packages| |unzip|semifree|unzip|contains a source file that doesn't mention modification| |xarchiver|uses-nonfree|xarchiver|recommends nonfree unrar| |xmms2|uses-nonfree|xmms2<br>parabola<br>841|depends and recommends nonfree mac installation| |xscreensaver|semifree|xscreensaver<br>parabola<br>131|dmsc.asm file don't have source code supplied|

It's right that these packages are non free/semi-free but parabola has a [libre] repo which fixes these issues and then distribute these packages. So they are not really proprietary anymore.

Another problem/bug I noticed when I installed the program from AUR and then ran it. The list of packages(the pretty tabular box) were empty every time though it'd show the number of "non-free" packages.

Use lists instead of files

from @abbidabbi:

why are you reading blacklist.txt again and again for each line of the contents of the installed.txt file? Does python cache filesystem I/O by default? It would look much clearer if you'd read the file just once:

with open('installed.txt') as installed:
for package in installed:
package = package.strip()
with open("blacklist.txt") as f:
for line in f:

And why are you writing the results of pacman -Qq and the blacklist content to files anyway? That could just be kept in memory...

Also, writing each line of matched proprietary packages separately to disgusting.txt doesn't look like a good idea and causes many unnecessary write operations:

f3.write(package + " > " + reason + "\n")

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.