Daniel Brockman <[EMAIL PROTECTED]> writes: > Daniel Brockman <[EMAIL PROTECTED]> writes:
Thank you Daniel, for your investigation and help! >> I write: >> >>> # This shouldn't be needed as of 20.3 >>> -local_lpath := >>> ${local_lpath}:$(EMACS_COMMON)/usr/share/emacs/${runtime_ver}/leim >>> +#local_lpath := ${local_lpath}:/usr/share/emacs/${runtime_ver}/leim >> >> Actually, make that >> >> # This shouldn't be needed as of 20.3 >> -local_lpath := >> ${local_lpath}:$(EMACS_COMMON)/usr/share/emacs/${runtime_ver}/leim >> +local_lpath := ${local_lpath}:/usr/share/emacs/${runtime_ver}/leim > > Okay, so removing the $(EMACS_COMMON) bits created some problems of > its own. Actually, I have no idea how I was able to compile with that > patch applied. > > Anyway, I've looked at how the emacs21 package does things and here's > what I've got. You need to change both Makefile.in, like this, > > > Index: Makefile.in > =================================================================== > RCS file: /cvsroot/emacs/emacs/Makefile.in,v > retrieving revision 1.301 > diff -u -r1.301 Makefile.in > --- Makefile.in 11 Dec 2004 00:03:11 -0000 1.301 > +++ Makefile.in 9 May 2005 20:52:44 -0000 > @@ -523,6 +523,8 @@ > ### we may be creating several layers of directories (for example, > ### /usr/local/lib/emacs/19.0/mips-dec-ultrix4.2), we use mkinstalldirs > ### instead of mkdir. Not all systems' mkdir programs have the `-p' flag. > +### > +### ${debepkgdir} is set in debian/rules. > mkdir: FRC > if [ -d ${datadir} ]; then true; else \ > $(srcdir)/mkinstalldirs ${datadir}; \ > @@ -532,7 +534,7 @@ > ${bindir} ${docdir} ${libexecdir} \ > ${datadir}/emacs/site-lisp \ > ${datadir}/emacs/${version}/site-lisp \ > - `echo ${locallisppath} | sed 's/:/ /g'` > + `echo ${debepkgdir}${locallisppath} | sed 's|:| ${debepkgdir}|g'` > > ### Delete all the installed files that the `install' target would > ### create (but not the noninstalled files such as `make all' would > > and debian/rules, like this, > > > --- orig/rules > +++ mod/rules > @@ -180,14 +180,14 @@ > EMACS_GTK = $(CURDIR)/debian/${bin_name}-gtk > EMACS_EL = $(CURDIR)/debian/${bin_name}-el > > -local_lpath := $(EMACS_COMMON)/etc/${bin_name}:$(EMACS_COMMON)/etc/emacs > -local_lpath := > ${local_lpath}:$(EMACS_COMMON)/usr/local/share/emacs/${runtime_ver}/site-lisp > -local_lpath := ${local_lpath}:$(EMACS_COMMON)/usr/local/share/emacs/site-lisp > -local_lpath := > ${local_lpath}:$(EMACS_COMMON)/usr/share/emacs/${runtime_ver}/site-lisp > -local_lpath := ${local_lpath}:$(EMACS_COMMON)/usr/share/emacs/site-lisp > +local_lpath := /etc/${bin_name}:/etc/emacs > +local_lpath := ${local_lpath}:/usr/local/share/emacs/${runtime_ver}/site-lisp > +local_lpath := ${local_lpath}:/usr/local/share/emacs/site-lisp > +local_lpath := ${local_lpath}:/usr/share/emacs/${runtime_ver}/site-lisp > +local_lpath := ${local_lpath}:/usr/share/emacs/site-lisp > > # This shouldn't be needed as of 20.3 > -local_lpath := > ${local_lpath}:$(EMACS_COMMON)/usr/share/emacs/${runtime_ver}/leim > +local_lpath := ${local_lpath}:/usr/share/emacs/${runtime_ver}/leim OK. I got it now. > # These files must always exist, i.e. can't ever be cleaned. > PERSISTENT_AUTOGEN_FILES := debian/control debian/copyright > @@ -418,11 +418,13 @@ > ${expand_file_subst_vars} > > define build_cmd > - ${MAKE} CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" > + ${MAKE} CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" \ > + locallisppath=${local_lpath} > endef Thanks. I forgot about this one. > emacs_inst = (${MAKE} install \ > INSTALL_STRIP="-s" \ > + debepkgdir=${1} \ > prefix=${1}/usr \ > sharedstatedir=${1}/var/lib \ > localstatedir=${1}/var \ OK, I realized I had not taking too much care of this change. However, I think we could avoid patching Makefile.in and adding and extra 'debepkgdir' parameter, that way: emacs_inst = (${MAKE} install \ INSTALL_STRIP="-s" \ prefix=${1}/usr \ sharedstatedir=${1}/var/lib \ localstatedir=${1}/var \ libexecdir=${1}/usr/lib \ infodir=${1}/usr/share/info/${info_emacsdir} \ mandir=${1}/usr/share/man \ manext=.1${bin_name} \ locallisppath=$(EMACS_COMMON)/$(subst :,:$(EMACS_COMMON)/,${local_lpath})) What do you think? (I haven't tested) > @@ -467,11 +469,13 @@ > # Emacs must be boostraped at least once in order to > # generate .elc files > CFLAGS="${CFLAGS}" ./configure ${emacs_confflags} > + ${build_cmd} epaths-force > ${build_cmd} bootstrap > ${build_cmd} distclean > > # Build emacs > CFLAGS="${CFLAGS}" ./configure ${emacs_confflags} > + ${build_cmd} epaths-force > ${build_cmd} > # save binary from deletion > mv src/emacs src/x-emacs > @@ -479,6 +483,7 @@ > > # Build emacs-gtk > CFLAGS="${CFLAGS}" ./configure ${emacs_gtk_confflags} > + ${build_cmd} epaths-force > time ${build_cmd} > # save binary from deletion > mv src/emacs src/gtk-emacs > @@ -486,6 +491,7 @@ > > # Build emacs-nox > CFLAGS="${CFLAGS}" ./configure ${emacs_nox_confflags} > + ${build_cmd} epaths-force > time ${build_cmd} > # save binary from deletion > mv src/emacs src/nox-emacs Oh right, I understand now why it is necessary to run it out of configure now. > That'll let you get rid of the `load-path' hack --- > /etc/emacs/site-start.d/00ensure-policy-conforming-load-path.el. > > Yes, it actually seems to work this time. :-) Thank you very much! -- J閞鬽e Marant