diff --git a/man.changes b/man.changes index 47e09ae..9892011 100644 --- a/man.changes +++ b/man.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Thu Aug 27 07:38:06 UTC 2020 - Dr. Werner Fink + +- Set libexecdir at build time for wrapper (boo#1175813) +- Do the same in mandb.service + ------------------------------------------------------------------- Mon Jun 15 07:49:33 UTC 2020 - Dr. Werner Fink diff --git a/man.spec b/man.spec index 6f3e903..03c90af 100644 --- a/man.spec +++ b/man.spec @@ -185,7 +185,7 @@ printer (using groff). done patch --backup --suffix=.s10 ${FUZZ+"--fuzz=$FUZZ"} -p0 < %{SOURCE10} gcc $CFLAGS -I gl/lib/ -I include/ --include config.h -D LOCALEDIR="\"%{_datarootdir}/locale\"" \ - -o wrapper %{SOURCE5} -L gl/lib/.libs/ -lgnu + -D LIBEXECDIR="\"%{_libexecdir}\"" -o wrapper %{SOURCE5} -L gl/lib/.libs/ -lgnu %check if ! make check; then @@ -263,6 +263,7 @@ find %{buildroot} -type f -name "*.la" -delete -print %if 0%{?suse_version} >= 1500 install -m 0644 %{SOURCE8} %{buildroot}%{_unitdir}/ install -m 0644 %{SOURCE9} %{buildroot}%{_unitdir}/ + sed -ri 's|@@LIBEXECDIR@@|%{_libexecdir}|' %{buildroot}%{_unitdir}/mandb.service %endif %endif diff --git a/mandb.service b/mandb.service index ab00eb2..a723b0f 100644 --- a/mandb.service +++ b/mandb.service @@ -9,4 +9,4 @@ Group=man Type=oneshot Nice=5 IOSchedulingClass=idle -ExecStart=/usr/lib/man-db/do_mandb +ExecStart=@@LIBEXECDIR@@/man-db/do_mandb diff --git a/wrapper.c b/wrapper.c index a617ae4..1736265 100644 --- a/wrapper.c +++ b/wrapper.c @@ -44,6 +44,9 @@ #include "manconfig.h" +#ifndef LIBEXECDIR +# define LIBEXECDIR "/usr/lib" +#endif /* this list is used to authenticate the program running. * it is fixed at compile time to avoid a full class of @@ -59,8 +62,8 @@ static struct { { "_man", "src/man", "man" }, { "_mandb", "src/mandb", "man" }, #endif - { "man", "/usr/lib/man-db/man", "man" }, - { "mandb", "/usr/lib/man-db/mandb", "man" }, + { "man", LIBEXECDIR "/man-db/man", "man" }, + { "mandb", LIBEXECDIR "/man-db/mandb", "man" }, { 0, 0, 0, }}; char *program_name;