tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: x11/qt4-libs and pkg_rolling-replace



On Sat February 27 2010 16:54:21 David Holland wrote:
> On Sat, Feb 27, 2010 at 10:50:20AM -0700, Sverre Froyen wrote:
>  > For I while now I've noticed that whenever I use
>  > pkg_rolling-replace, I have to manually reinstall a number of Qt
>  > packages.  It appears that "make replace" in x11/qt4-libs is (one
>  > of?) the culprit.  After the "make replace" step, the following
>  > files are missing from /usr/pkg/qt4.  The missing files belong to
>  > qt4-tools and others.
> 
> Also, check if qt4-libs's own install rules are doing something
> antisocial like rm -rf $(PREFIX)/include/Qt. Some packages seem to
> think that doing stuff like that is a good idea...

It does not appear to do so.

After more testing I find that the "make replace" step deletes the files only 
some of the time.  More careful investigation shows that "make replace" has to 
be repeated before the corruption occurs.

Starting with a "good" system:

1) make in qt4-libs and qt4-tools
2) make replace in qt4-libs
no missing files at this point
3) make replace in qt4-tools (this step is probably irrelevant)
4) make replace in qt4-libs*
now there are missing include files
5) make replace in qt4-tools*
tools file restored (I'm still missing qdbus and qca2 files)
6) make replace in qt4-libs*
no missing tools files
7) make replace in qt4-libs*
tools files are missing again

* after removing .{install,replace,package}_done

I was tracking /usr/pkg/qt4/include/QtUiTools/quiloader.h in order to narrow 
down exactly where the files are deleted.  The culprit is the 
/usr/sbin/pkg_delete step (see the last line in the "make replace" output 
fragment):

===> Replacing for qt4-libs-4.6.2
WARNING: experimental target - DATA LOSS MAY OCCUR.
Creating binary package: qt4-libs-4.6.2
Creating package /usr/pkgsrc/x11/qt4-libs/work.x86_64/qt4-libs-4.6.2
=> Preserving existing +INSTALLED_INFO file.
=> Preserving existing +REQUIRED_BY file.
===> Deinstalling for qt4-libs-4.6.2
Running /usr/sbin/pkg_delete -K /var/db/pkg  qt4-libs-4.6.2

I was thinking that perhaps the tool files somehow become associated with the 
qt4-libs package.  That does not appear to be the case, however, as shown by 
the following pkg_info output (run just before step 7):

$ pkg_info -F /usr/pkg/qt4/include/QtUiTools/quiloader.h
Information for qt4-tools-4.6.2:                                        

Comment:
QT GUI (WYSIWYG) builder and other tools

Requires:
libtool-base-[0-9]*
libXinerama>=1.0.1 
cups>=1.3.11nb3    
qt4-libs>=4.6.1nb2
...

BTW The above was done without USE_DESTDIR or PKG_DEVELOPER

Sverre


Home | Main Index | Thread Index | Old Index