![]() ![]() |
David Bremner-2 |
![]() |
I know this is a sortof revert of some changes we have made over the
years, but Linux distros are going to (increasingly?) insist on absolute paths in shebangs [1]. We could just punt that on to the distro maintainers, but in the case of Debian that is basically me. I'm thinking a reasonable compromise is to leave /usr/bin/env in the source (to allow testing without configure or with a broken configure), and substitute on install. Thoughts? If the general approach sounds plausible, then we can move on to nitpicking my Make/shell [1]: See e.g. https://pagure.io/packaging-committee/issue/700, or https://www.debian.org/doc/debian-policy/ch-files.html#scripts _______________________________________________ notmuch mailing list [hidden email] https://notmuchmail.org/mailman/listinfo/notmuch |
![]() ![]() |
David Bremner-2 |
![]() |
This can be used to set shebang lines during install.
--- configure | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/configure b/configure index ab7e1610..20961763 100755 --- a/configure +++ b/configure @@ -53,6 +53,7 @@ fi # Set several defaults (optionally specified by the user in # environment variables) +BASH=${BASH:-bash} CC=${CC:-cc} CXX=${CXX:-c++} CFLAGS=${CFLAGS:--g -O2} @@ -557,6 +558,16 @@ else errors=$((errors + 1)) fi +printf "Checking for bash... " +if command -v ${BASH} > /dev/null; then + have_bash=1 + bash_absolute=$(command -v ${BASH}) + printf "Yes (%s).\n" "$bash_absolute" +else + have_bash=0 + printf "No. (%s not found)\n" "${BASH}" +fi + printf "Checking for python... " have_python=0 @@ -1081,6 +1092,10 @@ emacslispdir=${EMACSLISPDIR} # be installed emacsetcdir=${EMACSETCDIR} +# Whether bash exists, and if so where +HAVE_BASH = ${have_bash} +BASH_ABSOLUTE = ${bash_absolute} + # Whether there's an emacs binary available for byte-compiling HAVE_EMACS = ${have_emacs} @@ -1262,6 +1277,10 @@ NOTMUCH_DEFAULT_XAPIAN_BACKEND=${default_xapian_backend} # do we have man pages? NOTMUCH_HAVE_MAN=$((have_sphinx)) +# Whether bash exists, and if so where +NOTMUCH_HAVE_BASH=${have_bash} +NOTMUCH_BASH_ABSOLUTE=${bash_absolute} + # Name of python interpreter NOTMUCH_PYTHON=${python} -- 2.18.0 _______________________________________________ notmuch mailing list [hidden email] https://notmuchmail.org/mailman/listinfo/notmuch |
![]() ![]() |
David Bremner-2 |
![]() |
In reply to this post by David Bremner-2
Follow distro-centric rules to reduce the chance of surprising
behaviour due to PATH changes --- emacs/Makefile.local | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/emacs/Makefile.local b/emacs/Makefile.local index 1b3ef584..3ec381e3 100644 --- a/emacs/Makefile.local +++ b/emacs/Makefile.local @@ -110,7 +110,10 @@ endif mkdir -p "$(DESTDIR)$(emacsetcdir)" install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)" mkdir -p "$(DESTDIR)$(prefix)/bin/" - install $(emacs_mua) "$(DESTDIR)$(prefix)/bin" +ifeq ($(HAVE_BASH),1) + sed "1s|^#!.*$$|#! $(BASH_ABSOLUTE)|" < $(emacs_mua) > $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua + chmod 755 $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua +endif ifeq ($(WITH_DESKTOP),1) mkdir -p "$(DESTDIR)$(desktop_dir)" desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop) -- 2.18.0 _______________________________________________ notmuch mailing list [hidden email] https://notmuchmail.org/mailman/listinfo/notmuch |
![]() ![]() |
Tomi Ollila-2 |
![]() |
On Sun, Sep 09 2018, David Bremner wrote:
> Follow distro-centric rules to reduce the chance of surprising > behaviour due to PATH changes > --- > emacs/Makefile.local | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/emacs/Makefile.local b/emacs/Makefile.local > index 1b3ef584..3ec381e3 100644 > --- a/emacs/Makefile.local > +++ b/emacs/Makefile.local > @@ -110,7 +110,10 @@ endif > mkdir -p "$(DESTDIR)$(emacsetcdir)" > install -m0644 $(emacs_images) "$(DESTDIR)$(emacsetcdir)" > mkdir -p "$(DESTDIR)$(prefix)/bin/" > - install $(emacs_mua) "$(DESTDIR)$(prefix)/bin" > +ifeq ($(HAVE_BASH),1) > + sed "1s|^#!.*$$|#! $(BASH_ABSOLUTE)|" < $(emacs_mua) > $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua 1/2 is OK(*). This change is OK too -- although the trailing $$ could be dropped -- regexps are greedy by default so .* will consume rest of the input anyway. Tomi (*) we have not cared $IFS characters in user input, as there is no danger users shooting themselves this way ;D > + chmod 755 $(DESTDIR)$(prefix)/bin/notmuch-emacs-mua > +endif > ifeq ($(WITH_DESKTOP),1) > mkdir -p "$(DESTDIR)$(desktop_dir)" > desktop-file-install --mode 0644 --dir "$(DESTDIR)$(desktop_dir)" $(emacs_mua_desktop) > -- > 2.18.0 > > _______________________________________________ > notmuch mailing list > [hidden email] > https://notmuchmail.org/mailman/listinfo/notmuch notmuch mailing list [hidden email] https://notmuchmail.org/mailman/listinfo/notmuch |
Free forum by Nabble | Edit this page |