Skip to content

Commit

Permalink
Drop OpenSUSE support
Browse files Browse the repository at this point in the history
  • Loading branch information
bwoodsend committed Jun 9, 2024
1 parent 159f736 commit 1248e8e
Show file tree
Hide file tree
Showing 44 changed files with 13 additions and 710 deletions.
1 change: 0 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ jobs:
- tests/test_manjaro.py
- tests/test_fedora.py
- tests/test_void.py
- tests/test_opensuse.py
- tests/test_debian.py
- tests/test_ubuntu.py
fail-fast: false
Expand Down
9 changes: 4 additions & 5 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -68,25 +68,24 @@ OpenSUSE Leap and all of the RedHat/CentOS-like distributions par Fedora ≥37.
This leaves rolling build distributions and fast releasing distributions with
low latency package repositories.

============= ============================================
============= ===========================================
Distributions Supported versions
============= ============================================
============= ===========================================
Alpine_ 3.17-3.20, edge
Arch_ rolling
Debian_ 13 (pre-release)
Fedora_ 37-40, 41 (rawhide)
Manjaro_ rolling
OpenSUSE_ Tumbleweed only (rolling)
O̶p̶e̶n̶S̶U̶S̶E Redacted due to too many upstream breakages
Ubuntu_ 23.04-24.04, 24.10 (pre-release)
Void_ rolling
============= ============================================
============= ===========================================

.. _Alpine: https://alpinelinux.org/
.. _Arch: https://archlinux.org/
.. _Debian: https://www.debian.org/
.. _Fedora: https://fedoraproject.org/
.. _Manjaro: https://manjaro.org/
.. _OpenSUSE: https://www.opensuse.org/
.. _Ubuntu: https://ubuntu.com/
.. _Void: https://voidlinux.org/

Expand Down
6 changes: 3 additions & 3 deletions docs/source/gpg.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@
GnuPG Signing
=============

Some distributions, namely Arch, Fedora, Manjaro and OpenSUSE, optionally use
GnuPG_ to sign their packages. Other distributions either use their own wrappers
around OpenSSL, for which the signing process is documented under :ref:`each
Some distributions, namely Arch, Fedora and Manjaro, optionally use GnuPG_ to
sign their packages. Other distributions either use their own wrappers around
OpenSSL, for which the signing process is documented under :ref:`each
distribution's quirks page <building for>`, or don't meaningfully support
signing.

Expand Down
1 change: 0 additions & 1 deletion docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
Debian <debian>
Fedora <fedora>
Manjaro <manjaro>
OpenSUSE <opensuse>
Ubuntu <ubuntu>
Void <void>

Expand Down
56 changes: 0 additions & 56 deletions docs/source/opensuse.rst

This file was deleted.

52 changes: 0 additions & 52 deletions docs/source/package-managers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -134,35 +134,6 @@ This reference should answer those questions.
dnf repoquery -l python3


.. tab:: OpenSUSE

::

# Install packages:
zypper install -y python3-numpy python3-pip

# Uninstall packages:
zypper remove -y python3-numpy python3-pip

# Search packages by name+description:
zypper search substring

# Search by file:
zypper search --match-exact --file-list /usr/bin/python3

# List all available packages:
zypper search

# List all installed packages:
zypper search --installed-only

# Show a package's metadata:
zypper info python310

# List a package's files:
# unsupported


.. tab:: Void

::
Expand Down Expand Up @@ -283,29 +254,6 @@ Working with local packages
rpm --query --requires package-1.2.3-1.fc38.noarch.rpm


.. tab:: OpenSUSE

OpenSUSE RPMs are a custom file format consisting of an embedded cpio archive
(containing the files) plus some added metadata. The embedded cpio can be
accessed via ``bsdcpio``. The metadata is untouchable without the distro
specific ``rpm`` command.

::

# Install local package
zypper install -y package-1.2.3-0.noarch.rpm

# List package's contents
bsdcpio -itF package-1.2.3-0.noarch.rpm

