LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 10-03-2022, 04:54 AM   #1
M0M0
Member
 
Registered: Sep 2020
Location: Germany
Distribution: Slackware
Posts: 230

Rep: Reputation: 20
rpm2txz and slackpkg blacklist


I installed a few programs via converting there rpm to slackware pkgs with rpm2txz and installpkg name-of-program.txz. When I run slackpkg clean-system, it obviously wants to remove those packages. Therefore, I added the names of those packages to /etc/slackpkg/blacklist. While this always works for all packages that I build from slackbuilds.org, it does not work for slackpkgs generated by rpm2txz.

So, i.e., I installed rustdesk, when I now run 'slackpkg clean-system' it want to remove 'rustdesk-1.1.9-fedora28-centos8'. Adding any of the following lines to /etch/slackpg/blacklist did not prevent this:

Code:
rustdesk-1.1.9-fedora28-centos8
rustdesk
*-centos8
*centos8
How can I find out the correct name of a package that slackpkg uses?
 
Old 10-03-2022, 05:31 AM   #2
chrisretusn
Senior Member
 
Registered: Dec 2005
Location: Philippines
Distribution: Slackware64-current
Posts: 2,979

Rep: Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556Reputation: 1556
rpm2txz is outputting an improper formatted package name.

Rename the package from rustdesk-1.1.9-fedora28-centos8.txz to rustdesk-1.1.9-fedora28_centos8.txz. Note the underscore between fedora28_centos8 replacing the dash.

Then run upgradepkg rustdesk-1.1.9-fedora28-centos8.txz%rustdesk-1.1.9-fedora28_centos8.txz

Code:
mv rustdesk-1.1.9-fedora28-centos8.txz rustdesk-1.1.9-fedora28_centos8.txz
upgradepkg rustdesk-1.1.9-fedora28-centos8.txz%rustdesk-1.1.9-fedora28_centos8.txz

Last edited by chrisretusn; 10-03-2022 at 05:37 AM.
 
5 members found this post helpful.
Old 10-03-2022, 06:56 AM   #3
allend
LQ 5k Club
 
Registered: Oct 2003
Location: Melbourne
Distribution: Slackware64-15.0
Posts: 6,378

Rep: Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757Reputation: 2757
Use the -n option to rpm2txz to get a correct package name.
Code:
rpm2txz -n rustdesk-1.1.9-fedora28-centos8.rpm
...
Slackware package /tmp/rustdesk-1.1.9-x86_64-0.txz created.
Other options to rpm2txz are available. Type 'rpm2txz' to see the usage message.
 
6 members found this post helpful.
Old 01-06-2023, 10:52 AM   #4
M0M0
Member
 
Registered: Sep 2020
Location: Germany
Distribution: Slackware
Posts: 230

Original Poster
Rep: Reputation: 20
Ok, a similar thing happend again. I downloaded the chess engine stockfish from slackbuilds.org and made a manual version up (replacing the version number 14.1 with 15.1). It compiles fine and builds
Code:
/tmp/stockfish-15.1-x86-64-modern-1_SBo.tgz
But again, adding
Code:
stockfish
to
Code:
/etc/slackpkg/blacklist
does not prevent
Code:
slackpkg clean-system
from asking me, if it should remove the package
 
Old 01-06-2023, 11:07 AM   #5
Petri Kaukasoina
Senior Member
 
Registered: Mar 2007
Posts: 1,862

Rep: Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523Reputation: 1523
It's packagename-version-architecture-buildnumber.tgz. Start reading from the end backwards. You have stockfish-15.1-x86-64-modern-1_SBo.tgz:

buildnumber: 1_SBo
architecture: modern
version: 64
packagename: stockfish-15.1-x86

You could rename it to stockfish-15.1-x86_64-modern_1_SBo.tgz (only three dashes):

buildnumber: modern_1_SBo
architecture: x86_64
version: 15.1
packagename: stockfish

Slackpkg needs the architecture part set correctly. It should be x86_64 for the 64-bit slackware or noarch if the package is independent of the architecture.
 
3 members found this post helpful.
Old 01-06-2023, 11:12 AM   #6
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 907

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
Quote:
Originally Posted by M0M0 View Post
Ok, a similar thing happend again. I downloaded the chess engine stockfish from slackbuilds.org and made a manual version up (replacing the version number 14.1 with 15.1). It compiles fine and builds
Code:
/tmp/stockfish-15.1-x86-64-modern-1_SBo.tgz
That is not a valid package name (the same problem you had before).

Slackware package names are formatted like so:

Code:
NAME-VERSION-ARCH-TAG
Importantly, the NAME may contain "-" characters, but VERSION, ARCH, and TAG may not. Your package name above gives:

Code:
TAG=1_SBo
ARCH=modern
VERSION=64
NAME=stockfish-15.1-x86
Note how the splitting on "-" starts at the end and moves towards the beginning.

I don't know why a SlackBuild from SBo would produce such a package name. Are you sure you used it correctly?

For comparison, here is a properly formatted package name from SBo I have installed:

zoom-linux-5.13.3.651-x86_64-1_SBo

Code:
TAG=1_SBo
ARCH=x86_64
VERSION=5.13.3.651
NAME=zoom-linux
Edit: Petri beat me to it!
 
2 members found this post helpful.
Old 01-06-2023, 01:01 PM   #7
drumz
Member
 
Registered: Apr 2005
Location: Oklahoma, USA
Distribution: Slackware
Posts: 907

Rep: Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697Reputation: 697
I'm guessing you uncommented the line that sets ARCH to "x86-64-modern"?

Code:
# More optimized, but may not run on all x86_64 hardware
# [ "$ARCH" = x86_64 ] && grep -w popcnt /proc/cpuinfo && ARCH=x86-64-modern
export CXXFLAGS="$SLKCFLAGS"
case $ARCH in
  x86_64)        make build ARCH=x86-64     COMP=gcc;;
  x86-64-modern) make build ARCH=$ARCH      COMP=gcc;;
  i?86)          make build ARCH=x86-32     COMP=gcc;;
  arm)           make build ARCH=armv7      COMP=gcc;;
  *)             make build ARCH=general-32 COMP=gcc;;
esac
I suggest you get in contact with the maintainer of the stockfish SlackBuild to fix the "x86-64-modern" ARCH setting. That's the cause of the invalid package name.
 
2 members found this post helpful.
Old 01-07-2023, 11:40 AM   #8
M0M0
Member
 
Registered: Sep 2020
Location: Germany
Distribution: Slackware
Posts: 230

Original Poster
Rep: Reputation: 20
Quote:
Originally Posted by drumz View Post
I'm guessing you uncommented the line that sets ARCH to "x86-64-modern
Yes, it seems that I did this indeed. If I commenting that line and hardcode the make command to
Code:
make build ARCH=x86-64-modern COMP=gcc
(while leaving the content of $ARCH unchanged) solves the issue. I will contact the maintainer
 
1 members found this post helpful.
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] slackpkg blacklist xorg can't seem to blacklist it khronosschoty Slackware 2 11-13-2021 02:19 AM
[SOLVED] slackpkg+ blacklist - how to blacklist third party package set? zdolar Slackware 17 06-07-2021 09:37 AM
slackpkg blacklist kde should not blacklist polkit anymore frushiyama Slackware 1 09-25-2020 05:19 AM
Brother HL-6180DWT drivers failing rpm2txz process IslandWolf Slackware 3 05-17-2016 01:36 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 07:48 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration