Vincent Cappe
2010-Sep-23 20:43 UTC
[ogg-dev] [resent][PATCH/liboggz] Fix an issue with the symlinks for pre-0.9.9 tool names
When files with pre-0.9.9 tool names exists in $(exec_prefix)/bin, "make DESTDIR=${staging_dir} install" tries to delete them, which may cause a failure for lack of permissions (quite likely to happen when building a package as a normal user), and is wrong anyway (nothing outside of DESTDIR should ever be changed by "make install"). With this patch, it will now cd to "$(DESTDIR)$(bindir)" and create relative symlinks there, if need be. This preverse the old behavior when DESTDIR=="", except for the fact the symlinks will be relative rather than absolute. --- src/tools/Makefile.am | 11 ++++++----- 1 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am index dc50341..9121528 100644 --- a/src/tools/Makefile.am +++ b/src/tools/Makefile.am @@ -74,10 +74,11 @@ oggz_codecs_LDADD = $(OGGZ_LIBS) # Add symlinks for deprecated tool names, if they are already installed; # see http://lists.xiph.org/pipermail/ogg-dev/2008-July/001083.html install-exec-local: + cd $(DESTDIR)$(bindir) && \ for p in dump diff info merge rip ; do \ - if test -e $(exec_prefix)/bin/oggz$$p ; then \ - $(RM) $(exec_prefix)/bin/oggz$$p ; \ - $(LN_S) $(exec_prefix)/bin/oggz-$$p $(exec_prefix)/bin/oggz$$p ; \ + if test -e oggz$$p ; then \ + $(RM) oggz$$p ; \ + $(LN_S) oggz-$$p oggz$$p ; \ fi ; \ done @@ -89,7 +90,7 @@ install-exec-local: # such systems. uninstall-local: for p in dump diff info merge rip ; do \ - if test -L $(exec_prefix)/bin/oggz$$p ; then \ - $(RM) $(exec_prefix)/bin/oggz$$p ; \ + if test -L $(DESTDIR)$(bindir)/oggz$$p ; then \ + $(RM) $(DESTDIR)$(bindir)/oggz$$p ; \ fi ; \ done -- Resent, since it did not make it to the list the first time. For the record, new (hopefully) working conf: [format] subjectprefix = PATCH/liboggz [sendemail] from = Vincent Cappe <vcappe at gmail.com> to = Ogg Development <ogg-dev at xiph.org> to = Conrad Parker <conrad at metadecks.org> cc = Vincent Cappe <vcappe at gmail.com>
Conrad Parker
2010-Sep-24 09:16 UTC
[ogg-dev] [resent][PATCH/liboggz] Fix an issue with the symlinks for pre-0.9.9 tool names
Hi, On 24 September 2010 05:43, Vincent Cappe <vcappe at gmail.com> wrote:> When files with pre-0.9.9 tool names exists in $(exec_prefix)/bin, > "make DESTDIR=${staging_dir} install" tries to delete them, which > may cause a failure for lack of permissions (quite likely to happen > when building a package as a normal user), and is wrong anyway > (nothing outside of DESTDIR should ever be changed by "make install"). > > With this patch, it will now cd to "$(DESTDIR)$(bindir)" and create > relative symlinks there, if need be. This preverse the old behavior > when DESTDIR=="", except for the fact the symlinks will be relative > rather than absolute.thanks, applied to 1.0-stable and master branches. Conrad.> --- > ?src/tools/Makefile.am | ? 11 ++++++----- > ?1 files changed, 6 insertions(+), 5 deletions(-) > > diff --git a/src/tools/Makefile.am b/src/tools/Makefile.am > index dc50341..9121528 100644 > --- a/src/tools/Makefile.am > +++ b/src/tools/Makefile.am > @@ -74,10 +74,11 @@ oggz_codecs_LDADD = $(OGGZ_LIBS) > ?# Add symlinks for deprecated tool names, if they are already installed; > ?# see http://lists.xiph.org/pipermail/ogg-dev/2008-July/001083.html > ?install-exec-local: > + ? ? ? cd $(DESTDIR)$(bindir) && \ > ? ? ? ?for p in dump diff info merge rip ; do \ > - ? ? ? ? if test -e $(exec_prefix)/bin/oggz$$p ; then \ > - ? ? ? ? ? $(RM) $(exec_prefix)/bin/oggz$$p ; \ > - ? ? ? ? ? $(LN_S) $(exec_prefix)/bin/oggz-$$p $(exec_prefix)/bin/oggz$$p ; \ > + ? ? ? ? if test -e oggz$$p ; then \ > + ? ? ? ? ? $(RM) oggz$$p ; \ > + ? ? ? ? ? $(LN_S) oggz-$$p oggz$$p ; \ > ? ? ? ? ?fi ; \ > ? ? ? ?done > > @@ -89,7 +90,7 @@ install-exec-local: > ?# such systems. > ?uninstall-local: > ? ? ? ?for p in dump diff info merge rip ; do \ > - ? ? ? ? if test -L $(exec_prefix)/bin/oggz$$p ; then \ > - ? ? ? ? ? $(RM) $(exec_prefix)/bin/oggz$$p ; \ > + ? ? ? ? if test -L $(DESTDIR)$(bindir)/oggz$$p ; then \ > + ? ? ? ? ? $(RM) $(DESTDIR)$(bindir)/oggz$$p ; \ > ? ? ? ? ?fi ; \ > ? ? ? ?done > -- > Resent, since it did not make it to the list the first time. > For the record, new (hopefully) working conf: > [format] > ? ?subjectprefix = PATCH/liboggz > [sendemail] > ? ?from = Vincent Cappe <vcappe at gmail.com> > ? ?to = Ogg Development <ogg-dev at xiph.org> > ? ? ? ?to = Conrad Parker <conrad at metadecks.org> > ? ?cc = Vincent Cappe <vcappe at gmail.com> > >