IMPORTANT: DO NOT UPGRADE

You have a problem with Slackel? Post here and we'll do what we can to help.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: IMPORTANT: DO NOT UPGRADE

Post by Papasot »

There seems to be a problem with Slackel 32-bit (Openbox, at least). After a fresh installation, whenever I try to upgrade the system it will install glibc 2.35, not 2.36. However all the other packages upgraded will require glibc 2.36 (even bash, so after reboot I can't even login anymore). I re-installed Slackel from scratch and manually upgraded glibc, glibc-i18n etc to 2.36 first, then I tried to upgrade the rest. Even then, slapt-get will "upgrade" glibc to 2.35 (and again, everything else requires 2.36). In my 64-bit system this doesn't happen.
djemos wrote:I had only a problem i do not know why.
running fakeroot slkbuild -X
the tar.gz file do not extract in src
it works if i become root with su
and run slkbuild -X
or as user sudo slkbuild -X
I did not had time to investigate this about fakeroot.
I have the same problem. fakeroot doesn't work, but sudo slkbuild -X works.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: IMPORTANT: DO NOT UPGRADE

Post by djemos »

I removed glibc-2.35 packages from repos. I had forgot to do it for i486.
So glibc-2.36 will install now.
I cannot install glibc-2.36 or upgrade the system because some new packages need glibc-2.36. My laptop do not work with glibc-2.36.
To release in the future a new slackel openbox version i have to do it in vmware. Or to buy a new laptop which i cannot do it.'
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: IMPORTANT: DO NOT UPGRADE

Post by Papasot »

djemos wrote:I removed glibc-2.35 packages from repos. I had forgot to do it for i486.
So glibc-2.36 will install now.
This is what I suspected it was happening. I tried again, almost sure this time it will work. Fresh installation, I manually upgraded everything related to glibc, plus aaa_base (this time it says 2.36 will be installed). After that I rebooted and upgraded the rest (except kernel). Rebooted again, expecting everything to work but, to my surprise, the same situation:

Code: Select all

INIT: version 3.01 booting
/bin/sh: /lib/libc.so.6: version `GLIBC_2.36' not found (required by /bin.sh)
INIT: Entering runlevel: 3
/bin/sh: /lib/libc.so.6: version `GLIBC_2.36' not found (required by /bin.sh)
and I cannot login. The only change I did before upgrading was to set runlevel 3 in /etc/inittab.
I cannot think of any reason this didn't work... are the glibc packages correct for 32-bit?
djemos wrote:My laptop do not work with glibc-2.36.
To release in the future a new slackel openbox version i have to do it in vmware. Or to buy a new laptop which i cannot do it.'
I have the same problem... My netbook which ran Slackel 32-bit since 2015 is now useless because of glibc 2.36, so I cannot have a real Slackel 32-bit installation anymore and forced to use a virtual machine for 32-bit package building. The problem I mentioned just before is in a VM. Like you, I cannot afford buying a new laptop.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: IMPORTANT: DO NOT UPGRADE

Post by djemos »

My fault, i had to also remove aaa_glibc-from repos, sorry.
try again sudo slapt-get -u
and upgrade aaa_glibc-solibs also.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: IMPORTANT: DO NOT UPGRADE

Post by Papasot »

djemos wrote:My fault, i had to also remove aaa_glibc-from repos, sorry.
try again sudo slapt-get -u
and upgrade aaa_glibc-solibs also.
Ok, everything works now. One thing I noticed is, in a fresh installation (upgraded just now), fakeroot slkbuild -X actually works.
However, as we already know, it does not work in an older installation which was upgraded over time. In this case only sudo slkbuild -X (or just slkbuild -X as root) works. Since it does work in a fresh installation, I suspected a configuration file causes the problem, but Dotnew shows nothing other than the usual passwd, inittab, group, and shadow.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: IMPORTANT: DO NOT UPGRADE

Post by djemos »

I have examine the code of slackbuild when execute this code in which it tries to find the type of file .tar.gz, tar.bz2 etc cannot find the type of file so did not extracted in src

Code: Select all

if [ -z "$NOEXTRACT" ]; then
cat <<EOEXTRACTSOURCES >>$startdir/build-$pkgname.sh
extract_source() {
    cd \$startdir/src
    if [[ "\$(ls \$startdir/src)" ]]; then    
        for FILES in \${source[@]}; do
                FILES="\$(basename \$FILES | awk -F= '{print \$NF}')"
            file_type=\$(file -biLz "\$FILES")
            unset cmd
            case "\$file_type" in
                *application/x-tar*)
                    cmd="tar -xf" ;;
                *application/x-zip*)
                    cmd="unzip" ;;
                *application/zip*)
                    cmd="unzip" ;;
                *application/x-gzip*)
                    cmd="gunzip -d -f" ;;
                *application/x-bzip*)
                    cmd="bunzip2 -f" ;;
                *application/x-xz*)
                    cmd="xz -d -f" ;;
                *application/x-lzma*)
                    cmd="lzma -d -f" ;;
                *application/x-rar*)
                    cmd="unrar x" ;;
            esac
            if [ "\$cmd" != "" ]; then
                echo "\$cmd \$FILES"
                        \$cmd \$FILES
            fi
        done
    elif [ ! "\$source" ]; then
        echo -n "" # lame fix
    else
        echo "no files in the src directory \$startdir/src"
        exit 2
    fi
}
file_type=\$(file -biLz "\$FILES") do not return something when run with fakeroot
While when run it with sudo, file_type has a value.
It is a package upgraded? Or what else. I cannot find it.

