MirrorCache icon indicating copy to clipboard operation
MirrorCache copied to clipboard

Old version of abraunegg onedrive package

Open Burtfaceman opened this issue 1 year ago • 13 comments

Hi. Noob here, trying to install the Abraunegg Onedrive client for Debian 12 as per the instructions at https://github.com/abraunegg/onedrive/blob/master/docs/ubuntu-package-install.md#distribution-debian-12.

When I enter sudo apt install --no-install-recommends --no-install-suggests onedrive, it fails to install the packages "libphobos2-ldc-shared100" and "libphobos2-ldc-shared100 onedrive", citing incorrect hashes and file sizes, and suggesting "mirror sync in progress?". The files it's trying to fetch appear to be for the older version of the client (2.4.25), which I understand won't work anymore? Do I just need to wait for the repository to be updated? Help much appreciated.

Burtfaceman avatar Mar 31 '24 03:03 Burtfaceman

which url do you use for the repo?

It looks like a known problem when OBS rebuilds .deb packages, but a mirror still has old version with the same name. The infrastructure relies on file name uniqueness, so it doesn't check file sizes during redirect.

As workaround - you can use some mirror directly instead of download.o.o , e.g. replace in the url download.opensuse.org/repositories/ with one of: https://ftp.lysator.liu.se/pub/opensuse/repositories/ or https://mirror.aardsoft.fi/opensuse/repositories/

andrii-suse avatar Apr 02 '24 09:04 andrii-suse

I used repo url as per this bit of text in those instructions: echo 'deb https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_20.04/ ./' | sudo tee /etc/apt/sources.list.d/onedrive.list

Thanks for the workaround.

Wondering who should be notified about the file name uniqueness issue... @abraunegg?

Burtfaceman avatar Apr 03 '24 18:04 Burtfaceman

@andrii-suse

It looks like a known problem when OBS rebuilds .deb packages, but a mirror still has old version with the same name. The infrastructure relies on file name uniqueness, so it doesn't check file sizes during redirect.

The issue here is - nothing will have been rebuilt in ~9 months now.

When a new version is released, the package name is correctly updated.

The issue actually stems from the mirror provider themselves - their cache is corrupt, and they need to rebuild their cache because for some unknown reason, the mirror fails to cache the package correctly (broken mirror / sync process)

@Burtfaceman Please look at the mirror URL you are using which is reporting the bad package and you must contact that mirror directly to have them rebuild their mirror - it is their process that is broken ......

abraunegg avatar Apr 03 '24 19:04 abraunegg

@abraunegg @Burtfaceman Yeah I assumed most common problem from the start, but looking at the url https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/xUbuntu_20.04/ - I don't see packages libphobos2-ldc-shared100 . I guess they are not installed from download.opensuse.org at all? Could you confirm which url is used to retrieve this package in the problem scenario?

andrii-suse avatar Apr 04 '24 09:04 andrii-suse

@andrii-suse

I guess they are not installed from download.opensuse.org

Correct - they are downloaded from the respective Debian | Ubuntu mirrors - and that is where the fault usually lies .. those distribution mirrors are corrupt and out-of-sync with their metadata.

Could you confirm which url is used to retrieve this package in the problem scenario?

I cant comment directly on this (I am the developer of the impacted software), however see below references

Example issue tickets:

  • https://github.com/abraunegg/onedrive/issues/2641
  • https://github.com/abraunegg/onedrive/issues/2653
  • https://github.com/abraunegg/onedrive/discussions/2392
  • https://github.com/abraunegg/onedrive/discussions/2572
  • https://github.com/abraunegg/onedrive/discussions/2642

abraunegg avatar Apr 04 '24 10:04 abraunegg

@abraunegg But these mentioned tickets indeed related to the problem I mentioned before: e.g. compare timestamp for Release file: 10-Feb-2024 https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_12/ 09-Nov-2023 https://provo-mirror.opensuse.org/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/

As workaround - instead of download.opensuse.org - any mirror from the list should work:

 curl -s https://download.opensuse.org/repositories/home:/npreining:/debian-ubuntu-onedrive/Debian_12/Release.meta4 | grep /Release | grep location
    <url location="DE" priority="1">https://ftp.gwdg.de/pub/opensuse/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>
    <url location="SE" priority="2">https://ftp.lysator.liu.se/pub/opensuse/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>
    <url location="FI" priority="3">https://mirror.aardsoft.fi/opensuse/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>
    <url location="KE" priority="4">https://opensuse.mirror.liquidtelecom.com/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>
    <url location="US" priority="5">https://provo-mirror.opensuse.org/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>
    <url location="ZA" priority="6">https://opensuse.mirror.ac.za/repositories/home%3A/npreining%3A/debian-ubuntu-onedrive/Debian_12/Release</url>

To fix the problem permanently - the maintainers of the project on OBS must add DEBTRANSFORM-RELEASE: 1 to have OBS append the autoincremented build number to the version of the debian package. . Please let me know if you need assistance with that.

andrii-suse avatar Apr 04 '24 11:04 andrii-suse

@andrii-suse

To fix the problem permanently - the maintainers of the project on OBS must add DEBTRANSFORM-RELEASE: 1 to have OBS append the autoincremented build number to the version of the debian package. .

The OBS builds are performed by @norbusan

@norbusan

Is this something you could look into / add into the OBS process?

abraunegg avatar Apr 04 '24 20:04 abraunegg

@abraunegg will do!

norbusan avatar Apr 05 '24 00:04 norbusan

@andrii-suse I does not work. I tried adding

XS-DEBTRANSFORM-RELEASE: 1

to the debian/control which put it as

Debtransform-release: 1

into the .dsc file - no changes in the build.

Then I hand-edited the .dsc file to add all uppercase

DEBTRANSFORM-RELEASE: 1

but again the build did not change the created debs version number.

What am I missing?

norbusan avatar Apr 05 '24 00:04 norbusan

What am I missing?

@norbusan I have very little experience in debian packaging, but I decided to give it a try and saw that it expects debian.* files for debtransform to start. So I just renamed *debian.tar.xz to get rid of prefix and it seems to work. And it added some build number into the files (see bottom): https://build.opensuse.org/package/live_build_log/home:andriinikitin:branches:home:npreining:debian-ubuntu-onedrive/onedrive/Debian_12/x86_64 I've submitted request https://build.opensuse.org/request/show/1165631 - feel free to reject it for any reasons.

andrii-suse avatar Apr 05 '24 12:04 andrii-suse

Thanks @andrii-suse, I merged that to see what happens, and it seems something has changed in the version numbers.

I didn't realize that one has to have a bare debian.tar.* file, which is normally not produced by the debian tools.

My guess is also that one can remove the .dsc files now .... I will try that, too.

norbusan avatar Apr 05 '24 15:04 norbusan

My guess is also that one can remove the .dsc files now .... I will try that, too.

I believe it is still required.

andrii-suse avatar Apr 05 '24 15:04 andrii-suse

I didn't realize that one has to have a bare debian.tar.* file, which is normally not produced by the debian tools.

That could be true, if you wrap a request for https://github.com/openSUSE/obs-build/blob/master/build-recipe-dsc#L70 to include optional package name into the check - it might be fixed as well.

andrii-suse avatar Apr 05 '24 16:04 andrii-suse