Slackware - ARMThis forum is for the discussion of Slackware ARM.
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.
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.
This is version 2. It takes my test package, and splits it correctly, package.libs & package.nolibs. versions 3, & 4 exit silently with no error :-o.
Now I copied over an arm package directory to test. I didn't fancy large numbers of single 'mv' & 'rm' commands. I wanted wildcards. I couldn't work out how to get something like 'glibc-2.30_multilib-x86_64-1alien.nolibs' back to 'glibc-2.30_multilib-x86_64-1alien' when you're doing it one wildcard-laden instruction. I couldn't invoke your script with a wildcard. The following produced errors
../multilib2 * (from the packages directory), or
print >../packages/FILENAME".nolibs" which puked on the 1st dot before packages. Ideally, it would overwrite the packages, but I wasn't going to chance that initially. Now I could wrap it in a script, but then the three line bash alternative challenges it.
In addition, I don't want 'upgradepkg' to run it's eye over my compat32 packages, in case it's wildcards are a little too wild, if you follow my drift,
../multilib2 * (from the packages directory), or
print >../packages/FILENAME".nolibs" which puked on the 1st dot before packages.
TBH, I don't understand how are you trying to invoke it. Maybe I wasn't clear here. The #2 was supposed to work with packages in the same directory as the script itself.
However, the version 3 from #10 as well as version 4 from #12 are supposed to be run on all the packages in /var/lib/pkgtools/packages/ as was shown in #10.
You make a directory, cd into it, run the script via xargs exactly as shown in #10 and it populates that directory with hundreds (or thousands) of *.libs and *.nolibs generated from /var/lib/pkgtools/packages/*
I was testing this in a homedir. I couldn't have the awk script near packages or it came to itself and puked. So in a noremal setting, it should be in /var/lib/pkgtools. Then I made a packages/packages directory, changed into it, and ran
Code:
ls -w 1 /full/path/name/packages/* | xargs awk -f ../../multilib3
and in that directory came my library lists (as package-compat32 files) and an unchanged package name stripped of the libraries. That's ok, because I can use 'cp -f * ../' to overwrite the originals. Then when they are upgraded, the libraries will be in separate -compat32 packages which I can hide during the moving & upgrade, and return later. Just a tad Machiavellian, but probably safest in the long run. I'vd done enough falling on my sword to last me some time.
I tested this in /root/packages, tweaking the script slightly. I had /root/packages, & /root/packages/Compat32, with the script in /root/ So I would changeto the ~/packages/Compat32 directory, and run
Code:
ls -w 1 ../* |xargs awk -f ../../multilib3
This left libs packages named as -compat32, & nolibs packages named as the originals in /root/packages/Compat32. So I copied the nolibs to the Arm /var/log/packages, hiding the libs in packages/Compat32/, converted my 32bit install to multilib by adding a 64bit system. Then I added the Compat32 back but that effort went down in flames.
So, I started again with 32bit, got wifi up, X working, etc. XFCE sucks bad, btw. I found I couldn't convert /var/log packages any way. /var/lib/pkgtools/packages = /var/log/packages, and any command with '../' seemed to puke. I couldn't get multilib3 to run. But I converted them in /root.
I'm going to convert again, but more slowly, next week sometime. To get wifi working on the RazPi, I updated the kernel & dropped in the Raspbian firmware. I have wifi running, and I now have to spend some time farting about with firmware trying to break it and rebooting, because they're light on ideas.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.