Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

rdiff-backup --version from Ubuntu PPA show DEV #305

Closed
ikus060 opened this issue Mar 19, 2020 · 34 comments · Fixed by #417 or #421
Closed

rdiff-backup --version from Ubuntu PPA show DEV #305

ikus060 opened this issue Mar 19, 2020 · 34 comments · Fixed by #417 or #421
Assignees
Labels
bug installation Issue about installing or upgrading

Comments

@ikus060
Copy link
Contributor

ikus060 commented Mar 19, 2020

Want to report a problem. I didn't check what wrong with the build.

docker run -it --rm ubuntu
apt update && apt install software-properties-common
add-apt-repository ppa:rdiff-backup/rdiff-backup-development
apt update
apt install rdiff-backup
rdiff-backup --version

Shows rdiff-backup DEV

@ikus060 ikus060 added the bug label Mar 19, 2020
@ikus060 ikus060 changed the title rdiff-backup --version from Ubuntu PPA show DEV rdiff-backup --version from Ubuntu PPA show DEV Mar 19, 2020
@ottok
Copy link
Contributor

ottok commented Apr 2, 2020

The PPA is not intended for production use. Install rdiff-backup 2.0 from the official repositories for that.

The PPA is only for development use and testing, so having it DEV is kind of the correct thing.

@ericzolf
Copy link
Member

ericzolf commented Apr 2, 2020

I don't agree with this statement: it would mean that users might report a "DEV" version, which isn't helpful to understand which version they might have been actually using as they got a problem.

@ikus060
Copy link
Contributor Author

ikus060 commented Apr 2, 2020

Something that might help to fix the DEV problem.
SETUPTOOLS_SCM_PRETEND_VERSION

I'm using this environment variable to force the version for dpkg-buildpackage

@ikus060
Copy link
Contributor Author

ikus060 commented Apr 2, 2020

Adding something like export SETUPTOOLS_SCM_PRETEND_VERSION=$(shell python3 setup.py --version) to rules is working for me...

@ottok
Copy link
Contributor

ottok commented Apr 18, 2020

The bug report was missing the crucial line. This is the current output of rdiff-backup when installed from a PPA as the steps in above outlined:

# rdiff-backup --version
rdiff-backup 2.0.1.dev9+ga3d4677.ubuntu19.10.1

This seems absolutely correct to me. Users of the PPA are running a development version and --version tells them which it is so they can add the exact version to bug reports.

However, when it is installed from the official Ubuntu repositories where we have a production 2.0.0 release, it says:

# rdiff-backup --version
rdiff-backup DEV

This is not good..

@ottok
Copy link
Contributor

ottok commented Apr 18, 2020

I can't find where this VER string comes from anyway, not in the build Python package at least..

rdiff-backup$ grep -rF VER *
usr/lib/python3/dist-packages/rdiff_backup/log.py:            os.getenv('RDIFF_BACKUP_VERBOSITY', '3'))
usr/lib/python3/dist-packages/rdiff_backup/log.py:                role = "SERVER"

I tested @ikus060 tip, but it did not work:

commit 7c94e01617de599fe35659e83b4efcd8d22e1e2a (HEAD -> dev-otto)
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Apr 18 14:38:58 2020 +0300

    WIP: Fix https://github.com/rdiff-backup/rdiff-backup/issues/305

diff --git a/debian/rules b/debian/rules
index 14680c3..761e0a0 100755
--- a/debian/rules
+++ b/debian/rules
@@ -1,4 +1,6 @@
 #!/usr/bin/make -f
 
+export SETUPTOOLS_SCM_PRETEND_VERSION=$(shell python3 setup.py --version)
+
 %:
        dh $@ --buildsystem=pybuild --with python3

.deb build:

gbp:info: Creating /tmp/build/rdiff-backup_2.0.0.orig.tar.gz
gbp:info: Performing the build
 dpkg-buildpackage -us -uc -ui -i -I
