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