Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 25 Jun 2017 20:24:21 -0700
From:      Mark Millard <markmi@dsl-only.net>
To:        Justin Hibbits <jhibbits@freebsd.org>
Cc:        ppc@freebsd.org
Subject:   Re: r320347: ABI breakage for 32-bit powerpc, introduction of 64-bit time_t
Message-ID:  <0D344289-1A8F-4550-B07B-EFA48E058D5B@dsl-only.net>
In-Reply-To: <CAHSQbTDe_ex_vJ3JTePnVfafEUegE0s3J3DQtxUfyu5j3Kmc-w@mail.gmail.com>
References:  <CAHSQbTDe_ex_vJ3JTePnVfafEUegE0s3J3DQtxUfyu5j3Kmc-w@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
[pkg delete -a and pkg remove -a do not work
as documented --at least in any context that
I've tried. See bugzilla 219979.]

On 2017-Jun-25, at 7:34 PM, Justin Hibbits <jhibbits@freebsd.org> wrote:

> Hi all,
> 
> Thanks to the testing by Andreas Tobler, and others, 32-bit powerpc targets
> (powerpc.powerpc, powerpc.powerpcspe) now use a 64-bit time_t.  This is a
> significant ABI breakage, and as such should be handled with care.  For
> one, live in-place updates cannot be done.  You must install via an
> alternate root.  Additionally, all ports, and any local binaries, must be
> recompiled with the new ABI, or bad/strange/bizarre things could happen.
> 
> The safest route is to perform a clean install.  Second to that, the
> following procedure could be used to perform an upgrade:
> 
> * Boot to an alternate medium (CD, DVD, memstick, temporary image on swap,
> or another hard drive, etc)
> * Mount your runtime filesystems to, e.g., /mnt
> * pkg remove -a on your runtime system (in chroot)

Unfortunately pkg delete -a  and pkg remove -a stop
at pkg itself and do not deal with the rest in the
order it processes the packages.  (pkg need not be
last.) See bugzilla 219979.

Even if only pkg was left behind it sounds like pkg
also needs to be gotten rid of (creating the powerpc
pkg bootstrap problem in its place).

The force flag (-f) likely can be used to enable pkg
to include itself. I've not tried to know if it deals
with the other packages that come after it in its
order of going through the packages.

> * Install to /mnt
> * Rebuild all ports
> * Reboot to new y2038-safe system

As I remember there is not even a minimal powerpc
(or powerpc64) repository that provides only a pkg
package for the standard pkg bootstrap. So once pkg
is gone it can not be used in its own
build/installation sequence until that sequence
has established pkg as available.

This aspect also applies to the clean-install
sequence if I remember right: there is no pkg
present after that install. What is available
tries to find a repository to get a pkg package
from --and fails last I knew.

It has been a long time since I've dealt with
this issue.

===
Mark Millard
markmi at dsl-only.net




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?0D344289-1A8F-4550-B07B-EFA48E058D5B>