# Extract package's contents
bsdcpio -idF package-1.2.3-0.noarch.rpm

# Read package's metadata. Not possible with cross distribution tools.
rpm --query --info package-1.2.3-0.noarch.rpm
rpm --query --requires package-1.2.3-0.noarch.rpm


.. tab:: Void

Void packages are tarballs with `Zstandard
Expand Down
2 changes: 0 additions & 2 deletions docs/source/podman.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ Caveats
An explanation and fix can be found in `here
<https://stackoverflow.com/a/77354286>`_.

* Building for OpenSUSE doesn't work.

* On Debian/Ubuntu, the latest version of Podman_ available is too old for
`polycotylus`. Use the `Podman PPA
<https://podman.io/docs/installation#debian>`_ to get a usable version.
Expand Down
8 changes: 3 additions & 5 deletions docs/source/schema.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ dependencies:
#
# - ``pip``: Pip/PyPI packages.
# - ``python``: Python's optional stdlib dependencies (e.g. ``tkinter`` or ``sqlite3``) which may be packaged separately from Python itself for size, licensing or inexplicable reasons.
# - ``alpine|arch|debian|fedora|manjaro|opensuse|ubuntu|void``: Linux packages installed by each distribution's native package manager.
# - ``alpine|arch|debian|fedora|manjaro|ubuntu|void``: Linux packages installed by each distribution's native package manager.

run:
# Dependencies needed to run the application/package.
Expand All @@ -55,7 +55,6 @@ dependencies:
arch manjaro: ffmpeg xorg-xsetroot
debian ubuntu: ffmpeg
fedora: ffmpeg-free xsetroot
opensuse: ffmpeg xsetroot
void: ffmpeg xsetroot
# External command line tools or runtime libraries used by the
# application. Similar distributions with identical dependencies (e.g.
Expand All @@ -77,7 +76,6 @@ dependencies:
arch manjaro: gcc
debian ubuntu: gcc
fedora: python3-devel gcc
opensuse: gcc
void: python3-devel gcc
# System build dependencies: This is where packages containing compiled
# extension modules will need to add the appropriate compiler for your
Expand Down Expand Up @@ -201,8 +199,8 @@ dependency_name_map:
# package repositories but `polycotylus` can't find it because it's been named
# something that breaks the distribution's naming conventions, you can tell
# `polycotylus` what its real name is here. Note that this option does not
# exist for ``fedora`` or ``opensuse`` due to their handling the mapping using
# package *capabilities* rather than a naming pattern.
# exist for ``fedora`` due to its handling the mapping using package
# *capabilities* rather than a naming pattern.


# --------------------
Expand Down
2 changes: 0 additions & 2 deletions examples/ubrotli/polycotylus.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,12 @@ dependencies:
arch manjaro: brotli gcc
debian ubuntu: libbrotli-dev gcc
fedora: brotli-devel python3-devel gcc
opensuse: libbrotli-devel gcc
void: brotli-devel python3-devel gcc
run:
alpine: brotli-libs
arch manjaro: brotli
debian ubuntu: libbrotli1
fedora: libbrotli
opensuse: brotli
void: brotli
test:
pip: pytest
3 changes: 1 addition & 2 deletions polycotylus/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,10 @@ def machine():
from ._manjaro import Manjaro
from ._fedora import Fedora, Fedora37, Fedora38, Fedora39, Fedora40, Fedora41
from ._void import Void, VoidGlibc, VoidMusl
from ._opensuse import OpenSUSE
from ._debian import Debian, Debian13
from ._ubuntu import Ubuntu, Ubuntu2304, Ubuntu2310, Ubuntu2404, Ubuntu2410

distributions = {i.name: i for i in (Alpine, Arch, Debian, Fedora, Manjaro, OpenSUSE, Ubuntu, Void)}
distributions = {i.name: i for i in (Alpine, Arch, Debian, Fedora, Manjaro, Ubuntu, Void)}
distributions["alpine:3.17"] = Alpine317
distributions["alpine:3.18"] = Alpine318
distributions["alpine:3.19"] = Alpine319
Expand Down
5 changes: 2 additions & 3 deletions polycotylus/_completions/polycotylus.fish
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set -l distributions alpine arch debian fedora manjaro opensuse ubuntu void
set -l distributions alpine arch debian fedora manjaro ubuntu void
set -l alpine_variants alpine:3.17 alpine:3.18 alpine:3.19 alpine:3.20 alpine:edge
set -l debian_variants debian:13
set -l fedora_variants fedora:37 fedora:38 fedora:39 fedora:40 fedora:41
Expand All @@ -17,7 +17,6 @@ complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from arch"
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from debian" -a 'amd64 arm64 armel armhf i386 mips64el ppc64el riscv64 s390x'
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from fedora" -a 'x86_64 aarch64'
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from manjaro" -a 'x86_64 aarch64'
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from opensuse" -a 'x86_64 aarch64'
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from ubuntu" -a 'amd64 arm64 armhf ppc64el s390x'
complete -c polycotylus -x -l architecture -n "__fish_seen_subcommand_from void $void_variants" -a 'aarch64 armv6l armv7l x86_64'

Expand All @@ -29,7 +28,7 @@ complete -x -c polycotylus -n 'not __fish_seen_subcommand_from $all_variants &&
complete -x -c polycotylus -n 'not __fish_seen_subcommand_from $all_variants && string match -rq -- v (commandline -t)' -a "$void_variants"

# Suggest GPG signing only for distributions that use it or when no distribution is given.
complete -c polycotylus -x -l gpg-signing-id -n "not __fish_seen_subcommand_from $all_variants || __fish_seen_subcommand_from arch fedora $fedora_variants manjaro opensuse" -a '(type -q gpg && __fish_complete_gpg_key_id gpg --list-secret-keys)'
complete -c polycotylus -x -l gpg-signing-id -n "not __fish_seen_subcommand_from $all_variants || __fish_seen_subcommand_from arch fedora $fedora_variants manjaro" -a '(type -q gpg && __fish_complete_gpg_key_id gpg --list-secret-keys)'
# Likewise with VoidLinux signing certificates.
complete -c polycotylus -r -l void-signing-certificate -n "not __fish_seen_subcommand_from $all_variants || __fish_seen_subcommand_from void $void_variants"

Expand Down
14 changes: 0 additions & 14 deletions polycotylus/_mirror.py
Original file line number Diff line number Diff line change
Expand Up @@ -398,10 +398,6 @@ def _manjaro_preferred_mirror():
return url


def opensuse_last_sync_time(self: RequestHandler):
return float("inf")


class UbuntuRequestHandler(RequestHandler):
# Ubuntu's package repositories are split across multiple subnets. e.g.
# http://archive.ubuntu.com/ubuntu/ vs http://ports.ubuntu.com/ubuntu-ports/
Expand Down Expand Up @@ -453,16 +449,6 @@ def upstream_url(self):
port=8903,
install_command="if grep -q /arm-stable/ /etc/pacman.d/mirrorlist ; then echo 'Server = http://localhost:8903/arm-stable/$repo/$arch' > /etc/pacman.d/mirrorlist; else echo 'Server = http://localhost:8903/stable/$repo/$arch' > /etc/pacman.d/mirrorlist; fi; sed -i 's/#Color/Color/' /etc/pacman.conf",
)
mirrors["opensuse"] = CachedMirror(
"http://download.opensuse.org",
cache_root / "opensuse",
["repomd.xml", "repomd.xml.key", "repomd.xml.asc"],
[],
8904,
"sed -r -i 's|http://download.opensuse.org/|http://localhost:8904/|g' /etc/zypp/repos.d/*",
(opensuse_last_sync_time,),
r"(.+-)([^-]+-[^-]+)(\.\w+\.rpm)",
)
mirrors["debian13"] = CachedMirror(
"http://deb.debian.org/",
cache_root / "debian13",
Expand Down
Loading

0 comments on commit 1248e8e

Please sign in to comment.