Re: update63.html completeness

2018-04-14 Thread j


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 

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



Re: update63.html completeness

2018-04-13 Thread Raf Czlonka
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, j...@bitminer.ca 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, j...@bitminer.ca wrote:
> > > > Hi,
> > > >
> > > > I noticed a couple of inconsistencies between upgrade63.html and
> > > > INSTALL..  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
> 25302530  144244
> 
> 
> > 
> > 
> > > > Here is a patch to fix upgrade63 but I'm not sure how to
> > > > go about fixing all INSTALL. an easy way.
> > > 
> > > They are built from /usr/src/distrib/notes/. You probably only have to
> > > edit m4.common.
> > > 
> 



Re: update63.html completeness

2018-04-13 Thread j

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, j...@bitminer.ca wrote:
> Hi,
>
> I noticed a couple of inconsistencies between upgrade63.html and
> INSTALL..  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
25302530  144244






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

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





Re: update63.html completeness

2018-04-13 Thread Stuart Henderson
On 2018/04/13 20:29, Theo Buehler wrote:
> On Thu, Apr 12, 2018 at 05:04:32PM -0600, j...@bitminer.ca wrote:
> > Hi,
> > 
> > I noticed a couple of inconsistencies between upgrade63.html and
> > INSTALL..  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. an easy way.
> 
> They are built from /usr/src/distrib/notes/. You probably only have to
> edit m4.common.
> 



Re: update63.html completeness

2018-04-13 Thread Theo Buehler
On Thu, Apr 12, 2018 at 05:04:32PM -0600, j...@bitminer.ca wrote:
> Hi,
> 
> I noticed a couple of inconsistencies between upgrade63.html and
> INSTALL..  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. an easy way.

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