Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
|
11-18-2013, 01:36 PM
|
#1
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Rep: 
|
Can slackpkg+ work on 32bit and 64bit repos at the same time
I run a multi-lib system and use slackpkg+ to manage repos from AlienBob, multilib, ktown, restricted and alien. All 64 bit.
However being a multi-lib system means that I run 32-bit apps like steamclient and that is not in a 64bit repo.
So is it possible to run two repos with the same name but different architectures?
samac
|
|
|
11-18-2013, 02:48 PM
|
#2
|
MLED Founder
Registered: Jun 2011
Location: Montpezat (South France)
Distribution: CentOS, OpenSUSE
Posts: 3,453
|
I'd say this is asking for trouble. Use 64-bit repos, and then add needed 32-bit compatibility packages. It's well described in AlienBob's multilib documentation.
Last edited by kikinovak; 11-18-2013 at 02:49 PM.
|
|
|
11-18-2013, 04:15 PM
|
#3
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
Installing multilib and compatibility packages is not a problem. All is working perfectly. However not all the packages that you run via multilib are available in a multilib-applications repo.
For example:
I have been able to download wine and upgrade it via slackpkg+ but not steamclient
Perhaps it would be better if the packages that are only available in 32bit versions are made available in a 32bit repo and also in multilib-application repo. These could include:
wine
steamclient
skype
google earth
etc...
samac
|
|
|
11-18-2013, 04:28 PM
|
#4
|
Member
Registered: Sep 2006
Location: Earth
Distribution: Slackware 14.1 Slackware64-current multilib
Posts: 278
Rep: 
|
massconvert32.sh
|
|
|
11-18-2013, 04:59 PM
|
#5
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
I appear to be unable to make my point clearly so I will try yet again. I am not asking how to get multi-lib or multi-lib programs working.
I am trying to get it so that an installed 32bit program will upgrade via slackpkg+
This does not happen at the moment because the 32bit program is not in the 64bit repo. So I am either trying to find a way to run to repos with the same name and different architecture, or suggesting the creation of a new repo for those few 32bit programs that multi-lib enable users wish to run.
samac
|
|
|
11-19-2013, 04:10 AM
|
#6
|
Member
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 983
|
Currently slackpkg+ check for arch.
This is needed for repository that contains mixed architecture packages (as was alienbob and others).
As workaround edit /var/lib/slackpkg/functions.d/slackpkgplus
search that code
Code:
if [ "$(basename $1)" == "CHECKSUMS.md5" ];then
X86_64=$(ls /var/log/packages/aaa_base*x86_64*|head -1 2>/dev/null)
for PREPO in $REPOPLUS;do
if [ ! -z "$X86_64" ];then
egrep -e ^[a-f0-9]{32} ${TMPDIR}/CHECKSUMS.md5-$PREPO|egrep -- "-(x86_64|noarch)-" |sed -r "s# \./# ./SLACKPKGPLUS_$PREPO/#" >> ${TMPDIR}/CHECKSUMS.md5
else
egrep -e ^[a-f0-9]{32} ${TMPDIR}/CHECKSUMS.md5-$PREPO|egrep -v -- "-(x86_64|arm)-" |sed -r "s# \./# ./SLACKPKGPLUS_$PREPO/#" >> ${TMPDIR}/CHECKSUMS.md5
fi
done
fi
and remove it and give me feedback.
|
|
|
11-19-2013, 04:33 AM
|
#7
|
Senior Member
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 1,052
|
Hello,
Quote:
Originally Posted by samac
I appear to be unable to make my point clearly so I will try yet again. I am not asking how to get multi-lib or multi-lib programs working.
I am trying to get it so that an installed 32bit program will upgrade via slackpkg+
This does not happen at the moment because the 32bit program is not in the 64bit repo. So I am either trying to find a way to run to repos with the same name and different architecture, or suggesting the creation of a new repo for those few 32bit programs that multi-lib enable users wish to run.
samac
|
I understand what you are trying to do. Currently this is not possible, slackpkg+ removes automatically references to 32-bit packages in configured repositories when running on 64-bit. It will be better to give user a way to configure that. Something like ALLOW_32ON64=on|off in slackpkgplus.conf.
In the meantime, you can achieve this as below (as root) :
1. save the file /usr/libexec/slackpkgplus/functions.d/slackpkgplus.sh
Code:
cd /usr/libexec/slackpkgplus/functions.d
cat slackpkgplus.sh > slackpkgplus.sh.bak
2. edit /usr/libexec/slackpkgplus/functions.d/slackpkgplus.sh, and change the line #232 (slackpkg+ 1.0.1), which is as below :
Code:
egrep -e ^[a-f0-9]{32} ${TMPDIR}/CHECKSUMS.md5-$PREPO|egrep -- "-(x86_64|noarch)-" |sed -r "s# \./# ./SLACKPKGPLUS_$PREPO/#" >> ${TMPDIR}/CHECKSUMS.md5
to
Code:
egrep -e ^[a-f0-9]{32} ${TMPDIR}/CHECKSUMS.md5-$PREPO|egrep -- "-(x86_64|noarch|i[3456]86)-" |sed -r "s# \./# ./SLACKPKGPLUS_$PREPO/#" >> ${TMPDIR}/CHECKSUMS.md5
3. Edit the file /etc/slackpkg/slackpkgplus.conf and create an entry into the MIRRORPLUS array for the 32-bit repository you want. Don't use the same name as for 64-bit. Example :
Code:
MIRRORPLUS['repositoryname.x86']=http://url/of/32-bit/repository/
4. run :
4. If there's no 64-bit version for packages you want to install, you should be able to install/upgrade them without any additional work. Otherwise, you'll have to give them priority over the 64-bit using the variable PKGS_PRIORITY in /etc/slackpkg/slackpkgplus.conf. For instance :
Code:
PKGS_PRIORITY=( repositoryname.x86:packagename )
Hope this helps.
Cheers.
--
SeB
Last edited by phenixia2003; 11-19-2013 at 07:52 AM.
|
|
|
11-19-2013, 04:40 AM
|
#8
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
OK I will make the modification but cannot test it at the moment as there appears to be a problem with alien bob's server.
samac
Last edited by samac; 11-19-2013 at 04:41 AM.
|
|
|
11-19-2013, 08:12 AM
|
#9
|
Member
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 983
|
I added ALLOW32BIT flag (and some other features) in the development package. Please test it.
Thanks all.
AlienBob repository is now up.
|
|
|
11-19-2013, 08:16 AM
|
#10
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
Tried SeB's solution.
The package is steamclient-1.0.0.41-i386-1alien and it has been upgraded in the x86 repo to version 1.0.0.44
I modified the required line to include i[3456]86
Created a new repo alienx86 and pointed it to the correct place
slackpkg update gpg
slackpkg update
Repo was found and files updated
slackpkg upgrade-all
Found the new slackware updates and the update to slackpkg+ but not steamclient
I modified my priorities, but no effect even when I put alienx86:steamclient before alienbob:.*
samac
|
|
|
11-19-2013, 08:18 AM
|
#11
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
Have downloaded the development package and will have a look.
samac
|
|
|
11-19-2013, 08:21 AM
|
#12
|
Senior Member
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 1,052
|
Hello,
Quote:
Originally Posted by samac
OK I will make the modification but cannot test it at the moment as there appears to be a problem with alien bob's server.
samac
|
Sorry, but this will not work in case of upgrade because there's code in slackpkg [ in function makelist() ] that prevents this :
Code:
for ARGUMENT in $(echo $INPUTLIST); do
for i in $(grep -w -- "${ARGUMENT}" ${TMPDIR}/pkglist | cut -f2 -d\ | sort -u); do
givepriority $i
[ ! "$FULLNAME" ] && continue
case $CMD in
'upgrade')
VRFY=$(cut -f6 -d\ ${TMPDIR}/tmplist | \
grep -x "${NAME}-[^-]\+-\(noarch\|fw\|${ARCH}\)-[^-]\+")
[ "${FULLNAME/%.t[blxg]z/}" != "${VRFY}" ] && \
[ "${VRFY}" ] && \
LIST="$LIST ${FULLNAME}"
To workaround this, slackpkg+ should modify the variable ARCH when user run "slackpkg upgrade[-all]" and only when mixing 32 on 64 has been enabled.
--
SeB
|
|
|
11-19-2013, 08:29 AM
|
#13
|
Member
Registered: Oct 2009
Location: Italy
Distribution: Slackware
Posts: 983
|
mmm
I have only tried the display (dialog, without the real installation).
upgrade-all
Code:
│ │[ ] amsn-0.98.9-i486-2sl.txz slacky │ │
thankyou.
|
|
|
11-19-2013, 08:32 AM
|
#14
|
Senior Member
Registered: Mar 2004
Location: Kirkwall, Orkney
Distribution: Linux Mint 20.3 - Cinnamon
Posts: 1,425
Original Poster
Rep: 
|
Sorry the dev package only picks up the stable version of slackpkg+ , I merged the new slackpkgplus.conf with mw changes and enabled the new switch.
samac
|
|
|
11-19-2013, 08:40 AM
|
#15
|
Senior Member
Registered: May 2006
Location: France
Distribution: Slackware
Posts: 1,052
|
Hello,
Here is a patch, for slackpkg+/dev (i.e slackpkg+-20131119.2) that should solve the issue with upgrade and upgrade-all :
Code:
--- slackpkgplus.sh.orig 2013-11-19 14:39:09.790146073 +0100
+++ slackpkgplus.sh 2013-11-19 14:40:26.942951798 +0100
@@ -742,6 +742,10 @@
fi
done
+ if [[ "$CMD" == "upgrade" || "$CMD" == "upgrade-all" ]] && [ "$ALLOW32BIT" == "on" ] ; then
+ ARCH="\($ARCH\)\|\([i]*[3456x]86[^_]*\)"
+ fi
+
if [ "$CMD" == "install" ] || [ "$CMD" == "upgrade" ] || [ "$CMD" == "reinstall" ] || [ "$CMD" == "remove" ] ; then
NEWINPUTLIST=""
Hope this helps.
--
SeB
|
|
|
All times are GMT -5. The time now is 06:04 PM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|