Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Hypexed

macrumors newbie
Original poster
Aug 24, 2023
9
3
Hello every one.

So thought I'd join and discuss solutions to updating sources list. Since PPC was dropped as supported, both officially and as a port, it's hard updating an old install.

Currently for my working Macs, a couple of iBook G4s, both are just running OSX Non-Snow Leopard. The Ubuntu 10.04 live CD works nicely though. But I do have 12.04 and now and 16.04 running on my AmigaOne X1000 with Radeon R7 250.

The hardware differs slightly. Not as powerful as a quad G5 Mac. But the horrors of web browsing, updating and broken radeon drivers are almost the same. :D

Okay, so a couple of years ago, I decided to update my 12.04 install. I cloned it in case it broke and which it did. I updated it to 14.04 and it broke my desktop. Both my Radeon and Gnome broke. Gnome refuses to work without 3d and the Radeon driver is broke so I now have no 3d. I got past with fbdev in my xorg config and got past the Gnome restriction by installing gnome-session-flashback which isn't strict on hardware 3d. But I do find the desktop and icons tend to disappear on boot. And the windows are missing widgets.

So far, so good. I then wanted to update again to 16.04 and beyond. Here I got more stuck. With my sources list set to ports it broke on the extra xenial sources. As you would know the extra packages are still there but the Release files are the blocker as they removed powerpc from the list for some reason. Despite the Contents being there and the powerpc packages still being in the pool. And there are the irrelevant excuses about powerpc not being supported on bug reports. Dir, do they actually read bug reports, or is any powerpc discussion immediately banned?

In any case I found a work around. So the work around is simple. Just disable the extra xenial packages. Keep the standard xenial dist with main, multiverse, restricted and universe from ports. Then the auto software updater can work. The package list can be refreshed without errors. And it will then update to xenial without errors.

Like here:

As you can see this will lack the extra and security updates. But it will work. However, there are xenial sources provided on CD images. I found a good list of PPC images is here:
https://vivapowerpc.eu/software/Ubuntu/

lubuntu-16.04-desktop-powerpc.iso
ubuntu-16.04.6-server-powerpc.iso
ubuntu-mate-16.04-desktop-powerpc.iso

There is also an extra archived mate with 16.04.1 from 2019 and a 16.10 from 2020:
https://releases.ubuntu-mate.org/archived/16.04/
https://releases.ubuntu-mate.org/archived/16.10/

There are many ways suggested to adding a CD image as source. Including to just burn a CD and use it. Seems quaint they still produce CD images you can't import directly. I tested a few and found none worked. Until I tested this finally and it does work:
1. Mount your CD image as a loop at /media/cdrom.
2. Issue on a terminal: apt-cdrom -m add.

You can now apt update the list and it will read the CD image. Note that it somehow forgets the contents. I found if the CD image wasn't still mounted then an apt-get update complained the CD must be added by apt.

A word of warning. The newest 16.04 packages are on the server image. Unless you really are running a headless server for fun and giggles do not use it as a source and upgrade. I "accidentally" did when wanting the newest update and it broke my desktop. A week later after reading about broken installations, but it is not going to be installed, you have broken packages, I managed to fix it. The best advice was using aptitude. I avoided it but I wanted to get ubuntu-desktop back, so had to remove all the X11 and desktop components that were broken and then reinstall older ones. Okay fixed! :p

So I've been hacking around trying to fix the broken releases file. I don't know enough about apt to see if if it can be told to ignore it or use a local substitute. With the server broken for powerpc the only real fix would be to duplicate the xenial packages on a custom server or repo and fix the release files to work. Or even easier duplicate the xenial files but use a http symlink to the ports pool. Unfortunately the "Chrome hack" where it lets you override online files with local substitutes won't work here. Unless Chrome can be used as a proxy to go through. :)

The only real fix to generating updated packages would be to download the 20-25GB sources of each releases and cross compile it for PPC. On a super fast server. Then building an auto repo from that plugged into a sources list. :D

