update63.html completeness

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

update63.html completeness

j-62
Hi,

I noticed a couple of inconsistencies between upgrade63.html and
INSTALL.<platform>.  They don't both state to remove man pages and
include
files. Here is a patch to fix upgrade63 but I'm not sure how to
go about fixing all INSTALL.<platform> an easy way.


John


Index: upgrade63.html
===================================================================
RCS file: /cvs/www/faq/upgrade63.html,v
retrieving revision 1.4
diff -u -p -r1.4 upgrade63.html
--- upgrade63.html      3 Apr 2018 12:31:59 -0000       1.4
+++ upgrade63.html      5 Apr 2018 23:21:31 -0000
@@ -104,13 +104,14 @@ to the <a href="../stable.html">stable b
    --></pre></blockquote>

    <li><b>Spring cleaning in <tt>/usr/share</tt>.</b>
-  Remove all outdated manuals.
+  Remove all outdated manuals and .h files.
    Moreover, the relinking of libraries and kernels at boot time now
    happens in <tt>/usr/share/relink</tt>.
    The old relinking directory is no longer used and can be removed.

    <blockquote><pre>
    # <b>rm -r /usr/share/man</b>
+  # <b>rm -r /usr/include /usr/X11R6/include</b>
    # <b>rm -r /usr/share/compile</b><!--
    --></pre></blockquote>

@@ -342,6 +343,7 @@ access to the system console.
      --></pre></blockquote>

    <li><b>Install new userland.</b>
+    Clean out old man pages and include files.
      Save a copy of reboot(8), extract and install the release tarballs,
reboot.
      Install <tt>base63.tgz</tt> last, because the new base system, in
particular
      <a href="https://man.openbsd.org/OpenBSD-6.3/tar">tar(1)</a>,
@@ -364,6 +366,7 @@ access to the system console.
      or, if you use
      <a href="https:man.openbsd.org/OpenBSD-6.3/ksh">ksh(1)</a>, you can
do
      <blockquote><pre>
+    <b>rm -r /usr/share/man /usr/include /usr/X11R6/include</b>
      <b>cp /sbin/reboot /sbin/oreboot</b>
      <b>for _f in [!b]*63.tgz base63.tgz; do tar -C / -xzphf "$_f" ||
break; done</b>
      <b>/sbin/oreboot</b><!--

Reply | Threaded
Open this post in threaded view
|

Re: update63.html completeness

Theo Buehler-4
On Thu, Apr 12, 2018 at 05:04:32PM -0600, [hidden email] wrote:
> Hi,
>
> I noticed a couple of inconsistencies between upgrade63.html and
> INSTALL.<platform>.  They don't both state to remove man pages and
> include files.

Thanks. Now that I see this mail, I remember that you sent a similar
mail a while back which remained unanswered. Sorry about that.

What exactly should be listed by default on upgradeXX.html tends to lead
to long discussions. The fewer things the better. I list manuals because
users are more likely to be confused by a stale manual than by a stale
header.

If there are headers that are important to remove because they might
interfere with ports building, they will (hopefully) be listed on
upgradeXX.html.

> Here is a patch to fix upgrade63 but I'm not sure how to
> go about fixing all INSTALL.<platform> an easy way.

They are built from /usr/src/distrib/notes/. You probably only have to
edit m4.common.

Reply | Threaded
Open this post in threaded view
|

Re: update63.html completeness

Stuart Henderson
On 2018/04/13 20:29, Theo Buehler wrote:

> On Thu, Apr 12, 2018 at 05:04:32PM -0600, [hidden email] wrote:
> > Hi,
> >
> > I noticed a couple of inconsistencies between upgrade63.html and
> > INSTALL.<platform>.  They don't both state to remove man pages and
> > include files.
>
> Thanks. Now that I see this mail, I remember that you sent a similar
> mail a while back which remained unanswered. Sorry about that.
>
> What exactly should be listed by default on upgradeXX.html tends to lead
> to long discussions. The fewer things the better. I list manuals because
> users are more likely to be confused by a stale manual than by a stale
> header.
>
> If there are headers that are important to remove because they might
> interfere with ports building, they will (hopefully) be listed on
> upgradeXX.html.

To be honest, at least from the ports side, it's pretty unlikely that
these are going to be noticed in order to get listed.

