Updating Tahrpup64's glibc libaries
Fool’s Rush in, and all that.
Despite my misgivings and most likely as a means to again put off the things on my ‘Must-Do’ LIst, I’ve decided to explore the possibility of upgrading the glibc which was built-into Tahrpup64.
Consider this a Proof of Concept. The only possible benefit I can think of is that such upgraded Tahrpup64 would be enable it rto run current web-browsers. With its current glibc libraries it might be possible to run ‘mozilla’ web-browsers which themselves provided glibc libraries. But to run ‘chromium’ web-browsers now requires that they be in a chroot, i.e. a more up-to-date operating system run from within Tahrpup64. The potential downsides of this exploration are that (a) It won’t work, perhaps entirely my fault ; or (b) it does work but breaks other applications dependent on Tahrpup’s older, built-in, glibc libraries.
I chose Tahrpup64 for this exploration because (a) Slackware and debian/ubuntu have evolved in different directions as to where to locate 64-bit libraries; (b) I just ‘woofed’ a new Fossapup64 which is compatible with Ubuntu Fossa Focal and plan to use its glibc libraries which, I think, are the latest or at least very near so --they are glibc 2.31; and (c) I’ve previously remastered tahrpup –albeit the 32-bit version-- so have a good idea where files may be located.
Step 1: Prepare to Obtain the glibc libs from Fossapup64_9.6. I booted into that Puppy and used pfind. This, fortunately, revealed that the glibc libs on that system had been recorded in text files in /var/packages/builtin_files folder. [IIRC, Tahrpup64, in /root/packages there will be analogous lists for which glibc files will have to be removed]/ Examining that folder revealed 3 potentially relevant files: glibc, glibc_locales and glibc32. The last made me wonder to what extent Fossapup64_9.6 may already be 'multi-arch' capable. Opening these files in a text editor indicated that roughly a thousand libraries relating to glibc were built into fossapup64. Fortunately, these lists also identify the folders where the files are located and there are much fewer folders. Unfortunately also revealed not all relevant files were in a 'lib' folder. Some were in /etc. I don't really understand /etc so hate having to deal with it. Made copies of the aforementioned /var/packages/builtin files. Note to Self: remember to copy these list-files to the appropriate location in Tahrpup64.
Also to be noted. Some of 9.6's relevant builtin files are in /lib. Not sure had I chosen VanillaDpup as source what would happen. Fossapup64 pre-dates the move to 'usr-merge' where NO user installed files can be in /lib. But this is a rebuild creating a new 'gdrv.sfs', so that 'rule' probably doesn't pertain.
Within the builtin_files folder was also a file indicating that gtk3 libraries are present. As modern browsers require gtk3, I decided to copy that file (and later include relevant gtk3 libraries): better to have them and not need them than need them and not have them. But will the rebuild already have the 'infra-structure' to use them?
FYI, I've attached copies of the built-in lists.
Step 2: Obtain copies of all relevant files. Not yet done.
Stay tuned, check back later for edits/updates to this post. And please don’t post replies until I have reported some progress such as that I've actually constructed a rebuild and tried to boot into it; unless you know that I've already made some fatal error.
Ah, I just realized that some of fossapup's builtin glibc files are in 'x86_64-linux-gnu/' folders, such as /usr/lib/x86_64-linux-gnu/audit/sotruss-lib.so; and Tahrpup64 doesn't know how to handle such folders. The work-around was to move all such files to '/lib' folders, with the 'x86_64-linux-gnu/' folders being symlinks . But that is just one of three possible ways to 'work-around'. Maybe the replacement initrd overcomes that hurdle? Maybe not? We'll have to see. Note to self: The next time you have a great idea re-read the first sentence of this post. This is already beginning to seem like a repetition of your 'breed panda-like Siberian hamsters' debackle.
Ah, another wrinkle. Decided to put off copying libs to freshly examine Tahrpup64-6.0.5's structure. Found a Tahrpup64-6.0.6 in 'Storage' I had completely forgotten. Wondering if it might be a better candidate I used https://rockedge.org/psearch/ to look for discussions about it. Although I decided it best to stick with 6.0.5, this post https://oldforum.puppylinux.com/viewtop ... 14#p986014 revealed that I should also update openssl. Back to using pfind to identify fossapup64's openssl libraries. Dah. Of course, concentrating on the process I forgot the destination: the entire reason for updating glibc is to obtain one which can make use of a sufficiently current openssl that current web-browsers can be used.