Download any file .txz or tar.gz and run

Code: Select all

fakeroot file -biLz somefile.txz 
You will get this output in a working fakeroot

Code: Select all

application/x-tar; charset=binary compressed-encoding=application/x-xz; charset=binary
While if fakeroot is not working it returns an error.

But in my case doing a clean install of slackel 64 in vmware and upgrading the fakeroot do not work.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: IMPORTANT: DO NOT UPGRADE

Post by Papasot »

It turns out fakeroot actually works in 32-bit but not in 64-bit. And it might be because in 32-bit we have fakeroot 1.26-i586-1.dj, which was not changed recently, and it is the same as before glibc 2.36. On the other hand, in 64-bit we have fakeroot 1.26-x86_64-2.dj. Maybe recompiling fakeroot with the same settings as before will help?
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: IMPORTANT: DO NOT UPGRADE

Post by djemos »

SLKBUILD is the same. You can check rebuild fakeroot using slkbuild and reinstall in 32bit. And see if it will work.
It has to be something else in x86_64.
djemos
Site Admin
Posts: 676
Joined: 15 Apr 2016 06:03

Re: IMPORTANT: DO NOT UPGRADE

Post by djemos »

This information you gave me about fakeroot working in 32bit, helpd me to solve the problem.
I have investigate about file package which is the package to find file type. But i could not imagine since i do not use 32bit slackel that In 32bit i use the file-5.41 version while in 64bit i use the new file-5.45 version from slackware current which is not working with fakeroot because of glibc-2.36 ? Maybe.
So i upload in 64bit repos as well the file-5.41-x86_64-1.txz version from slackware-15 and now fakeroot is working.
do a
sudo spkg -d file
sudo slapt-get -u
sudo slapt-get -i file
and check with
fakeroot slkbuild -X

Thanks.
Papasot
Posts: 231
Joined: 13 May 2016 22:32
Location: Patras, Greece

Re: IMPORTANT: DO NOT UPGRADE

Post by Papasot »

djemos wrote: So i upload in 64bit repos as well the file-5.41-x86_64-1.txz version from slackware-15 and now fakeroot is working.
do a
sudo spkg -d file
sudo slapt-get -u
sudo slapt-get -i file
and check with
fakeroot slkbuild -X
Thanks.
Indeed, it does work now. This "downgraded" file from version 5.43 (not 5.45) to 5.41 in 64-bit. I didn't expect file itself was the problem. I noticed there was a difference in versions but I didn't even mentioned it before, because file 5.43 did work, for example with version 5.43 we get:

Code: Select all

pap[worker]$ file worker-4.11.0.tar.bz2
worker-4.11.0.tar.bz2: bzip2 compressed data, block size = 900k
which is correct, and actually the exact same output as with file version 5.41. So fakeroot calls file to recognize the compression, and it does succeed no matter which version of file is used. Weird... but it worked.
Post Reply