Le 8 janv. 2004, � 12:06, Martin Costabel a �crit :
On 8 janv. 2004, at 11:45, Mich�le Garoche wrote:
dpkg : error /sw/fink/dists/unstable/main/binary-darwin-powerpc/editors/ scite_1.57-12_darwin-powerpc.deb (--install) :
try to replace directory /sw/share/pixmaps in package sodipodi with an element of different type


Useful additional information would be: What *are* the two different types of /sw/share/pixmaps in the two packages?
dpkg -c /sw/fink/dists/unstable/main/binary-darwin-powerpc/editors/scite_1.57 -12_darwin-powerpc.deb |grep share/pixmaps
dpkg -L sodipodi |grep share/pixmaps
I've already replied on 8th.

dpkg -L sodipodi | grep share/pixmaps
/sw/share/pixmaps
/sw/share/pixmaps/sodipodi.png

dpkg -c /sw/fink/dists/unstable/main/binary-darwin-powerpc/editors/scite_1.57 -12_darwin-powerpc.deb |grep share/pixmaps
-rwxr-xr-x root/admin 6831 2004-01-10 12:55:07 ./sw/share/pixmaps




In fact, I've discovered that scite conflicts with any package which has previously installed an image in /share/pixmaps. I've removed sodipodi and scite, install scite again after cleaning every single mention of it and now it conflicts with mozilla.

So, it seems there is a problem with an index in an eventual database. But investigating more, it looks like there is a problem with an if syntax in makefile. For me, the problem resides in this line in the makefile (see below after info file):
gnomeprefix:=$(shell pkg-config --variable=prefix gtk+-2.0 2>/dev/null)


This is supposed to resolve as gnomeprefix not defined if I understood well the script, but apparently it resolves in gnomeprefix defined with something invisible in it. The problem may reside too in the shell I use: zsh, but I'll guess I'm not alone in this case. The lines before the writing control file are:

