Subject: Re: CVS commit: pkgsrc
To: None <tech-pkg@netbsd.org>
From: Jeremy C. Reed <reed@reedmedia.net>
List: tech-pkg
Date: 01/03/2004 12:52:48
On Sat, 3 Jan 2004, Michal Pasternak wrote:

> Why did you have to bump PKGREVISION for each package?

Because I was told too.

> I am just interested in your reasons as a pkgsrc-newbie, I think, that I can
> learn something from your explanation.

tiff was broken for amd64 platform (PR #23515).

For example, if an end-user installed a windowmaker package that required
old version of tiff, then windowmaker's functionality would be limited due
to broken tiff support.

Bumping PKGREVISIONS for all packages would not be needed for those users
using pkgsrc. But many users use pre-built packages. So we need to have a
way that specifically shows a difference between a windowmaker package
that depends on a working tiff and a windowmaker package that
possibly depends on the previous tiff.

See below ...

On Sat, 3 Jan 2004, Hubert Feyrer wrote:

> So you start bumping PKGREVISION for everything and it's mother, making it
> unclear if the pkg has changed or (actually) not. I think that was a very
> bad move, abusing PKGREVISION for something that it wasn't made for (think
> about the name!)

I agree that bumping PKGREVISION for everything is not the best solution.
(You cut out the rest of email about that. I also post other emails
suggesting ideas to improve this this past month or two.)

But it is the solution we have now. It is the method that is currently
used. It is the method my NetBSD sponsor (pkgsrc mentor) asked me to use.

I brought this up a few times on the mailing list in November and December
asking for a better solution and advice.

It is clear what the package changes are for. It makes sure that the
dependency is for new tiff. (If there is a better way to make it more
clear, please let me know.)

I don't understand what you mean about "PKGREVISION for something that it
wasn't made for". What I did was normal and has been done several times
before.

Just to let everyone know how I did this:

I used Thomas' getalldepends.sh script to create a list of makefiles and
buildlink2.mk files to fix.

Then I used Julio Merino's revbump.pl script to bump revisions for all the
Makefiles. And I used the update-depends script to update the
buildlink2.mk files.

I had to manually go through about 15 files to clean up or fix.

I had the huge diff (of over 700 files) reviewed by my sponsor. (And I
cleaned up some.)

It would have taken probably well over 100 man-hours to test. This would
be to try the 500 packages affected by this to see if old tiff would work
fine on amd64. (We already know that windowmaker and tiffinfo(1) didn't
work.) And (for any platform) to test if 500 new packages built using new
tiff-3.6.1 (or using new tiff utilities) would work fine when using
previous tiff package as the dependency. No one stepped up to volunteer to
do this.

   Jeremy C. Reed
   http://bsd.reedmedia.net/