Project

General

Profile

Freedom Issue #2695

Freedom Issue #972: TeXLive freedom verification

Re-evaluate texlive-bin

theova - over 1 year ago - . Updated about 1 month 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year 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 over 1 year ago

  • Status changed from confirmed to fixed
#7

Updated by theova over 1 year 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 about 1 month 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 about 1 month ago

  • Status changed from fixed to in progress
#10

Updated by oaken-source about 1 month 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.

Also available in: Atom PDF