How to stop a package from updating when using paru or yay?

I have Motivewave (stock market program) installed, last update went smoothly during a PARU update, but now I get this:

==> Making package: motivewave 6.6.3-1 (Tue 27 Dec 2022 08:18:40 PM CST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> Retrieving sources…
→ Found motivewave-6.6.3.deb
==> Validating source files with sha512sums…
motivewave-6.6.3.deb … Passed
==> Removing existing $srcdir/ directory…
==> Extracting sources…
→ Extracting motivewave-6.6.3.deb with bsdtar
==> Sources are ready.
motivewave-6.6.12-1: parsing pkg list…
==> Making package: motivewave 6.6.3-1 (Tue 27 Dec 2022 08:18:41 PM CST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory…
==> Entering fakeroot environment…
==> Starting package()…
bsdtar: Error opening archive: Failed to open ‘data.tar.xz’
==> ERROR: A failure occurred in package().
Aborting…
error: failed to build ‘motivewave-6.6.12-1’:
error: packages failed to build: motivewave-6.6.12-1
[mark@mark-optiplex9020 ~]$

I looked at getting a login to aurweb, but really I don’t have the credentials for all the prompts or info I would require to do that. The maintainer won’t get a lot of feedback, because only a few people ever download it. It’s been broken since it was put out there 3 days ago.

Alternatively, maybe is there a way to get paru or yay to not try to update it at all? If I have a working copy, maybe it’s more efficient to leave it at the current version.

I found it, but probably won’t try this until tomorrow…

Seems like an error occurred in the first line of the package() function in the PKGBUILD.

In the interest of science… Can you try to download the .deb file from this url: https://www.motivewave.com/update/download.do?file_type=LINUX

And then extract the data.tar.zst from the .deb file. After that, try to run the command bsdtar -xf on the data.tar.zst file to see what error messages are returned.

1 Like

O.K. will do…

Seemed to work, at least no errors:

[mark@mark-optiplex9020 Downloads]$ ls -l
total 174296
-rw-r–r-- 1 mark mark 510 Dec 19 16:08 control.tar.zst
-rw-r–r-- 1 mark mark 89230727 Dec 19 16:08 data.tar.zst
-rw-r–r-- 1 mark mark 4 Dec 19 16:08 debian-binary
-rw-r–r-- 1 mark mark 89231430 Dec 27 21:00 motivewave_6.6.12_amd64.deb
[mark@mark-optiplex9020 Downloads]$ bsdtar -xf data.tar.zst
[mark@mark-optiplex9020 Downloads]$

Now THAT is interesting.

1 Like

What if you try do build it with yay? Does it still fail?

1 Like

Yes, same error.

If you look at the PKGBUILD, you will notice that the package version is 6.6.3

Which is strange, because the latest version is supposed to be 6.6.12-1. That was probably the cause of those errors.

Looking at these lines, one could get some clues as to why the call to bsdtar failed. The file downloaded is motivewave-6.6.3.deb and if the contents are extracted, the data.tar.xz file probably resides in the motivewave-6.6.3/ directory.

It could be that the version mismatch prevents the shell from locating the data.tar.xz file. If the shells looks for the tar.xz file in the motivewave-6.6.12/ directory instead of the motivewave-6.6.3/ directory, it probably won’t be able to find the data.tar.xz file because the directory motivewave-6.6.12/ doesn’t exist. The extracted directory is motivewave-6.6.3, not motivewave-6.6.12

In other words, the person who wrote the PKGBUILD probably messed up?

2 Likes

A good idea is to contact the package maintainer at the AUR page
https://aur.archlinux.org/packages/motivewave
and report the issue.

1 Like

You can ignore a package in our pacman.conf

That being said no one supports partial updates, and you should literally always avoid it. It’s the fastest way to break your system and no one will help you fix it since you shouldn’t do it.

But, it’s your computer, and that’s up to you, and it can be done.

1 Like

It’s going to freeze at some point anyway, because I’m not going to pay for the yearly updates to this program over time through perpetuity… Since the update failed, I’m assuming that nothing really changed.

It’s an Elliott Wave program, and the updates are just features that make it a better trading platform, but I don’t use it for that.

O.K. I’ve notified the contributor. We’ll see where it goes.

1 Like

Not sure if this is relevant but perhaps worth look into?

From the PKGBUILD:

bsdtar -xf data.tar.xz -C "$pkgdir/"

From OP’s manual extraction of the deb file:

Could it be that the bsdtar is looking for a .tar.xz and won’t find one?

I wonder if it would be possible to download the PKGBUILD and edit

pkgver=6.6.3

and

bsdtar -xf data.tar.xz -C "$pkgdir/"

and try building the package with makepkg. Just curious if that would work?

1 Like

Xavier Baez, the contributor, has emailed me, said he will fix it later today…

1 Like

Thank you for the detective work, it was well past my skill set.

1 Like

After trying out the proposed edits to PKGBUILD in my previous post:

 makepkg -s
==> Making package: motivewave 6.6.12-1 (Wed 28 Dec 2022 04:29:28 PM CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading motivewave-6.6.12.deb...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:--  0:00:01 --:--:--     0
100 85.0M  100 85.0M    0     0  4578k      0  0:00:19  0:00:19 --:--:-- 4920k
==> Validating source files with sha512sums...
    motivewave-6.6.12.deb ... Passed
==> Extracting sources...
  -> Extracting motivewave-6.6.12.deb with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
chown: warning: '.' should be ':': ‘root.root’
mkdir: created directory '/home/pebcak/Applications/Build/AUR/motivewave/pkg/motivewave/usr/bin'
'/home/pebcak/Applications/Build/AUR/motivewave/pkg/motivewave/usr/bin/motivewave' -> '/usr/share/motivewave/run.sh'
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "motivewave"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: motivewave 6.6.12-1 (Wed 28 Dec 2022 04:29:53 PM CET)

The package seems to build fine.

1 Like

Hoo boy. I’ve been in contact with the maintainer and I have sent copies of both yours and pebcak’s and anthony93’s analysis to him, and he doesn’t understand it.

He’s had me rerun paru, but the installation fails still showing involvement of both versions of motivewave as before, he really hasn’t changed anything. Yet he claims he’s installed it on his own laptop, so it’s all good.

What I get is this:

→ Found motivewave-6.6.3.deb
==> Validating source files with sha512sums…
motivewave-6.6.3.deb … Passed
==> Making package: motivewave 6.6.3-1 (Wed 28 Dec 2022 11:53:10 AM CST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> Retrieving sources…
→ Found motivewave-6.6.3.deb
==> Validating source files with sha512sums…
motivewave-6.6.3.deb … Passed
==> Removing existing $srcdir/ directory…
==> Extracting sources…
→ Extracting motivewave-6.6.3.deb with bsdtar
==> Sources are ready.
motivewave-6.6.12-1: parsing pkg list…
==> Making package: motivewave 6.6.3-1 (Wed 28 Dec 2022 11:53:12 AM CST)
==> Checking runtime dependencies…
==> Checking buildtime dependencies…
==> WARNING: Using existing $srcdir/ tree
==> Removing existing $pkgdir/ directory…
==> Entering fakeroot environment…
==> Starting package()…
bsdtar: Error opening archive: Failed to open ‘data.tar.xz’
==> ERROR: A failure occurred in package().
Aborting…
error: failed to build ‘motivewave-6.6.12-1’:
error: packages failed to build: motivewave-6.6.12-1
[mark@mark-optiplex9020 ~]$

Looks like it’s a little different, but both versions are still referenced.

I might still just turn off the updates on this package, The maintainer means well, but he’s not at you guy’s knowledge level. Just sayin’.

Update: his last message is this:

"yay -Syu

it worked here."

So he’s done with it, so am I.

Last shot, could somebody here contact this guy?

xavierbaez@gmail.com

He’s the maintainer.

This might cause real problems… but didn’t check what.