Most people in a situation where failure to remove these is going to be
a real problem (i.e. bulk builders) either remove /usr/include/* (and
maybe others; /usr/libdata/* is another candidate) prior to upgrade,
or they use proot which will only populate the chroot with current
headers.


> > Here is a patch to fix upgrade63 but I'm not sure how to
> > go about fixing all INSTALL.<platform> an easy way.
>
> They are built from /usr/src/distrib/notes/. You probably only have to
> edit m4.common.
>

Reply | Threaded
Open this post in threaded view
|

Re: update63.html completeness

j-62
On 2018-04-13 14:08, Stuart Henderson wrote:

> On 2018/04/13 20:29, Theo Buehler wrote:
>> On Thu, Apr 12, 2018 at 05:04:32PM -0600, [hidden email] wrote:
>> > Hi,
>> >
>> > I noticed a couple of inconsistencies between upgrade63.html and
>> > INSTALL.<platform>.  They don't both state to remove man pages and
>> > include files.
>>
>> Thanks. Now that I see this mail, I remember that you sent a similar
>> mail a while back which remained unanswered. Sorry about that.
>>
>> What exactly should be listed by default on upgradeXX.html tends to
>> lead
>> to long discussions.

Seems to be true.

>> The fewer things the better. I list manuals because
>> users are more likely to be confused by a stale manual than by a stale
>> header.
>>
>> If there are headers that are important to remove because they might
>> interfere with ports building, they will (hopefully) be listed on
>> upgradeXX.html.
>
> To be honest, at least from the ports side, it's pretty unlikely that
> these are going to be noticed in order to get listed.
>
> Most people in a situation where failure to remove these is going to be
> a real problem (i.e. bulk builders) either remove /usr/include/* (and
> maybe others; /usr/libdata/* is another candidate) prior to upgrade,
> or they use proot which will only populate the chroot with current
> headers.

My full list was going to be: /usr/include /usr/X11R6/include
/usr/share/man
and as you say /usr/libdata.

What has caught me in the past:  sqlite3 removed from 6.0 base and a .h
file
which I can't remember at the moment.

The differences between 6.0 (say) and 6.2 are about 133 .h files and
2530 files
altogether [0].  For a serial upgrader like me, this amounts to
sufficient number of
noise files that I want to remove them.

(I didn't actually know this number until just now.  It seems
installation is
much more of a benefit to upgrading than I thought.  Not for disk space
but for
consistency.  Looks like I should reconsider my policy of upgrading all
the time.)

And as a result of this perhaps the advice should be to upgrade rarely
but
mostly to install.  And to somehow preserve /etc/* that is needed
post-install.


John



[0] calculated with

$ for a in `find 6.2/amd64 -name '*.tgz'` ; do
> tar tzf $a >> /tmp/62all.txt
> done
$ for a in `find 6.0/amd64 -name '*.tgz'` ; do
> tar tzf $a >> /tmp/60all.txt
> done
$ sort /tmp/60all.txt > /tmp/60alls.txt
$ sort /tmp/62all.txt > /tmp/62alls.txt
$ comm -2 -3 /tmp/60alls.txt /tmp/62alls.txt | wc
     2530    2530  144244


>
>
>> > Here is a patch to fix upgrade63 but I'm not sure how to
>> > go about fixing all INSTALL.<platform> an easy way.
>>
>> They are built from /usr/src/distrib/notes/. You probably only have to
>> edit m4.common.
>>

Reply | Threaded
Open this post in threaded view
|

Re: update63.html completeness

Raf Czlonka-2
Hi John,

Unless changes to the filesystem are required, there's no need for a
fresh install:

pkg_add sysclean

:^)

R

On Fri, Apr 13, 2018 at 11:13:12PM BST, [hidden email] wrote:

> On 2018-04-13 14:08, Stuart Henderson wrote:
> > On 2018/04/13 20:29, Theo Buehler wrote:
> > > On Thu, Apr 12, 2018 at 05:04:32PM -0600, [hidden email] wrote:
> > > > Hi,
> > > >
> > > > I noticed a couple of inconsistencies between upgrade63.html and
> > > > INSTALL.<platform>.  They don't both state to remove man pages and
> > > > include files.
> > >
> > > Thanks. Now that I see this mail, I remember that you sent a similar
> > > mail a while back which remained unanswered. Sorry about that.
> > >
> > > What exactly should be listed by default on upgradeXX.html tends to
> > > lead
> > > to long discussions.
>
> Seems to be true.
>
> > > The fewer things the better. I list manuals because
> > > users are more likely to be confused by a stale manual than by a stale
> > > header.
> > >
> > > If there are headers that are important to remove because they might
> > > interfere with ports building, they will (hopefully) be listed on
> > > upgradeXX.html.
> >
> > To be honest, at least from the ports side, it's pretty unlikely that
> > these are going to be noticed in order to get listed.
> >
> > Most people in a situation where failure to remove these is going to be
> > a real problem (i.e. bulk builders) either remove /usr/include/* (and
> > maybe others; /usr/libdata/* is another candidate) prior to upgrade,
> > or they use proot which will only populate the chroot with current
> > headers.
>
> My full list was going to be: /usr/include /usr/X11R6/include /usr/share/man
> and as you say /usr/libdata.
>
> What has caught me in the past:  sqlite3 removed from 6.0 base and a .h file
> which I can't remember at the moment.
>
> The differences between 6.0 (say) and 6.2 are about 133 .h files and 2530
> files
> altogether [0].  For a serial upgrader like me, this amounts to sufficient
> number of
> noise files that I want to remove them.
>
> (I didn't actually know this number until just now.  It seems installation
> is
> much more of a benefit to upgrading than I thought.  Not for disk space but
> for
> consistency.  Looks like I should reconsider my policy of upgrading all the
> time.)
>
> And as a result of this perhaps the advice should be to upgrade rarely but
> mostly to install.  And to somehow preserve /etc/* that is needed
> post-install.
>
>
> John
>
>
>
> [0] calculated with
>
> $ for a in `find 6.2/amd64 -name '*.tgz'` ; do
> > tar tzf $a >> /tmp/62all.txt
> > done
> $ for a in `find 6.0/amd64 -name '*.tgz'` ; do
> > tar tzf $a >> /tmp/60all.txt
> > done
> $ sort /tmp/60all.txt > /tmp/60alls.txt
> $ sort /tmp/62all.txt > /tmp/62alls.txt
> $ comm -2 -3 /tmp/60alls.txt /tmp/62alls.txt | wc
>     2530    2530  144244
>
>
> >
> >
> > > > Here is a patch to fix upgrade63 but I'm not sure how to
> > > > go about fixing all INSTALL.<platform> an easy way.
> > >
> > > They are built from /usr/src/distrib/notes/. You probably only have to
> > > edit m4.common.
> > >
>

Reply | Threaded
Open this post in threaded view
|

Re: update63.html completeness

j-62
In reply to this post by j-62

On 2018-04-13 17:09, Theo Buehler wrote:
...snip...

>
> Looks like you'd be interested in the sysutils/sysclean package:
>
> Comment:
> list obsolete files between OpenBSD upgrades
>
> Description:
> sysclean is a script designed to help remove obsolete files between
> OpenBSD
> upgrades.
>
> sysclean compares a reference root directory against the currently
> installed
> files, taking files from both the base system and packages into
> account.
>
> sysclean does not remove any files on the system. It only reports
> obsolete
> filenames or packages using out-of-date libraries.
>
> Maintainer: Sebastien Marie <[hidden email]>
>
> WWW: https://github.com/semarie/sysclean/
>

Well, not quite, but close.  Here are some selected lines from 160
reported:

# sysclean -a
/bsd61.rd
/bsd62.rd
/export
/usr/lib/libc.so.88.0
/usr/lib/libc.so.88.0.a
/usr/lib/libcrypto.so.38.0
....
/usr/include/struct.h
...
/etc/signify/openbsd-58-base.pub
/etc/signify/openbsd-58-fw.pub
/etc/signify/openbsd-58-pkg.pub
/etc/signify/openbsd-59-base.pub
/etc/signify/openbsd-59-fw.pub
/etc/signify/openbsd-59-pkg.pub
...
/var/nsd/etc/nsd_control.key
...
/var/unbound/unbound.log
...

Which is a mix of "only obsolete filenames", plus novel directories and
some
base files and package files and other stuff.  (This machine has been
continuously upgraded since about 5.5).

Thanks for the reference though.  This helps clean my disks and avoid
having
misleading .h files l(a)ying about.


John