Housekeeping #2890

[octopi:]: various issues

bill-auger - 25 days ago - .

% Done:



the most recent octopi package, introduced a low-quality PKGBUILD, and a loss of important functionality (probably the most desired functionality of this package)

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-functinal 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"
    - acknowlegements 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."
  • 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

i understand the value of keeping the diff small; but we should not keep parts which are unnecceray or incorrect, even if it were an arch package - if housekeeping changes make the diff too messy, then someone should contact the maintainer, and 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
    - again, 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
  • the ", without nonfree AUR things" appendage to pkgdesc is not needed for PCR packages
    - that distinction would make perfect sense if this were another AUR PKGBULD, or if this were a libre replacement for a non-FSDG arch package; but the parabola 'octopi' package is neither
    - whenever a pkgdesc is appended in that way, it should indicate a libre replacement on the blacklist; because it raises questions as to why that modification was made
    - 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
    - a package in PCR does not need special explanation to document the rationale why it was modified; because it was not modified - it does not need to distinguish it from a corresponding non-FSDG package, because no non-FSDG package exists

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+=('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

Also available in: Atom PDF