dpkg-buildpackage: info: source package rdiff-backup
dpkg-buildpackage: info: source version 2.0.0-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Otto Kekäläinen <otto@debian.org>
 dpkg-source -i -I --before-build .
dpkg-buildpackage: info: host architecture amd64
 fakeroot debian/rules clean
dh clean --buildsystem=pybuild --with python3
/usr/lib/python3/dist-packages/setuptools_scm/version.py:92: UserWarning: tag 'debian/2.0.0-1' no version found
  warnings.warn("tag %r no version found" % (tag,))
Traceback (most recent call last):
  File "setup.py", line 225, in <module>
    setup_requires=['setuptools_scm'],
  File "/usr/local/lib/python3.7/dist-packages/setuptools/__init__.py", line 145, in setup
    return distutils.core.setup(**attrs)
  File "/usr/lib/python3.7/distutils/core.py", line 108, in setup
    _setup_distribution = dist = klass(attrs)
  File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 448, in __init__
    k: v for k, v in attrs.items()
  File "/usr/lib/python3.7/distutils/dist.py", line 292, in __init__
    self.finalize_options()
  File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 740, in finalize_options
    ep.load()(self)
  File "/usr/local/lib/python3.7/dist-packages/setuptools/dist.py", line 747, in _finalize_setup_keywords
    ep.load()(self, ep.name, value)
  File "/usr/lib/python3/dist-packages/setuptools_scm/integration.py", line 17, in version_keyword
    dist.metadata.version = get_version(**value)
  File "/usr/lib/python3/dist-packages/setuptools_scm/__init__.py", line 150, in get_version
    parsed_version = _do_parse(config)
  File "/usr/lib/python3/dist-packages/setuptools_scm/__init__.py", line 98, in _do_parse
    version = _version_from_entrypoints(config) or _version_from_entrypoints(
  File "/usr/lib/python3/dist-packages/setuptools_scm/__init__.py", line 58, in _version_from_entrypoints
    version = _call_entrypoint_fn(root, config, ep.load())
  File "/usr/lib/python3/dist-packages/setuptools_scm/__init__.py", line 39, in _call_entrypoint_fn
    return fn(root, config=config)
  File "/usr/lib/python3/dist-packages/setuptools_scm/git.py", line 135, in parse
    branch=branch,
  File "/usr/lib/python3/dist-packages/setuptools_scm/version.py", line 204, in meta
    assert parsed_version is not None, "cant parse version %s" % tag
AssertionError: cant parse version debian/2.0.0-1

@ericzolf
Copy link
Member

To answer your question, @ottok , the version DEV (and not VER 😜), comes from src/rdiff_backup/Globals.py.

Sorry for the late thought but I can't imagine that we're the first using setuptools_scm to version our software. Isn't it possible to identify Debian packages having python[3]-setuptools-scm as build dependency and see how they solve this issue?

In this particular case, the issue is the tag debian/2.0.0-1 which indeed can't be parsed by scm. If the tag is given, it's a bit ugly but you could try something like:

export SETUPTOOLS_SCM_PRETEND_VERSION=$(shell python3 setup.py --version | sed -e 's#debian/##' -e 's/-[0-9]*$//')

(perhaps replacing debian/ with v is better and/or have a more generic clean-up of the end of the tag, but you got the idea)

Hope this helps.

@ottok
Copy link
Contributor

ottok commented Apr 21, 2020

@ericzolf
Copy link
Member

I looked into it:

  • python-dateutil uses setuptools-scm in a different way (which I tried also), i.e. they save the version at build time to an included python module. I don't think this is comparable.
  • python-jsonschema looks more like us, they have only use_scm_version=True like us, even if they use setup.cfg and we don't.
  • python-xlib has the version saved all over the place in PKG-INFO in different places, so I don't have the impression that it's comparable.

OK, back to jsonschema:

  • at 2nd glance, I don't see any place where they'd stored their version...
  • I can see that they tag each version twice, once like us, once with the debian/version tag.
  • I see also an UPSTREAM_GIT := ... in the rules file

If I compare with https://salsa.debian.org/python-team/applications/rdiff-backup/ the tagging difference is what appears to me most relevant. If this doesn't help, the next step would be to contact the package maintainer(s) and ask them if they know how they've solved the issue.

@ottok
Copy link
Contributor

ottok commented Apr 27, 2020 via email

@ottok
Copy link
Contributor

ottok commented Apr 27, 2020

Another avenue could be loading /usr/share/dpkg/pkg-info.mk and using DEB_VERSION_UPSTREAM and DEB_VERSION

@ericzolf ericzolf added the installation Issue about installing or upgrading label May 7, 2020
@ottok
Copy link
Contributor

ottok commented Jun 7, 2020

I wrote a custom autopkgtest in Debian for this to catch it:

if rdiff-backup --version | grep -q 'DEV'
then
  echo "Error: Version is 'DEV'"
  exit 1
else
  echo "Version test passed"
fi

And tested various methods, such as:

include /usr/share/dpkg/pkg-info.mk

export SETUPTOOLS_SCM_PRETEND_VERSION = $(DEB_VERSION_UPSTREAM)

%:
	dh $@ --buildsystem pybuild --with python3

..but they all failed:
image

Dev branch at https://salsa.debian.org/python-team/applications/rdiff-backup/-/commits/dev-otto

Do you @ericzolf have ideas on how to inject the version to the build as it does not seem to use SETUPTOOLS_SCM_PRETEND_VERSION as it should?

@ericzolf
Copy link
Member

We had the same issue for the Windows build until we built the wheel and packed the generated file with --add-data=src/rdiff_backup.egg-info/PKG-INFO\;rdiff_backup.egg-info into the PyInstaller package.

I installed the wheel locally for my tests and the package metadata is under:
/usr/local/lib64/python3.8/site-packages/rdiff_backup-$VERSION.dist-info/{COPYING INSTALLER METADATA RECORD top_level.txt WHEEL} (METADATA is the most important, probably).

And I see that Frank packaged his stuff with those files:

/usr/lib64/python3.8/site-packages/rdiff_backup
/usr/lib64/python3.8/site-packages/rdiff_backup-2.0.3-py3.8.egg-info
/usr/lib64/python3.8/site-packages/rdiff_backup-2.0.3-py3.8.egg-info/PKG-INFO
/usr/lib64/python3.8/site-packages/rdiff_backup-2.0.3-py3.8.egg-info/SOURCES.txt
/usr/lib64/python3.8/site-packages/rdiff_backup-2.0.3-py3.8.egg-info/dependency_links.txt
/usr/lib64/python3.8/site-packages/rdiff_backup-2.0.3-py3.8.egg-info/top_level.txt

Perhaps you only need to package the metadata files?

@ottok
Copy link
Contributor

ottok commented Jun 12, 2020

The Debian build produces these:

./debian/rdiff-backup/usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info
./debian/rdiff-backup/usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/PKG-INFO
./debian/rdiff-backup/usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/dependency_links.txt
./debian/rdiff-backup/usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/top_level.txt

They are also included in the package like all other files generated by the build:

$ cat filelist-53aed6c-debian.master.log
rdiff-backup
drwxr-xr-x root/root ./  
drwxr-xr-x root/root ./usr/  
drwxr-xr-x root/root ./usr/bin/  
-rwxr-xr-x root/root ./usr/bin/rdiff-backup  
-rwxr-xr-x root/root ./usr/bin/rdiff-backup-delete  
-rwxr-xr-x root/root ./usr/bin/rdiff-backup-statistics  
drwxr-xr-x root/root ./usr/lib/  
drwxr-xr-x root/root ./usr/lib/python3/  
drwxr-xr-x root/root ./usr/lib/python3/dist-packages/  
drwxr-xr-x root/root ./usr/lib/python3/dist-packages/rdiff_backup/  
drwxr-xr-x root/root ./usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/dependency_links.txt  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/PKG-INFO  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/top_level.txt  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/backup.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/C.cpython-38-x86_64-linux-gnu.so  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/compare.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/connection.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/eas_acls.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/FilenameMapping.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/fs_abilities.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/Globals.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/Hardlink.py  
-rw-r--r-- root/root ./usr/lib/python3/dist-packages/rdiff_backup/hash.py  
...

into the PyInstaller package

I don't under stand this, maybe I am missing some context?

@elMor3no Do you have experience with Python packages, could you try to solve this?

@ericzolf
Copy link
Member

What is the content of the egg files, especially PKG-INFO?

@ericzolf
Copy link
Member

If you want, I can try to reproduce the build on my system and see if I stumble upon something, but I would need few instructions to start with: which Debian, which Git repo/branch and which command to call (my Debian packaging days are far away).

@telsin
Copy link

telsin commented Jun 20, 2020

I'm seeing this on some Centos systems as well, is it possible it's coming from something on those systems at runtime or on install? Both of these two are using the EPEL packages:

[telsin@host0 ~]$ rpm -qa | grep rdiff-backup
rdiff-backup-2.0.3-1.el7.x86_64
[telsin@host0 ~]$ rdiff-backup -V
rdiff-backup 2.0.3
[telsin@host0 ~]$ cat /etc/centos-release
CentOS Linux release 7.8.2003 (Core)

[telsin@host0ch1 ~]$ rdiff-backup -V
rdiff-backup DEV
[telsin@host0ch1 ~]$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
[telsin@host0ch1 ~]$ rpm -qa | grep rdiff-backup
rdiff-backup-2.0.3-1.el7.x86_64

@frankcrawford
Copy link
Contributor

@telsin can you also ensure you are running the version of rdiff-backup that comes from the RPM, by doing which rdiff-backup and rpm -V rdiff-backup
The version number is included during the build of the RPM, and hence should be the same in all installations from the RPM.

@ottok
Copy link
Contributor

ottok commented Jun 28, 2020

What is the content of the egg files, especially PKG-INFO?

cat ./debian/rdiff-backup/usr/lib/python3/dist-packages/rdiff_backup-2.0.3.egg-info/PKG-INFO
Metadata-Version: 1.2
Name: rdiff-backup
Version: 2.0.3

The problem here is that the version that rdiff-backup -V prints is based on the SETUPTOOLS_SCM and since the Linux distros don't ship git repositories but use sources from tarballs the SETUPTOOLS_SCM can't get a version number. We need to somehow fake it to SETUPTOOLS_SCM. I've done my attempts in https://salsa.debian.org/python-team/applications/rdiff-backup/-/tree/dev-otto but I can't get it working. If somebody wants to play around, just clone that repo and on a Debian system (e.g. in a Debian container or virtual machine with that directory mounted) run gbp buildpackage.

I was afraid we end up with something like this when we discussed the SCM->version thing back in #66 (comment). There was also some discussion in #152 on what the fall-back should be when there is no git repo.

Something needs to be engineered into https://github.com/rdiff-backup/rdiff-backup/blob/master/src/rdiff_backup/Globals.py#L29 maybe?

@dominicraf
Copy link
Contributor

FYI, when I am using Ubuntu 20.04 (Focal) with the standard version of rdiff-backup (that was automatically upgraded from 1.2.8 when I upgraded the system from 18.04), I see:

# rdiff-backup --version
rdiff-backup 2.0.0

so - no bug?

@ottok
Copy link
Contributor

ottok commented Jun 28, 2020

I cannot reproduce that. What version exactly do you have I wonder? Are you using it from the PPA or? What does dpkg -l | grep rdiff say?

$ docker run -it ubuntu:focal bash
root@c924a2cdb1e2:/build# apt update -yqq && apt install rdiff-backup -yqq
...
root@c924a2cdb1e2:/build# rdiff-backup -V
rdiff-backup DEV

@telsin
Copy link

telsin commented Jun 28, 2020

@telsin can you also ensure you are running the version of rdiff-backup that comes from the RPM, by doing which rdiff-backup and rpm -V rdiff-backup
The version number is included during the build of the RPM, and hence should be the same in all installations from the RPM.

the 'rpm -V rdiff-backup' returns nothing on my system, even when run directly on the installer package with -p.

This definitely seems to be coming from something in the environment, not the binary. I note that systems that return version DEV have older python3 versions installed, alongside the latest for my distro, 3.6.8, using the same package.

[telsin@host0ch1 ~]$ rdiff-backup -V
rdiff-backup DEV
[telsin@host0ch1 ~]$ whereis rdiff-backup
rdiff-backup: /usr/bin/rdiff-backup /usr/share/man/man1/rdiff-backup.1.gz
[telsin@host0ch1 ~]$ /usr/bin/rdiff-backup -V
rdiff-backup DEV
[telsin@host0ch1 ~]$ rpm -qa | grep rdiff-backup
rdiff-backup-2.0.3-1.el7.x86_64
[root@host0ch1 ~]# rpm -qa | grep python3
python34-libs-3.4.10-1.el7.x86_64
python36-3.6.8-1.el7.x86_64
python36-pyxattr-0.6.1-1.el7.x86_64
python36-libs-3.6.8-1.el7.x86_64
python34-3.4.10-1.el7.x86_64

vs

[telsin@host0 ~]$ rpm -qa | grep rdiff-backup
rdiff-backup-2.0.3-1.el7.x86_64
[telsin@host0 ~]$ rpm -qa | grep python3
python3-libs-3.6.8-13.el7.x86_64
python3-pip-9.0.3-7.el7_7.noarch
python36-pyxattr-0.6.1-1.el7.x86_64
python3-setuptools-39.2.0-10.el7.noarch
python3-3.6.8-13.el7.x86_64
[telsin@host0 ~]$ rdiff-backup -V
rdiff-backup 2.0.3

@ottok
Copy link
Contributor

ottok commented Jun 28, 2020

A new Python version does not fix it.

$ docker run -it -v ${PWD}/buildout:/build -w /build debian:sid bash
root@1b4fdbd4d741:/build# apt update -yqq && apt install rdiff-backup -yqq
root@1b4fdbd4d741:/build# python3 --version
Python 3.8.3
root@1b4fdbd4d741:/build# rdiff-backup -V
rdiff-backup DEV

However installing setuptools makes it work. This is kind of stupid though, needing an external library just to know your own version (which is a static string that never changes).

root@1b4fdbd4d741:/build# rdiff-backup -V
rdiff-backup DEV

root@1b4fdbd4d741:/build# apt install python3-setuptools
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
  python3-distutils python3-lib2to3 python3-pkg-resources
Suggested packages:
  python-setuptools-doc
...
Setting up python3-pkg-resources (46.1.3-1) ...
Setting up python3-lib2to3 (3.8.3-2) ...
Setting up python3-distutils (3.8.3-2) ...
Setting up python3-setuptools (46.1.3-1) ...

root@1b4fdbd4d741:/build# rdiff-backup -V
rdiff-backup 2.0.0

root@1b4fdbd4d741:/build# dpkg -l | grep rdiff-backup
ii  rdiff-backup               2.0.0-1+b1          amd64        remote incremental backup

@telsin
Copy link

telsin commented Jun 28, 2020

appears to fix it on Centos 7x as well.

[root@host0ch1 ~]# rpm -qa | grep setuptools
python-setuptools-0.9.8-7.el7.noarch
[root@host0ch1 ~]# rdiff-backup -V
rdiff-backup DEV
[root@host0ch1 ~]# yum install python3-setuptools
Installed:
  python3-setuptools.noarch 0:39.2.0-10.el7                                     

Complete!
[root@host0ch1 ~]# rdiff-backup -V
rdiff-backup 2.0.3

@dominicraf
Copy link
Contributor

@ottok, in answer to your question:

# dpkg -l|grep rdiff|sed 's/\s\+/ /g'
ii rdiff-backup 2.0.0-1 amd64 remote incremental backup

This did not come from a PPA. I always had rdiff-backup 1.2.8 on Ubuntu 18.04 (originally installed with apt-get install rdiff-backup), I upgraded the whole system to Ubuntu 20.04 and now I have this.

@ericzolf
Copy link
Member

I can confirm that the installation of python3-setuptools solves the issue. Just make it a dependency and we're done. In a container started with podman run -it ubuntu:focal bash:

    2  apt update -yqq
    3  apt install rdiff-backup -y
    4  rdiff-backup -V
==> DEV
    5  dpkg -l | grep setuptools
==> nothing
    7  apt install python3-setuptools
    8  rdiff-backup --version
==> 2.0.0

@ottok
Copy link
Contributor

ottok commented Jul 5, 2020

Added python3-setuptools (which pulls in 3 MB of software on the system) as a manual build-time dependency and now tests pass at https://salsa.debian.org/python-team/applications/rdiff-backup/-/jobs/847310 and the version is printed. This somehow feels like the wrong solution.

With the "git to version" thing we want to avoid having to manually put the version string in the sources and have it end up there automatically instead, thanks to setuptools-scm. Now we end up running setuptools to simply read the version string during run-time from somewhere else and it has nothing to do with git anymore. Something feels wrong but I can't put my finger on it.

@ericzolf
Copy link
Member

ericzolf commented Jul 5, 2020

During build, setuptools takes the version from Git and places it in PKG-INFO & Co; during runtime, setuptools takes it back from there and outputs it.
You can set the setuptools as recommendation if someone really does care about 3MB. Despite this small drawback I like to have automatically a different version, depending where I'm in the Git branches/tags, it already helped me a few times.

Do you update accordingly the debian/ directory and close this issue with the PR?

@frankcrawford
Copy link
Contributor

I admit, while I'll add a requirement for setuptools in the rdiff-backup RPM, but I agree with @ottok that pulling in a large package just to get the version number printed seems to be overkill. There should be a better way to do this.

@dominicraf
Copy link
Contributor

... but I think getting the bugixes into major distros is more important...

@ericzolf
Copy link
Member

ericzolf commented Jul 5, 2020

I would also suggest that we first close the bug (no proper versioning) and then create an enhancement request (avoid pulling setuptools as runtime dependency).

@frankcrawford
Copy link
Contributor

Yes, I'm okay with that.

ericzolf pushed a commit that referenced this issue Jul 6, 2020
)

FIX: add python3-setuptools as a run time dependency to Debian package so --version works and doesn't output DEV, closes #305.
@ikus060
Copy link
Contributor Author

ikus060 commented Jul 6, 2020 via email

@ericzolf
Copy link
Member

ericzolf commented Jul 6, 2020

I described the requirement in a most possible neutral way (hope this is OK) in the enhancement #418 , and would invite you to participate all to the discussion over there. My comments will be obviously less neutral and represent my own opinion :-)

ericzolf added a commit that referenced this issue Jul 8, 2020
Also add a note in the developer documentation.
CHG: setuptools is a runtime dependency for installation and tests so that version appears correctly instead of DEV, closes #305
ericzolf added a commit that referenced this issue Jul 12, 2020
CHG: setuptools is a runtime dependency for installation and tests so that version appears correctly instead of DEV, closes #305
* Add setuptools as runtime dependency to tox and setup.py also add a note in the developer documentation.
* Limit wildcard to only repair rdiff-backup wheels and also limit what is being deployed
ottok added a commit to ottok/rdiff-backup that referenced this issue Jan 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug installation Issue about installing or upgrading
Projects
None yet
6 participants