/bin/rm -rf /sw/src/root-scite-1.57-12
/bin/mkdir -p /sw/src/root-scite-1.57-12/sw
/bin/mkdir -p /sw/src/root-scite-1.57-12/DEBIAN
/var/tmp/tmp.2.AyH5PV
install -s ../bin/SciTE /sw/src/root-scite-1.57-12/sw/bin
install -d /sw/src/root-scite-1.57-12/sw/share/scite
install ../src/*.properties /sw/src/root-scite-1.57-12/sw/share/scite
install ../doc/*.html /sw/src/root-scite-1.57-12/sw/share/scite
install ../doc/SciTEIco.png /sw/src/root-scite-1.57-12/sw/share/scite
install ../doc/PrintHi.png /sw/src/root-scite-1.57-12/sw/share/scite
install Sci48M.png /sw/src/root-scite-1.57-12/sw/share/pixmaps
/usr/bin/install -d -m 755 /sw/src/root-scite-1.57-12/sw/share/doc/scite
/usr/bin/install -c -p -m 644 scite/License.txt scite/README /sw/src/root-scite-1.57-12/sw/share/doc/scite/
/bin/rm -f /sw/src/root-scite-1.57-12/sw/info/dir /sw/src/root-scite-1.57-12/sw/info/dir.old /sw/src/root-scite-1.57-12/sw/share/info/dir /sw/src/root-scite-1.57-12/sw/share/info/dir.old
/bin/rm -rf scite-1.57-12



In fact there are two makefiles, which rely on the definition of a GTK2 variable. Three nested if determine various flags for compiling and installing based on this variable.


Part of the info file:
CompileScript: <<
 #!/bin/sh
 cd scintilla/gtk
 make OSTYPE=darwin GTK2=1 prefix=%p
 cd ../..
 cd scite/gtk
 perl -pi -e 's/-DNDEBUG -Os/-DNDEBUG -Dunix -Os/g' makefile
 make GTK2=1 prefix=%p
<<
InstallScript: <<
 #!/bin/sh
 cd scite/gtk
 mkdir -p %i/bin
 make GTK2=1 install prefix=%i
 cd %i/share/%n
 perl -pi -e 's/netscape/dillo/g' *.properties
<<

Part of the first make file:

# If explicit setting of GTK1 or GTK2 then use that else look for
# pkg-config which is an OK indication that GTK2 is available
ifdef GTK2
CONFIGFLAGS=pkg-config --cflags gtk+-2.0
else
ifdef GTK1
CONFIGFLAGS=gtk-config --cflags
else
ifneq (,$(findstring /,$(shell whereis -b pkg-config)))
CONFIGFLAGS=pkg-config --cflags gtk+-2.0
else
CONFIGFLAGS=gtk-config --cflags
endif
endif
endif

Part of the second makefile:
# If explicit setting of GTK1 or GTK2 then use that else look for
# pkg-config which is an OK indication that GTK2 is available
ifndef GTK1
ifndef GTK2
ifneq (,$(findstring /,$(shell whereis -b pkg-config)))
GTK2=1
else
GTK1=1
endif
endif
endif

# For the Gnome desktop stuff to work, prefix must point to where Gnome thinks it is.
# "[EMAIL PROTECTED]@" is printed here when gnome-config unavailable. Seems harmless.
ifdef GTK2
CONFIGFLAGS=pkg-config --cflags gtk+-2.0
CONFIGLIB=pkg-config --libs gtk+-2.0 gthread-2.0
gnomeprefix:=$(shell pkg-config --variable=prefix gtk+-2.0 2>/dev/null)
else
CONFIGFLAGS=gtk-config --cflags
CONFIGLIB=gtk-config --libs
gnomeprefix:=$(shell gnome-config --prefix 2>/dev/null)
endif
ifdef gnomeprefix
prefix=$(gnomeprefix)
else
prefix=/usr
endif
datadir=$(prefix)/share
pixmapdir=$(datadir)/pixmaps
bindir=$(prefix)/bin
SYSCONF_PATH=$(prefix)/share/scite


........

install:
        install -s $(PROG) $(bindir)
        install -d $(SYSCONF_PATH)
        install ../src/*.properties $(SYSCONF_PATH)
        install ../doc/*.html $(SYSCONF_PATH)
        install ../doc/SciTEIco.png $(SYSCONF_PATH)
        install ../doc/PrintHi.png $(SYSCONF_PATH)
ifdef gnomeprefix
ifndef GTK2
        install SciTE.desktop $(datadir)/gnome/apps/Applications
endif
        install Sci48M.png $(pixmapdir)
endif


When compiling as is, that the line: install Sci48M.png $(pixmapdir) which has problem.

If I suppress GTK2=1 in this line, scite installs but with an error in the makefile, which I don't like:
/bin/rm -rf /sw/src/root-scite-1.57-13
/bin/mkdir -p /sw/src/root-scite-1.57-13/sw
/bin/mkdir -p /sw/src/root-scite-1.57-13/DEBIAN
/var/tmp/tmp.2.g0UXxr
whereis: illegal option -- b
usage: whereis program [...]
install -s ../bin/SciTE /sw/src/root-scite-1.57-13/sw/bin
install -d /sw/src/root-scite-1.57-13/sw/share/scite
install ../src/*.properties /sw/src/root-scite-1.57-13/sw/share/scite
install ../doc/*.html /sw/src/root-scite-1.57-13/sw/share/scite
install ../doc/SciTEIco.png /sw/src/root-scite-1.57-13/sw/share/scite
install ../doc/PrintHi.png /sw/src/root-scite-1.57-13/sw/share/scite
install SciTE.desktop /sw/src/root-scite-1.57-13/sw/share/gnome/apps/Applications
install: /sw/src/root-scite-1.57-13/sw/share/gnome/apps/Applications: No such file or directory
make: *** [install] Error 71
/usr/bin/install -d -m 755 /sw/src/root-scite-1.57-13/sw/share/doc/scite
/usr/bin/install -c -p -m 644 scite/License.txt scite/README /sw/src/root-scite-1.57-13/sw/share/doc/scite/
/bin/rm -f /sw/src/root-scite-1.57-13/sw/info/dir /sw/src/root-scite-1.57-13/sw/info/dir.old /sw/src/root-scite-1.57-13/sw/share/info/dir /sw/src/root-scite-1.57-13/sw/share/info/dir.old
/bin/rm -rf scite-1.57-13


In this case it installs neither the desktop nor the pixmaps, because this line does not resolve:

ifneq (,$(findstring /,$(shell whereis -b pkg-config)))

Not sure it is correct.

I don't know how to tell in the makefile (which is saved as binary format), pkg-config is here and you should install the pixmaps and the desktop (or maybe only the pixmpas, don't know the rules here for gnome, gtk2 stuff) and please don't complain and make errors :-)

Mich�le
<http://micmacfr.homeunix.org>



-------------------------------------------------------
This SF.net email is sponsored by: Perforce Software.
Perforce is the Fast Software Configuration Management System offering
advanced branching capabilities and atomic changes on 50+ platforms.
Free Eval! http://www.perforce.com/perforce/loadprog.html
_______________________________________________
Fink-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/fink-devel

Reply via email to