[kde-freebsd] kdebase3/kdehier error

Brian Somers brian at Awfulhak.org
Mon May 14 16:36:16 CEST 2007


On Sat, 12 May 2007 11:19:23 +0200 Michael Nottebrock <lofi at freebsd.org> wrote:
> On Saturday, 12. May 2007, Michael Nottebrock wrote:
> > On Friday, 11. May 2007, Brian Somers wrote:
> > > Hi,
> > >
> > > It seems that there's a very purposeful bug in kdebase3,
> > > namely
> > >
> > > SUB_FILES=      kdm pkg-deinstall pkg-install pkg-message
> > >
> > > which contains pkg-install and pkg-deinstall.  These
> > > scripts explicitly remove PREFIX/share/templates/.keep_me
> > > which is carefully created by kdehier.
> > >
> > > If I "make -C /usr/ports/x11/kde3 package-recursive" it
> > > fails because of this (everything's "make install"d and
> > > the ensuing "make package-noinstall" fails for kdehier
> > > because kdebase3 has removed kdehier's .keep_me file).
> > >
> > > The cvs logs for pkg-{de,}install.in give no hint at
> > > their intent, so I'm at a bit of a loss as to why
> > > this is done.
> >
> > Short explanation:
> >
> > It's a bad hack, but we can't get rid of it easily.
> >
> > Long explanation:
> >
> > The .keep_me files in share/templates unfortunately show up as broken
> > desktop context menu entries - so we delete them in pkg-install if kdebase
> > is installed because we assume that if someone installs kdebase, they want
> > to use the desktop. We put them back if kdebase is deinstalled, because we
> > assume that the user might want to keep around other parts of KDE around
> > and even might install other ports which add context menu entries and then
> > reinstall kdebase later. The final deletion is left to the deinstallation
> > of kdehier.
> 
> FWIW, I think you should be able to work around this by defining 
> PACKAGE_BUILDING (like the FreeBSD package building cluster does) - this will 
> prevent pkg-install from being run in the post-install target of the kdebase3 
> port and thus should leave the .keep_me files intact.

Thanks for the description -- I see the dilemma!

I think maybe the Makefile should mention why this
is done and what the intended fix is...  From what
I can see the .keep_me can just be removed from
kdehier (as there's already a subdirectory of
share/templates in the directory list), but if
the problem runs deeper (to more .keep_me files)
then it's probably worth mentioning (again, in
the Makefile(s)) what the intended solutions are
(maybe kde should eventually ignore .keep_me files
or our ports system should be more clever about
pruning directories and the .keep_me files should
go).

I'll try the PACKAGE_BUILDING hack for now - I
suspect I also need it for other weirdness in
the ports tree :*)

Thanks.

-- 
Brian Somers                                          <brian at Awfulhak.org>
Don't _EVER_ lose your sense of humour !               <brian at FreeBSD.org>


More information about the kde-freebsd mailing list