summaryrefslogtreecommitdiff
path: root/SYNTAX
blob: 9fccebc99eba0802770e58b46f4411da7fbe811c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
The *blacklist.txt files consist of lines in the following format:

    original-package![libre-replacement]![ref]![ref-id]!reason-tag!short-description

where field values within [] are optional.


Fields Semantics:

* 'original-package' is the name of the binary package from Arch


* 'libre-replacement' is the name of the binary package that provides
  and replaces the 'original-package', or empty if there is no
  compatible replacement. The replacement must be compatible for use
  by humans and scripts, e.g. fastjar is not a replacement for zip
  although both solve the same problem. Packages in
  your-freedom_emu-blacklist.txt are not meant to have a replacement.


* 'ref' is one of the keys in the first column in following table:

    debian   : http://bugs.debian.org/
    fedora   : https://bugzilla.redhat.com/show_bug.cgi?id=
    fsf      : http://libreplanet.org/wiki/List_of_software_that_does_not_respect_the_Free_System_Distribution_Guidelines#
    parabola : https://labs.parabola.nu/issues/
    savannah : https://savannah.nongnu.org/bugs/?

  The URL in the second column in above table, when concatenated with
  the value of the 'ref-id' field should form a valid URL pointing to an issue
  reporting/describing the reason for the package being blacklisted.

  We should prefer FSF refs, since they are easily available for other
  distros.  Hopefully some lines will move from parabola:X to fsf:Y with
  the LibrePlanet wiki linking to the X issue on labs.parabola.nu.

  NOTE: An empty 'ref' field is deprecated, and should become an error eventually.


* 'ref-id' refers to a reported bug on the tracker indicated in the 'ref' column
  The URL in the second column in 'ref' table, when concatenated with
  the value of this 'ref-id' field should form a valid URL pointing to an issue
  reporting/describing the reason for the package being blacklisted.

  NOTE: An empty 'ref-id' field is deprecated, and should become an error eventually.


* 'reason-tag' broadly categorizes the reason why the 'original-package' is blacklisted.
  The primary use for these, is to identify issues that are relevant to all FSDG distros,
  and may deserve discussion on the gnu-linux-libre mailing list. Other tags indicate
  subtle problems introduced by Arch (e.g. not including required license text, adding
  an avoidable dependency on a non-free package), or just branding or technical issues
  which are peculiar to Parabola (e.g. carrying a custom pacman).
  The acceptable reason tags are:

    [nonfree]·······This package is completely non-free software; and can not be
                    liberated due to licensing, or lack of source code.

    [semifree]······This package is mostly free, but contains some non-free software,
                    fonts, artwork, or documentation; and is a candidate for a
                    liberation recipe.

    [uses-nonfree]··This package requires, recommends, or otherwise integrates, indexes,
                    or actively assists with downloading other non-free software.

    [branding]······This package has branding items which needs adjusted for some reason
                    (e.g. it refers to "Arch" instead of "Parabola" in ways that could be
                    inappropriate for a derivative to present as it's own, refers to the
                    "Linux" operating system rather than "GNU/Linux", or has conditions
                    on the use of it's trademarks; which parabola can not meet).

    [technical]·····This package cannot be imported from Arch because of
                    technical reasons, rather than freedom reasons; but
                    NOT related to freedom of privacy issues in the
                    package.  This usually comes down to two things: it
                    must be recompiled against our version of a dependency
                    package, or it must be compiled from source, as we are
                    stricter about that than Arch is.

                    If this tag is present, then the 'libre-replacement'
                    column should always match the 'original-package' column.

    [FIXME-package] This package has a free replacement, or could be built
                    in a way that is acceptable, but no one has done so yet.
                    NOTE: This tag is deprecated.
                          All entries should have a libre replacement, if possible.

    [FIXME-description] Someone needs to provide a brief descriptive text.
                        NOTE: This tag is deprecated.
                              All entries should have a short-description.

  NOTE: An empty 'reason-tag' field is deprecated, and should become an error eventually.


* 'short-description' breifly explains why the package is blacklisted.

  NOTE: An empty 'short-description' field is deprecated,
        and should become an error eventually.