diff --git a/jhbuild/modtypes/__init__.py b/jhbuild/modtypes/__init__.py index 8aee702f0..6b8cd26d5 100644 --- a/jhbuild/modtypes/__init__.py +++ b/jhbuild/modtypes/__init__.py @@ -234,6 +234,20 @@ def _clean_la_files(self, buildscript, installroot): if os.path.isdir(prefixdir): self._clean_la_files_in_dir(self, prefixdir) + def _clean_texinfo_dir_files(self, buildscript, installroot): + """This method removes GNU Texinfo dir files.""" + assert os.path.isabs(installroot) + assert os.path.isabs(buildscript.config.prefix) + prefixdir = os.path.join(installroot, buildscript.config.prefix[1:]) + if os.path.isdir(prefixdir): + dirfile = os.path.join(prefixdir, 'share/info/dir') + if os.path.isfile(dirfile): + try: + logging.info(_('Deleting dir file: %r') % (dirfile, )) + os.unlink(dirfile) + except OSError: + pass + def _process_install_files(self, installroot, curdir, prefix, errors): """Strip the prefix from all files in the install root, and move them into the prefix.""" @@ -287,6 +301,7 @@ def process_install(self, buildscript, revision): assert self.supports_install_destdir destdir = self.get_destdir(buildscript) self._clean_la_files(buildscript, destdir) + self._clean_texinfo_dir_files(buildscript, destdir) prefix_without_drive = os.path.splitdrive(buildscript.config.prefix)[1] stripped_prefix = prefix_without_drive[1:] diff --git a/triggers/Makefile.am b/triggers/Makefile.am index f6d4a5649..303d40f31 100644 --- a/triggers/Makefile.am +++ b/triggers/Makefile.am @@ -6,6 +6,7 @@ trigger_DATA = \ pango.trigger \ desktop-database.trigger \ mime-database.trigger \ - immodules.trigger + immodules.trigger \ + texinfo-dir.trigger EXTRA_DIST = $(trigger_DATA) diff --git a/triggers/texinfo-dir.trigger b/triggers/texinfo-dir.trigger new file mode 100644 index 000000000..4b2acae7b --- /dev/null +++ b/triggers/texinfo-dir.trigger @@ -0,0 +1,26 @@ +# Post-installation hook for GNU Texinfo. -*- mode: sh -*- +# +# Written by Ting-Wei Lan +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +# IfExecutable: install-info +# REMatch: ^share/info/.*\.info + +rm -f $JHBUILD_PREFIX/share/info/dir-new +for info in $JHBUILD_PREFIX/share/info/*.info; do + install-info $info $JHBUILD_PREFIX/share/info/dir-new +done +mv $JHBUILD_PREFIX/share/info/dir-new $JHBUILD_PREFIX/share/info/dir