Project

General

Profile

Freedom Issue #2695

Freedom Issue #972: TeXLive freedom verification

Re-evaluate texlive-bin

theova - about 4 years ago - . Updated about 2 years ago.

Status:
in progress
Priority:
freedom issue
Assignee:
% Done:

0%


Description

texlive-bin is in Parabola. I've looked at it and found the following:
blacklist.txt:

texlive-bin:texlive-bin:::[branding] [semifree] rebranding due to other TeXLive changes

PKGBUILD:

parabola changes and rationale:
- rebranded to parabola
- versioned dependencies to mitigate breakage from Arch's .so bumps
- disable xindy on armv7h

Only the first point seems to be a freedom issue. Xindy is disabled on Archlinux ARM as well [1].
When comparing Arch's PKGBUILD and Parabola's PKGBUILD, it seems like the following line addresses the freedom issue:

     --with-banner-add="/Parabola GNU/Linux-libre" \

whereas Arch has
     --with-banner-add="/Arch Linux" \

I'm wondering whether
  • that are all the changes made?
  • this is really needed from a freedom point of view?

[1]: https://archlinuxarm.org/packages/armv7h/texlive-bin/files/PKGBUILD

History

#1

Updated by oaken-source about 4 years ago

This has come up a couple of times in the past, and I've been in contact with a couple of the texlive maintainers over the question whether texlive has freedom issues or not. Unfortunately, as is often the case with these things, no clear conclusion could be reached.

This is less prevalent in texlive-bin, but more so in texlive-core, where we drop a metric bunch of of things from the package, making our distribution of texlive a bit whacky.

The rebranding we do in texlive-bin is nice to have, but may be not strictly required. on the other hand, the diff to the arch package is a bit larger than just the distribution title, so there's more things to be evaluated there to reach a conclusion.

All of this reminds me that our texlive is currently a bit out of date. more work to do..

#2

Updated by theova about 4 years ago

  • Status changed from unconfirmed to confirmed

oaken-source wrote:

All of this reminds me that our texlive is currently a bit out of date. more work to do..

Exactly. I would like to help to clean it up!

Let's have a closer look. Here is the diff between two comparable PKGBUILDs (Parabola's current version and this PKGBUILD from Arch :

1,12c1,2
< # Maintainer (Arch): Rémy Oudompheng <remy@archlinux.org>
< # Contributor (Arch): francois <francois.archlinux.org>
< # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
< # Contributor: André Silva <emulatorman@hyperbola.info>
< # Contributor: Michał Masłowski <mtjm@mtjm.eu>
< # Contributor: Isaac David <isacdaavid(at)isacdaavid!info>
< # Contributor: Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.org>
<
< # parabola changes and rationale:
< #  - rebranded to parabola
< #  - versioned dependencies to mitigate breakage from Arch's .so bumps
< #  - diable xindy on armv7h
---
> # Maintainer: Rémy Oudompheng <remy@archlinux.org>
> # Contributor: francois <francois.archlinux.org>
17d6
< pkgrel+=.par2
20d8
< arch+=('i686' 'armv7h')
24,26c12
<          'perl')
< makedepends_x86_64=('clisp' 'ffcall')
< makedepends_i686=('clisp' 'ffcall')
---
>          'perl' 'clisp' 'ffcall')
56,61d41
<    local config_extra=()
<    case "$CARCH" in
<      x86_64|i686) config_extra+=(--enable-xindy) ;;
<      armv7h) config_extra+=(--disable-xindy --disable-cxx-runtime-hack) ;;
<    esac
<
75c55
<      --with-banner-add="/Parabola GNU/Linux-libre" \
---
>      --with-banner-add="/Arch Linux" \
109,110c89
<      --disable-xindy-rules --disable-xindy-docs \
<      ${config_extra}
---
>      --enable-xindy --disable-xindy-rules --disable-xindy-docs
130d108
<    pkgdesc+=" (Parabola rebranded)" 
140,146d117
<   local _icu_ver
<   _icu_ver=$(pacman -S --print-format='%v' icu)
<   depends+=("icu>=${_icu_ver}" "icu<$((${_icu_ver%%.*} + 1))")
<   local _poppler_ver
<   _poppler_ver=$(pacman -S --print-format='%v' poppler)
<   depends+=("poppler=${_poppler_ver}")
<
356,358d326
<    if [ "$CARCH" = "armv7h" ]; then
<      _core_scripts="$(echo "$_core_scripts" | sed '/xindy$/d')" 
<    fi

