Project

General

Profile

Freedom Issue #2890

[octopi:]: various issues

bill-auger - over 3 years ago - . Updated 6 months ago.

Status:
confirmed
Priority:
freedom issue
Assignee:
-
% Done:

50%


Description

the most recent octopi package introduced a PKGBUILD with many policy issues, and a loss of important functionality (probably the most desired functionality of this package - the notifier applet)

i started looking at this package because for some reason, the new package ended up in libre; so it did not replace the existing PCR package - im not sure how that happened, but i fixed that - this is an important package for the GUI LiveISOs, so i wanted to check it out thoroughly - once i started looking at the PKGBUILD, i found so many "nit-picky" things which bothered me, that i am opening this ticket to list them all - most of these notes are non-functional housekeeping issues; but we should correct them

there are multiple policy issues with the AUR PKGBUILD

  • GUIDELINE: "Do not add $pkgname to PKGBUILD#provides, as it is always implicitely provided by the package."
    - provides=('octopi' 'octopi-repoeditor' 'octopi-cachecleaner')
    - conflicts=('octopi') # <- conflicts with itself?
  • GUIDELINE: "add a comment ... which contains information about the ... previous contributors"
    - acknowledgments of all previous contributors were deleted
  • GUIDELINE: "under /usr/share/licenses/common/. If a package is licensed under one of these licenses, the value should be set to the directory name, e.g. ... (L)GPL — (L)GPLv2 or any later version
    - this program is GPLv2 or any later version - the license=('GPL2') should be 'GPL'
  • GUIDELINE: "Do not create duplicate packages."
    - duplicate packages in [libre] and [pcr]
  • GUIDELINE: "Suffix pkgname with ... -git etc. unless the package fetches a specific release."
    - the PKGBUILD violates two different packaging guidelines on this issue
    - it builds from an arbitrary git commit, not the versioned upstream release (as it did for previous versions)
    - an 'octopi-git' PKGBUILD already existed, when this change was done, and it still does - that one is on the AUR maintainer though, not our problem; because parabola avoids -git packages

i understand the value of keeping the diff small; but we should not keep parts which are unnecessary or incorrect, even if it were an arch package - if housekeeping changes make the diff too messy, then someone should contact the maintainer to try getting the corrections upstreamed

lost functionality:

  • does not install a .desktop file for the octopi-repoeditor program
  • does not build the octopi-notifier program
    - this is needed for the liveISOs
    - thats fine for now; but it needs to be be fixed before new GUI ISOs are made
    - the upstream documentation says that the notifier program asks to install AUR helpers - AFAIK, previous versions did not suggest that - this needs investigating and possibly patching

problems that it had before, and still does now:

  • the license=('GPL2') should be 'GPL'
  • does not install the pacman install hook: octopi.install
    - this is included in the upstream sources to seed the database upon install; but it looks like parabola never installed it
    - the systemd service file which the install hook would enable, does get installed however - unfortunately the user would most likely never know that it exists, without an .install hook, or a wiki article to suggest starting the service
    - thats fine for now, because the install hook is systemd-specific; but it could (maybe even should) be fixed, and an openrc service file be made
  • the ", without nonfree AUR things" appendage to pkgdesc is not needed for PCR packages - i specify those technical differences only for nonprism and nonsystemd packages
    - that distinction would make perfect sense if this were a libre replacement for a non-FSDG arch package; but the parabola 'octopi' package is neither - i dont think we need to specify those technical differences for libre replacements either
    - libre replacements should have an associated freedom bug report for future reference and comments, and a "parabola changes and rationale:" comment in the PKGBUILD; but PCR packages usually have neither - IMHO, that is the proper place to mention changes

problems that it did not have before, that it does now:

  • it has both a pkgbase and pkgname, with the identical names, and is not a split package
    - pkgbase is completely useless and meaningless for this PKGBULD
  • has unsatisfiable optdepends=('octopi-notifier-qt5' 'octopi-notifier-frameworks')
    - these can both be built from the same sources as octpoi; but as noted above, neither are built
    - at least one of these should be built for parabola
    - they are apparently mutually exclusive; so if they both are needed, 'octpoi' should be made into a split package again
  • builds from an arbitrary git commit, rather than the versioned release tag
    - when this is done, the package name should end with -git
    - parabola PKGBUILDs should use versioned releases, for every upstream which has versioned releases
  • provides 'octopi' (although nothing else does) and conflicts with 'octopi' (which is only itself)
    - its not clear what this was intended to accomplish; but the arch packaging guidelines prohibit it explicitly
    - it also provides 'octopi-repoeditor' and 'octopi-cachecleaner', which no other parabola or AUR package requires
    - there once were separate packages for 'octopi-cachecleaner', and 'octopi-repoeditor' - that was over two years ago - those package names are meaningless to parabola now
  • the AUR maintainer added i686 to the arch=() array - the diff could be minimized by adjusting it
    - the AUR PKGBUILD:
    arch=('i686' 'x86_64')
    - the parabola PKGBUILD:
    arch=('x86_64')
    arch+=('i686' 'armv7h')

there are several thing about the list of contributors, which bother me - i may write to the mailing list for discussion about that instead; because they apply to all PKGBUILD genrally


Subtasks

Bug #2916: [filesystem]: missing symlink /etc/os-release --> ../usr/lib/os-releasenot-a-bugbill-auger

Actions
Bug #3536: Octopi fails to startconfirmed

Actions

History

#1

Updated by bill-auger over 3 years ago

problem number the_next:

the news feed feature gives the arch news feed - although parabola is a supported distro in the source code - it appears to be a bug

#2

Updated by bill-auger over 3 years ago

  • Priority changed from wish to freedom issue
  • Status changed from open to confirmed
  • Tracker changed from Housekeeping to Freedom Issue

from the README:

You'll need to install pacaur, pikaur, trizen, or yay in your system.
If neither of the previous tools are found Octopi will download latest "yay-bin" github binary.

from the FAQs:

Octopi supports pacaur, pikaur, trizen and yay out of the box!
whenever you click on the green alien icon on the toolbar,
the program will ask if you want to install an AUR helper, which by default will be yay-bin

yep, it does that too

source.sh::download_sources() netfile=https://github.com/Jguer/yay/releases/download/v10.1.0/yay_10.1.0_x86_64.tar.gz

before that, it firstly downloads a 'yay' binary to ~.config/octopi/, in order to bootstrap the creation of the 'yay-bin' package

Downloading temporary "yay-bin"...
Temporary "yay-bin" downloaded.

escalating to 'freedom-issue'

#3

Updated by bill-auger over 3 years ago

UPDATE: i found the problem WRT the news feed - for some reason, the 'filesystem' package no longer installs /etc/os-release (BR #2916)

#4

Updated by bill-auger almost 2 years ago

update: the notifier works now; and the latest PKGBUILD looks somewhat better - at least the license is 'GPL' now, and it no longer conflicts with itself - this ticket should be fully reviewed

#5

Updated by bill-auger 6 months ago

  • Description updated (diff)

Also available in: Atom PDF