However, I had this idea and don't see evidence of anyone else trying. Using Wayback! That's right, the good guys are here. So I checked Wayback and found a xenial backup with a working release file. And then set it to work in my sources list! I added this. Lol!

http://ports.ubuntu.com/dists/ xenial main multiverse restricted universe
https://web.archive.org/web/20220526153451/http://ports.ubuntu.com/dists/ xenial-updates, main multiverse restricted universe
https://web.archive.org/web/20220526153451/http://ports.ubuntu.com/dists/ xenial-security main multiverse restricted universe
https://web.archive.org/web/20220526153451/http://ports.ubuntu.com/dists/ xenial-proposed main multiverse restricted universe
https://web.archive.org/web/20220526153451/http://ports.ubuntu.com/dists/ xenial-backports main multiverse restricted universe

I got a few errors. And the connection was really slow. Like going back to dial up.

Fetched 9,066 kB in 39min 48s (3,796 B/s)
Reading package lists... Done
N: Skipping acquire of configured file 'main/binary-powerpc/Packages' as repository 'https://web.archive.org/web/20220526153451/http://ports.ubuntu.com xenial-backports InRelease' doesn't support architecture 'powerpc'
N: Skipping acquire of configured file 'multiverse/binary-powerpc/Packages' as repository 'https://web.archive.org/web/20220526153451/http://ports.ubuntu.com xenial-backports InRelease' doesn't support architecture 'powerpc'
N: Skipping acquire of configured file 'restricted/binary-powerpc/Packages' as repository 'https://web.archive.org/web/20220526153451/http://ports.ubuntu.com xenial-backports InRelease' doesn't support architecture 'powerpc'
N: Skipping acquire of configured file 'universe/binary-powerpc/Packages' as repository 'https://web.archive.org/web/20220526153451/http://ports.ubuntu.com xenial-backports InRelease' doesn't support architecture 'powerpc'
E: Failed to fetch https://web.archive.org/web/2022052...ts/xenial-updates/main/i18n/Translation-en.xz Hash Sum mismatch
E: Failed to fetch https://web.archive.org/web/2022052...ial-updates/multiverse/i18n/Translation-en.xz
E: Failed to fetch https://web.archive.org/web/2022052...es/multiverse/dep11/Components-powerpc.yml.xz
E: Failed to fetch https://web.archive.org/web/2022052...ackports/main/dep11/Components-powerpc.yml.xz Hash Sum mismatch
E: Failed to fetch https://web.archive.org/web/2022052...orts/universe/dep11/Components-powerpc.yml.xz
E: Failed to fetch https://web.archive.org/web/2022052...s/xenial-security/main/i18n/Translation-en.xz Hash Sum mismatch
E: Failed to fetch https://web.archive.org/web/2022052...s/xenial-proposed/main/i18n/Translation-en.xz Hash Sum mismatch


So the annoying thing is that old-releases is still intact and working. While archive is removed. So there really is no excuse for ports to be broken. Unfortunately old-releases doesn't host LTS releases. Or it would be as easy as switching the sources to old.

What I'll likely do is switch my sources to yakkety since the that is available in old-releases. Then update to that. But I found that changing upgrade options from LTS to normal and trying to do-release-upgrade -d didn't find it. So needs to be done by hand it looks. Having some packages on ports and others on old-releases doesn't help here.

I have found that 16.04 is very unstable on PPC. The desktop crashes four times on load. On 12.04 I found Zeitgeist used to haunt me one in a while. But on 16.04 it is atrocious! A shell script can suddenly kill the desktop with zenity. Software centre crashes before even loading and when opening a deb. Not very impressed with this LTS.

I'll likely apply the "Debian hack" eventually. I find Firefox ESR to actually be stable on 12.04 and 16.04 so far. Where as on Debian Jessie it mostly crashed. But it has the certificate issue with almost all websites needing five clicks just to look at a page. I installed updated ca-certificates for xenial but it doesn't help. They must have tightened this up only recently so browsers just a few years old are rejected. Because it only happened once in a while a couple of years back on 12.04 but on 16.04 it happens all the time! And I would have expected Firefox to be way newer between two LTS releases. But no it doesn't help. I haven't updated my mobile browser in years so don't know I'm only getting this on older desktop browsers.

Well, that's my current experiences with Ubuntu on PPC, fun times are pending. :D
 
Last edited:
Well. Not as much work as fixing my system when I updated to 2019 packages without desktop support. Yet. Had I known this was going to happen I would have updated my system earlier. It also affects the old-releases archive as these have broken release files as well. Seems they are doing it in purpose.

The problem seems to be stuck on these release files. And I've read it being a problem for people who did a fresh install to fix a broken system only to find they couldn't update it. One way could be to store the database files locally with fixed release files. I tried to FTP the needed files down but there were so many I gave up waiting for it. Even without the package pools there is GB of reference files! A better way would be a local web cache where the release files are substituted. What I'm looking into now is how apt stores the files locally. I'd like to see if I could copy that and replicate working components. Then I could create a package that people could use to download which would install missing components.

I've tried Fienix and had an install from years ago. But I tried to upgrade the packages and it broke it. The brisk-menu broke the system and it didn't recover. So ended up merging it with Ubuntu as I needed space for updating. I've got a working setup on Ubuntu and like the way it works and looks. I would need to replicate that on anything else like Fienix. I also have trouble getting things working as it misses out on Synaptic and GDdebi plus all the other apps I like. So I find I need to install all these apps on the terminal to replicate what I've got as they aren't installed as standard and then I can get stuck if they aren't listed in my sources.
 
Last edited:
Hello every one!

I've cracked it! I have a working solution! :D

This week, after fixing my broken packages, I kept researching and testing on how to solve the missing powerpc arch issue. I did a bit of research on it, finding I had left it too late to update in time, and did testing trying to work around it. I even used Wayback at one stage as 2022 release files still had powerpc listed. But that still broke and not all files had been cached. I was looking into setting up an apt cache and proxy next until I thought about looking into how the package lists are stored by apt. I then found a correlation between package files online and ones stored in the local package lists. I did a test, duplicating a security package list locally, ran an apt upgrade and it detected the packages! :shock:

So doing it all manually was not workable as when ever the package lists are updated again the files were erased. I then created a shell script to run after an apt update and confirmed missing package lists could be found and downloaded. This worked well after issuing an apt update. But I found a related issue was that the system updater erased the missing lists after it found updates and then said depends could not be satisfied. So I looked into hooking into apt and found I could hook into the update process and install a script that is called every time it updates. Great!

The result is I ended up producing a small package to solve it. I call it a solution rather than solved as it works around the issue but does do so in a transparent as can be manner. Just install this and the process will be automatic. After the next apt update it will scan for missing packages, then download and populate the package lists if found. It will print out what it is checking for and if it finds it online. You can run it manually (as root) from /usr/sbin/update-package-lists and edit the config stored at /etc/update-package-lists.cfg to customise it slightly. By default it will look for all binary packages for the current arch and release with the standard, updates, backports, security and proposed packages in main, multiverse, restricted and universe components. Default settings are in main script and changed in config file.

It's available here from my Drive account. Feel free to share the news. Grab it while it's hot! :p
 
Hi there,

Can this approach be adapted for 12.04 as internal display problems higher on a Titanium Powerbook G4, I would love to download a version of python3 and python3-pip, vim, and build essentials or stuff to compile c, Java.

Thanks
 
Hi. Yes it should. But it may get stuck on the depends as 16.04 was the lowest I checked it with AFAIR. You will need to change URI in config as it defaults to ports. Apart from that it will probe for the release running automatically.

Is there a problem with 12.04? I checked the http://old-releases.ubuntu.com/ubuntu/dists/precise files and powerpc still looks listed in release files.
 
Thanks for looking, when I get time I will see if I can get it to work with 12.04.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.