As I can see it, Parabola does the following:
  1. Adding Parabola specific information (Maintainer, pkgrel, ...)
  2. Adding i686, armv7h and split dependencies for different architectures
    • Both Archlinux 32 and Archlinux Arm package texlive-bin
  3. Remove xindy for armv7h
    • Archlinux Arm doues this as well.
  4. Add flags --disable-xindy-rules --disable-xindy-docs
    • AFAIK xindy is free software (licensed under GPL 2 (some parts GPL 2 or later). See [1] and in the README [2]). So I don't now why this is done. Maybe it's an artifact?
  5. Add Flag --with-banner-add="/Parabola GNU/Linux-libre"
    • "This isn’t technically required, but is strongly recommended, so your build and your distro can be distinguished from others." [3] This will produce something like "This is pdfTeX, Version 3.14159265-2.6-1.40.20 (TeX Live 2019/Parabola GNU/Linux-libre) (preloaded format=pdflatex 2020.2.4) 18 FEB 2020 11:18" in the log file of a latex compilation.
  6. Add icu version
    • I assume this is done to migitate version problems and that the problems would be resolved by using the upstream package.

Again, only point 5 seems to be related to a freedom issue. The others should be obsolete when using the upstream package. Please correct me, if I am wrong.

[1]: https://www.ctan.org/pkg/xindy
[2]: https://sourceforge.net/projects/xindy/
[3]: https://www.tug.org/texlive/doc/tlbuild.html#Building

#3

Updated by oaken-source about 4 years ago

your assessment is correct, I think. However, addressing your point 5 requires us to also do points 1, 2, 3 and 6. 4 needs investigation. I think these lines originate from the arm upstream pkgbuild.

#4

Updated by theova about 4 years ago

Oh, point 4is not a real difference at all:
While Arch has

--enable-xindy --disable-xindy-rules --disable-xindy-docs

, Parabola has
   local config_extra=()
   case "$CARCH" in
     x86_64|i686) config_extra+=(--enable-xindy) ;;
     armv7h) config_extra+=(--disable-xindy --disable-cxx-runtime-hack) ;;
   esac

....

     --disable-xindy-rules --disable-xindy-docs \
     ${config_extra}

so point 4 is just another part of point 3 (remove xindy for arm).

To summarize, only point 5 is freedom issue, the others are direct consequences of adopting the PKGBUILD.

#5

Updated by oaken-source about 4 years ago

  • Assignee set to oaken-source

correct. I'm closing this issue, and I will reference it in the blacklist entry for texlive-bin, as it's a pretty good summary of the rationale here.

#6

Updated by oaken-source about 4 years ago

  • Status changed from confirmed to fixed
#7

Updated by theova about 4 years ago

Wait. This would lead us to the discussion, whether the change of the banner requires/justifies modifying the PKGBUILD.
Especially just figuring out what the actual changes are took me some (unnecessary) time. (well, now it is documented ;-))

#8

Updated by bill-auger over 2 years ago

$ grep texlive-bin /usr/share/doc/your-freedom/blacklist.txt
texlive-bin:texlive-bin:parabola:2695:[branding] [semifree] rebranding due to other TeXLive changes

what was decided? - shall we continue to re-package this, only to re-brand it - it appears that we are not "rebranding due to other TeXLive changes" - as theova points out, the other changes are not necessary, but a consequence of adopting the package

i tend to agree with theova, that it is probably not necessary - aside from the workload, this package is enormous - the each arch-specific src.tar.gz is 500MB

#9

Updated by oaken-source over 2 years ago

  • Status changed from fixed to in progress
#10

Updated by oaken-source over 2 years ago

I think we have mixed policies regarding whether to rebrand arch-branded software to parabola or not. I don't recall whether there was a clear guideline to do either or the other. Maybe this is worth a separate issue to discuss that we can reference whenever this comes up again? Because I think there's a handful of packages where this discussion needs to happen.

#11

Updated by theova over 2 years ago

What is the process to resolve such a question?

I see that there is slight tendency towards accepting the arch package. However I don't see objections/arguments against it. (Please correct me, if I'm wrong)

#12

Updated by gap about 2 years ago

I think rebranding is necessary for at least the following reasons:
- to avoid misleading people into thinking Parabola somehow endorses Arch,
- to avoid steering people towards Arch, and
- to avoid repeating the "Arch Linux" mistake, which itself has two sub-issues:
-- the correct full name is "Arch GNU+Linux", and
-- Linux is nonfree; it has been blobbed since '96.

It's unfortunate the maintenance overhead is high for a relatively trivial yet important change, but what else can be done?
I doubt patching precompiled Arch packages is faesible.

#13

Updated by oaken-source about 2 years ago

none of these points, by themselves, are sufficient to require a re-package of texlive-bin by parabola.

these are things we fix on the side when addressing real freedom issues, such as non-free packaged code or assets.

Also available in: Atom PDF