edbrowse
Hi,
I'm trying updating edbrowse. I plan to submit the update to the
maintainer or to become maintainer of this package if it is not
maintained anymore. Samuel suggested me doing that, remembering a
message on this list who asked for an update.
But I've a problem doing dpkg-buildpackage. Here's attached the log, and
the rules file. this file is similar as the original one in edbrowse
3.4.1. I attach also rulejp, which is my rules file, I changed. But I
got a similar error with the ipsas.h (in /usr/include/mozjs).
The problem is that the file it doesn't find exists on my system, I
installed gnutils.
Note: compat contains "5".
So do I have to patch makefile directly? or does debhelper have
solutions for such problem?
Thanks,
Regards,
Jean-Philippe MENGUAL
#!/usr/bin/make -f
%:
dh $@
override_auto_build:
dh_auto_build -- -I/usr/include/mozjs -DXP_UNIX
#!/usr/bin/make -f
# Sample debian/rules that uses debhelper.
# GNU copyright 1997 to 1999 by Joey Hess.
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
# This is the debhelper compatibility version to use.
# This line moved to debian/compat
#export DH_COMPAT=4
CFLAGS = -g
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
CFLAGS += -O0
else
CFLAGS += -O2
endif
# Correct upstream's variables for Debian names
CFLAGS += -I/usr/include/mozjs -DXP_UNIX
LIBS = -lpcre -lssl -lmozjs -lcurl
# Avoid stripping binaries LFLAGS is upstream's name
# for additional linking flags!
LFLAGS = ""
build: build-stamp
build-stamp:
dh_testdir
$(MAKE) -C src CFLAGS="$(CFLAGS)" LIBS="$(LIBS)" LFLAGS="$(LFLAGS)" edbrowse
# minor fix required for upstream man page
sed -e's;^\.\.\(.\);.\1;' -e's;^ \.;.;' < doc/man-edbrowse-debian.1 > debian/edbrowse.1
touch build-stamp
clean:
dh_testdir
dh_testroot
rm -f build-stamp
rm -f debian/edbrowse.1
$(MAKE) -C src clean
dh_clean
install: build
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
dh_install
#chmod +x debian/edbrowse/usr/bin/edbrowse
# Build architecture-independent files here.
binary-indep: build install
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
dh_installdocs README
dh_installexamples
dh_installman --language=C debian/edbrowse.1
dh_installchangelogs -k CHANGES
dh_link
dh_strip
dh_fixperms
dh_compress
dh_installdeb
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install
# This is the makefile for edbrowse.
prefix = /usr/local
bindir = $(prefix)/bin
# Flags for gcc compilation.
# This assumes js and js-devel have been installed.
# These are available packages on fedora, and most other distros.
# You also need pcre-devel and openssl-devel
# Early adopters have occasionally needed -DMOZILLA_1_8_BRANCH
# This issue has cropped up on certain flavors of debian.
JS_CPPFLAGS = -DXP_UNIX -DX86_LINUX -I/usr/include/js
# C preprocessor flags. CPPFLAGS is used in the %.o: %.c implicit rule,
# available in GNU make.
CPPFLAGS = $(JS_CPPFLAGS)
# By default, we strip the executables.
# Override this behavior on the command line, by setting STRIP to the
# empty string. E.G., in order to build executables with debugging symbols,
# CFLAGS='-g -ggdb' make STRIP=''
STRIP=-s
# Normal load flags
LDFLAGS += $(STRIP)
# ESQL C load flags
#ESQLDFLAGS = $(STRIP) -Xlinker -rpath -Xlinker $(INFORMIXDIR)/lib:$(INFORMIXDIR)/lib/esql
# but it's better to put those two directories into /etc/ld.so.conf and then run ldconfig
ESQLDFLAGS = $(STRIP)
# Libraries for edbrowse.
# This assumes the javascript library is in /lib/libjs.so
# This is the case for fedora and debian.
# Override JSLIB on the command-line, if your distro uses a different name.
# E.G., make JSLIB=-lmozjs
JSLIB = -ljs
LDLIBS = -lpcre -lm -lssl $(JSLIB) -lcurl -lreadline -lcrypto
# Make the dynamically linked executable program by default.
# Edbrowse executable.
all: edbrowse
# edbrowse objects
EBOBJS = main.o buffers.o url.o auth.o http.o sendmail.o fetchmail.o \
html.o format.o cookies.o stringfile.o jsdom.o jsloc.o messages.o
# Header file dependencies.
$(EBOBJS) : eb.h eb.p messages.h tcp.h
# The implicit linking rule isn't good enough, because we don't have an
# edbrowse.o object, and it expects one.
edbrowse: $(EBOBJS) tcp.o dbstubs.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
# You probably need to be root to do this.
install:
install -Dm755 edbrowse $(bindir)/edbrowse
# If you had to build the javascript library yourself,
# link it into /usr/lib.
# If it's already there, do nothing.
# This has to be done as root.
jslink:
[ -f /usr/lib/libjs.so ] || ln -s /usr/local/js/src/Linux_All_DBG.OBJ/libjs.so /usr/lib/libjs.so
[ -f /usr/lib/libjs.a ] || ln -s /usr/local/js/src/Linux_All_DBG.OBJ/libjs.a /usr/lib/libjs.a
# Database files.
dbodbc.o dbinfx.o dbops.o : dbapi.h eb.h eb.p
# native Informix library for database access.
# Others could be built, e.g. Oracle, but odbc is the most general.
dbinfx.o : dbinfx.ec
esql -c dbinfx.ec
# Informix executable
edbrowseinf: $(EBOBJS) tcp.o dbops.o dbinfx.o
esql $(ESQLDFLAGS) -o edbrowseinf $(EBOBJS) tcp.o dbops.o dbinfx.o $(LDLIBS)
# odbc access
edbrowseodbc: LDLIBS += -lodbc
edbrowseodbc: $(EBOBJS) tcp.o dbops.o dbodbc.o
$(LINK.o) $^ $(LOADLIBES) $(LDLIBS) -o $@
# Build function prototypes.
# mkproto is Karl's program,
# with source in ../tools/mkproto.c.
proto: ../tools/mkproto
../tools/mkproto -g main.c buffers.c url.c auth.c http.c messages.c \
sendmail.c fetchmail.c html.c \
format.c cookies.c stringfile.c jsdom.c jsloc.c dbstubs.c >eb.p
# Can't think of a better way to insure that mkproto is built:
../tools/mkproto: ../tools/mkproto.c
$(MAKE) --directory=../tools
STATICLIBS = -lodbc -lpcre -lm -ljs -lcurl -lssl -lc -lcrypto -lpthread -lm -ldl -lrt
edbrowse.static: $(EBOBJS) tcp.o dbops.o dbodbc.o
cc --static $(LFLAGS) -o edbrowse.static $(EBOBJS) tcp.o dbops.o dbodbc.o $(STATICLIBS)
clean:
rm -f *.o edbrowse edbrowseinf edbrowseodbc edbrowse.static
Reply to: