Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package mm-common for openSUSE:Factory checked in at 2021-03-08 15:18:19 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/mm-common (Old) and /work/SRC/openSUSE:Factory/.mm-common.new.2378 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "mm-common" Mon Mar 8 15:18:19 2021 rev:8 rq:877359 version:1.0.2 Changes: -------- --- /work/SRC/openSUSE:Factory/mm-common/mm-common.changes 2020-06-11 10:00:39.882381149 +0200 +++ /work/SRC/openSUSE:Factory/.mm-common.new.2378/mm-common.changes 2021-03-08 15:20:36.394085845 +0100 @@ -1,0 +2,11 @@ +Thu Mar 04 07:37:41 UTC 2021 - Wang Jun <jgw...@suse.com> + +- Update to version 1.0.2: + * util/doc-install.pl: Update for Doxygen >= 1.8.16 + (Kjell Ahlstedt) + * doc-reference.py: Don't include DESTDIR in the DevHelp base path + (Kjell Ahlstedt) Issue #2 (Mart Raudsepp) + * dist-build-scripts.py: Remove files from distribution, if requested + (Kjell Ahlstedt) + +------------------------------------------------------------------- Old: ---- mm-common-1.0.1.tar.xz New: ---- mm-common-1.0.2.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ mm-common.spec ++++++ --- /var/tmp/diff_new_pack.CWuxlL/_old 2021-03-08 15:20:36.930086238 +0100 +++ /var/tmp/diff_new_pack.CWuxlL/_new 2021-03-08 15:20:36.934086241 +0100 @@ -1,7 +1,7 @@ # # spec file for package mm-common # -# Copyright (c) 2020 SUSE LLC +# Copyright (c) 2021 SUSE LLC # Copyright (c) 2016 Bj??rn Lie, Bryne, Norway. # # All modifications and additions to the file contributed by third parties @@ -18,7 +18,7 @@ Name: mm-common -Version: 1.0.1 +Version: 1.0.2 Release: 0 Summary: Common build files of the GNOME C++ bindings License: GPL-2.0-or-later ++++++ mm-common-1.0.1.tar.xz -> mm-common-1.0.2.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/ChangeLog new/mm-common-1.0.2/ChangeLog --- old/mm-common-1.0.1/ChangeLog 2020-06-04 19:02:07.421745000 +0200 +++ new/mm-common-1.0.2/ChangeLog 2020-09-25 13:54:04.141054200 +0200 @@ -1,3 +1,55 @@ +2020-09-25 Kjell Ahlstedt <kjellahlst...@gmail.com> + + 1.0.2 + +2020-09-25 Kjell Ahlstedt <kjellahlst...@gmail.com> + + Autotools builds: Create only .tar.xz tarballs + + This is what Meson does. + +2020-09-25 Kjell Ahlstedt <kjellahlst...@gmail.com> + + Makefile.am: Remove the name of a removed file + + Should have been fixed when skeletonmm/tools/dist-cmd.py was removed. + +2020-09-02 Kjell Ahlstedt <kjellahlst...@gmail.com> + + Python files: Use the 'with' statement when files are opened + +2020-09-02 Kjell Ahlstedt <kjellahlst...@gmail.com> + + dist-build-scripts.py: Remove files from dist, if requested + + The caller (a meson.build file in e.g. glibmm) can specify git-tracked + files and directories that shall not be included in the tarball. + They shall be removed from MESON_DIST_ROOT. + +2020-07-20 Kjell Ahlstedt <kjellahlst...@gmail.com> + + doc-reference.py: Fix the DevHelp base path + + The DevHelp base path shall not include DESTDIR. Fixes #2 + +2020-06-17 Kjell Ahlstedt <kjellahlst...@gmail.com> + + util/doc-install.pl: Improve the update for Doxygen >= 1.8.16 + + * skeletonmm/doc/reference/meson.build: + * util/doc-install.pl: Move some code from meson.build to doc-install.pl, + where regular expressions can be used. + +2020-06-15 Kjell Ahlstedt <kjellahlst...@gmail.com> + + util/doc-install.pl: Update for Doxygen >= 1.8.16 + + Doxygen 1.8.16 and later does not store tag file names in the html files. + + * skeletonmm/doc/reference/meson.build: + * util/doc-install.pl: Modify so that references to other modules are + still updated in the html files when they are installed. + 2020-06-04 Kjell Ahlstedt <kjellahlst...@gmail.com> 1.0.1 @@ -1574,63 +1626,3 @@ Also, refine some of the substitutions performed and add new ones to translate entity references to numerical code points. -2009-08-18 Daniel Elstner <dani...@openismus.com> - - Pass the gmmproc module directory to Perl - - * build/generate-binding.am (gmmproc): Pass -I"$(GMMPROC_DIR)/pm" to - the Perl interpreter in the default command line to invoke gmmproc. - -2009-08-18 Daniel Elstner <dani...@openismus.com> - - Do not append slash to DOXYGEN_TAGFILES locations - - * build/doc-reference.am (dist_devhelpDATA_INSTALL): Strip trailing - slash from $(htmlrefdir), if there is one. - (dh_xsl_params): Strip trailing slash from $(htmlrefpub). - * macros/mm-doc.m4 (_MM_ARG_WITH_TAGFILE_DOC): Strip the trailing - slash from $mm_htmlrefdir and $mm_htmlrefpub if there is one, instead - of appending one. Do append the slash to the locations listed in the - DOCINSTALL_FLAGS output variable, but omit it for DOXYGEN_TAGFILES. - Apparently Doxygen is not trying to be smart when it automatically - appends a trailing slash to the external documentation base paths. - Rather, it just mindlessly appends it no matter what, ending up with - a double slash if there already was one. - -2009-08-18 Daniel Elstner <dani...@openismus.com> - - Correct spelling and grammar in README - - * README: Fix typing and spelling mistakes and improve the wording. - -2009-08-17 Daniel Elstner <dani...@openismus.com> - - Write news entry for mm-common 0.5 - -2009-08-17 Daniel Elstner <dani...@openismus.com> - - Increment version to mm-common 0.5 - -2009-08-17 Daniel Elstner <dani...@openismus.com> - - Put overview documentation into README file - - * README: Compile the overview sent to the gtkmm mailing list into - a proper document. Make the text slightly more formal and provide - explanations for some things not covered in the original mail. - Mention that the shipped libstdc++.tag file was not created by us. - -2009-08-17 Daniel Elstner <dani...@openismus.com> - - Flesh out AUTHORS file for release - -2009-08-17 Daniel Elstner <dani...@openismus.com> - - Implement generic --disable-deprecated-api macro - - * macros/mm-dietlib.m4: New Autoconf macro file for configuration - macros that have the effect of reducing the size of the compiled - binding library. - (MM_ARG_DISABLE_DEPRECATED_API): New M4 macro for use by C++ bindings - in order to allow deprecated API to be omitted from the library build. - diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/Makefile.am new/mm-common-1.0.2/Makefile.am --- old/mm-common-1.0.1/Makefile.am 2020-06-04 19:02:07.241744300 +0200 +++ new/mm-common-1.0.2/Makefile.am 2020-09-25 13:54:04.041053300 +0200 @@ -116,7 +116,6 @@ skeletonmm/untracked/README skeletonmm_script_files = \ - skeletonmm/tools/dist-cmd.py \ skeletonmm/tools/generate_defs_and_docs.sh skeletonmm_files = $(skeletonmm_script_files) $(skeletonmm_data_files) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/NEWS new/mm-common-1.0.2/NEWS --- old/mm-common-1.0.1/NEWS 2020-06-04 19:02:07.241744300 +0200 +++ new/mm-common-1.0.2/NEWS 2020-09-25 13:54:04.041053300 +0200 @@ -1,3 +1,13 @@ +mm-common 1.0.2 (2020-09-25) + +* util/doc-install.pl: Update for Doxygen >= 1.8.16 + (Kjell Ahlstedt) +* doc-reference.py: Don't include DESTDIR in the DevHelp base path + (Kjell Ahlstedt) Issue #2 (Mart Raudsepp) +* dist-build-scripts.py: Remove files from distribution, if requested + (Kjell Ahlstedt) + + mm-common 1.0.1 (2020-06-04) * Make libstdc++.tag retrieval work for Windows diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/configure.ac new/mm-common-1.0.2/configure.ac --- old/mm-common-1.0.1/configure.ac 2020-06-04 19:02:07.245744500 +0200 +++ new/mm-common-1.0.2/configure.ac 2020-09-25 13:54:04.045053500 +0200 @@ -15,12 +15,12 @@ ## You should have received a copy of the GNU General Public License ## along with mm-common. If not, see <http://www.gnu.org/licenses/>. -AC_INIT([mm-common], [1.0.1], [https://gitlab.gnome.org/GNOME/mm-common/issues/], +AC_INIT([mm-common], [1.0.2], [https://gitlab.gnome.org/GNOME/mm-common/issues/], [mm-common], [http://www.gtkmm.org/]) AC_PREREQ([2.59]) AC_CONFIG_SRCDIR([util/mm-common-prepare.in]) -AM_INIT_AUTOMAKE([1.9 -Wno-portability check-news dist-bzip2 no-define std-options]) +AM_INIT_AUTOMAKE([1.9 -Wno-portability check-news no-dist-gzip dist-xz no-define std-options]) # Support silent build rules. # Disable by either passing --disable-silent-rules to configure or passing V=1 to make. m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/meson.build new/mm-common-1.0.2/meson.build --- old/mm-common-1.0.1/meson.build 2020-06-04 19:02:07.245744500 +0200 +++ new/mm-common-1.0.2/meson.build 2020-09-25 13:54:04.045053500 +0200 @@ -1,7 +1,7 @@ # This file is part of mm-common. project('mm-common', - version: '1.0.1', + version: '1.0.2', meson_version: '>= 0.50.0', # required for python3.path() license: 'GPLv2+' ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/skeletonmm/doc/reference/meson.build new/mm-common-1.0.2/skeletonmm/doc/reference/meson.build --- old/mm-common-1.0.1/skeletonmm/doc/reference/meson.build 2020-06-04 19:02:07.309744600 +0200 +++ new/mm-common-1.0.2/skeletonmm/doc/reference/meson.build 2020-09-25 13:54:04.045053500 +0200 @@ -24,10 +24,13 @@ htmlrefdir = htmlrefpub endif doxygen_tagfiles += ' "' + doxytagfile + '=' + htmlrefpub + '"' - if not htmlrefdir.endswith('/') - htmlrefdir += '/' - endif + + # Doxygen <= 1.8.15 docinstall_flags += ['-l', doxytagfile.split('/')[-1] + '@' + htmlrefdir] + if htmlrefpub != htmlrefdir + # Doxygen >= 1.8.16 + docinstall_flags += ['-l', 's@' + htmlrefpub + '@' + htmlrefdir] + endif endif endforeach diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/build_scripts/dist-build-scripts.py new/mm-common-1.0.2/util/build_scripts/dist-build-scripts.py --- old/mm-common-1.0.1/util/build_scripts/dist-build-scripts.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/build_scripts/dist-build-scripts.py 2020-09-25 13:54:04.049053400 +0200 @@ -2,17 +2,20 @@ # External command, intended to be called with meson.add_dist_script() in meson.build -# sys.argv[1] sys.argv[2] -# dist-build-scripts.py <root_src_dir> <relative_script_dir> +# argv[1] argv[2] argv[3:] +# dist-build-scripts.py <root_src_dir> <script_dir> <no_dist>... -# <relative_script_dir> is the directory with the build scripts, relative to <root_source_dir>. +# <script_dir> The directory with the build scripts, relative to <root_source_dir>. +# <no_dist> Zero or more names (relative to MESON_DIST_ROOT) of files and +# directories that shall not be distributed. import os import sys import shutil +dist_root = os.getenv('MESON_DIST_ROOT') src_script_dir = os.path.join(sys.argv[1], sys.argv[2]) -dist_script_dir = os.path.join(os.getenv('MESON_DIST_ROOT'), sys.argv[2]) +dist_script_dir = os.path.join(dist_root, sys.argv[2]) # Create the distribution script directory, if it does not exist. os.makedirs(dist_script_dir, exist_ok=True) @@ -29,15 +32,26 @@ shutil.copy(os.path.join(src_script_dir, file), dist_script_dir) # Don't distribute .gitignore files. -for dirpath, dirnames, filenames in os.walk(os.getenv('MESON_DIST_ROOT')): +for dirpath, dirnames, filenames in os.walk(dist_root): if '.gitignore' in filenames: os.remove(os.path.join(dirpath, '.gitignore')) # Remove an empty MESON_DIST_ROOT/build directory. -dist_build_dir = os.path.join(os.getenv('MESON_DIST_ROOT'), 'build') +dist_build_dir = os.path.join(dist_root, 'build') if os.path.isdir(dist_build_dir): try: os.rmdir(dist_build_dir) except OSError: # Ignore the error, if not empty. pass + +# Remove specified files and directories from the MESON_DIST_ROOT directory. +for rel_path in sys.argv[3:]: + abs_path = os.path.join(dist_root, rel_path) + if os.path.isfile(abs_path): + os.remove(abs_path) + elif os.path.isdir(abs_path): + shutil.rmtree(abs_path, ignore_errors=True) + else: + # Ignore non-existent files and directories. + print('--- Info:', abs_path, 'not found, not removed.') diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/build_scripts/dist-changelog.py new/mm-common-1.0.2/util/build_scripts/dist-changelog.py --- old/mm-common-1.0.1/util/build_scripts/dist-changelog.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/build_scripts/dist-changelog.py 2020-09-25 13:54:04.049053400 +0200 @@ -2,7 +2,7 @@ # External command, intended to be called with meson.add_dist_script() in meson.build -# sys.argv[1] +# argv[1] # dist-changelog.py <root_source_dir> import os @@ -20,7 +20,5 @@ '--max-count=200', '--pretty=tformat:%cd %an <%ae>%n%n %s%n%w(0,0,2)%+b', ] -logfile = open(os.path.join(os.getenv('MESON_DIST_ROOT'), 'ChangeLog'), mode='w') -result = subprocess.run(cmd, stdout=logfile) -logfile.close() -sys.exit(result.returncode) +with open(os.path.join(os.getenv('MESON_DIST_ROOT'), 'ChangeLog'), mode='w') as logfile: + sys.exit(subprocess.run(cmd, stdout=logfile).returncode) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/build_scripts/doc-reference.py new/mm-common-1.0.2/util/build_scripts/doc-reference.py --- old/mm-common-1.0.1/util/build_scripts/doc-reference.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/build_scripts/doc-reference.py 2020-09-25 13:54:04.053053400 +0200 @@ -91,13 +91,14 @@ # <devhelpfile> is a relative or absolute path in the build directory. # <htmlrefdir> and <devhelpdir> are installation directories, relative to {prefix}. devhelpfile = sys.argv[3] - devhelpdir = os.path.join(os.getenv('MESON_INSTALL_DESTDIR_PREFIX'), sys.argv[4]) - htmlrefdir = os.path.join(os.getenv('MESON_INSTALL_DESTDIR_PREFIX'), sys.argv[5]) + destdir_devhelpdir = os.path.join(os.getenv('MESON_INSTALL_DESTDIR_PREFIX'), sys.argv[4]) + destdir_htmlrefdir = os.path.join(os.getenv('MESON_INSTALL_DESTDIR_PREFIX'), sys.argv[5]) + prefix_htmlrefdir = os.path.join(os.getenv('MESON_INSTALL_PREFIX'), sys.argv[5]) build_dir = os.path.dirname(devhelpfile) # Create the installation directories, if they do not exist. - os.makedirs(htmlrefdir, exist_ok=True) - os.makedirs(devhelpdir, exist_ok=True) + os.makedirs(destdir_htmlrefdir, exist_ok=True) + os.makedirs(destdir_devhelpdir, exist_ok=True) # Install html files. cmd = [ @@ -107,7 +108,7 @@ '--verbose', '--mode=0644', ] + sys.argv[6:] + [ - '-t', htmlrefdir, + '-t', destdir_htmlrefdir, '--glob', '--', os.path.join(build_dir, 'html', '*'), @@ -122,8 +123,8 @@ os.path.join(MMDOCTOOLDIR, 'doc-install.pl'), '--verbose', '--mode=0644', - '--book-base=' + htmlrefdir.rstrip('/'), - '-t', devhelpdir, + '--book-base=' + prefix_htmlrefdir.rstrip('/'), + '-t', destdir_devhelpdir, '--', devhelpfile, ] diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/build_scripts/generate-binding.py new/mm-common-1.0.2/util/build_scripts/generate-binding.py --- old/mm-common-1.0.1/util/build_scripts/generate-binding.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/build_scripts/generate-binding.py 2020-09-25 13:54:04.053053400 +0200 @@ -33,10 +33,8 @@ '--namespace=' + namespace, '--parent_dir=' + parent_dir, ] + sys.argv[5:] - output_file_obj = open(output_file, mode='w') - result = subprocess.run(cmd, stdout=output_file_obj) - output_file_obj.close() - return result.returncode + with open(output_file, mode='w') as output_file_obj: + return subprocess.run(cmd, stdout=output_file_obj).returncode # Invoked from custom_target() in meson.build. def gmmproc(): diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/doc-install.pl new/mm-common-1.0.2/util/doc-install.pl --- old/mm-common-1.0.1/util/doc-install.pl 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/doc-install.pl 2020-09-25 13:54:04.053053400 +0200 @@ -27,6 +27,7 @@ # Globals my $message_prefix; my %tags_hash; +my %subst_hash; my $book_base; my $perm_mode; my $target_dir; @@ -57,7 +58,8 @@ Mandatory arguments to long options are mandatory for short options, too. --book-base=BASEPATH use reference BASEPATH for Devhelp book - -l, --tag-base=TAGFILE\@BASEPATH use BASEPATH for references from TAGFILE + -l, --tag-base=TAGFILE\@BASEPATH use BASEPATH for references from TAGFILE (Doxygen <= 1.8.15) + -l, --tag-base=s\@BASEPUB\@BASEPATH substitute BASEPATH for BASEPUB (Doxygen >= 1.8.16) -m, --mode=MODE override file permission MODE (octal) -t, --target-directory=DIRECTORY copy all SOURCE arguments into DIRECTORY -T, --no-target-directory treat DEST as normal file @@ -84,6 +86,23 @@ exit 1; } +sub substitute_pub($$) +{ + my ($pubpath, $ref_count) = @_; + foreach my $key (keys %subst_hash) + { + # Don't use m// or s/// here. $key may contain characters + # that are special in regular expressions. + if (substr($pubpath, 0, length($key)) eq $key) + { + substr($pubpath, 0, length($key)) = $subst_hash{$key}; + $$ref_count++; + last; + } + } + return $pubpath; +} + # Copy file to destination while translating references on the fly. # Sniff the content for the file type, as it is always read in anyway. sub install_file ($$$) @@ -97,16 +116,27 @@ or error('Failed to read ', $basename, ': ', $!); } - if (%tags_hash and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )<html[>\s]/sx) + if ((%tags_hash or %subst_hash) and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )<html[>\s]/sx) { + # Doxygen 1.8.15 and earlier stores the tag file name and BASEPATH in the html files. my $count = 0; my $total = $buf =~ s!(?<= \s) doxygen="((?> [^:"]+)):((?> [^"]*))" # doxygen="(TAGFILE):(BASEPATH)" (?> \s+) ((?> href|src) =") \2 ((?> [^"]*)") # (href|src=")BASEPATH(RELPATH") ! $3 . ((exists $tags_hash{$1}) ? (++$count, $tags_hash{$1}) : $2) . $4 !egsx; - my $change = $total ? "rewrote $count of $total" - : 'no'; + my $change = $total ? "rewrote $count of $total" : 'no'; + + if ($total == 0 and %subst_hash) + { + # Doxygen 1.8.16 and later does not store the tag file name and BASEPATH in the html files. + # The previous s!!! expression won't find anything to substitute. + $total = $buf =~ + s!(\s (?:href|src) = ") ([^"]+") # (href|src=")(BASEPUB RELPATH") + ! $1 . substitute_pub($2, \$count) + !egsx; + $change = $total ? "rewrote $count" : 'no'; + } notice('Translating ', $basename, ' (', $change, ' references)'); } elsif (defined($book_base) and $buf =~ m/\A(?> \s*)(?> (?> <[?!][^<]+ )* )<book\s/sx) @@ -132,23 +162,41 @@ or warning('Failed to set ', $basename, ' permissions: ', $!); } -# Split TAGFILE@BASEPATH argument into key/value pair +# Split TAGFILE@BASEPATH or s@BASEPUB@BASEPATH argument into key/value pair sub split_key_value ($) { my ($mapping) = @_; my ($name, $path) = split(m'@', $mapping, 2); - error('Invalid base path mapping: ', $mapping) unless (defined($name) and $name ne ''); + if ($name ne 's') # Doxygen 1.8.15 and earlier + { + error('Invalid base path mapping: ', $mapping) unless (defined($name) and $name ne ''); - if (defined $path) + if (defined $path) + { + return ($name, $path, 0); + } + notice('Not changing base path for tag file ', $name); + return (); + } + else # Doxygen 1.8.16 and later { - notice('Using base path ', $path, ' for tag file ', $name); - return ($name, $path); + ($name, $path) = split(m'@', $path, 2); + + error('Invalid base path mapping: ', $mapping) unless (defined($name) and $name ne ''); + + if (defined $path) + { + return ($name, $path, 1); + } + notice('Not changing base path for ', $name); + return (); } - notice('Not changing base path for tag file ', $name); - return (); } +# ====== +# main() +# ====== # Define line leader of log messages $message_prefix = path_basename($0); $message_prefix =~ s/\.[^.]*$//s if (defined $message_prefix); @@ -170,10 +218,41 @@ or exit 2; error('Invalid permission mode: ', $mode) unless ($mode =~ m/^[0-7]+$/s); - $perm_mode = oct($mode); - %tags_hash = map(split_key_value($_), @tags); + + foreach my $tag (@tags) + { + my ($name, $path, $subst) = split_key_value($tag); + if (defined($subst)) + { + # Translate a local absolute path to URI. + # (If Autotools (not Meson) is used, this translation is + # also done in mm-doc.m4 (MM_ARG_WITH_TAGFILE_DOC). + # $path will not be changed, if these substitutions have been + # performed before.) + $path =~ s!\\!/!g; + $path =~ s! !%20!g; + $path =~ s!^/!file:///!; + $path =~ s!^([A-Za-z]:/)!file:///$1!; # Windows: C:/path + if ($path !~ m!/$!) + { + $path .= '/'; + } + + if (!$subst) + { + notice('Using base path ', $path, ' for tag file ', $name); + $tags_hash{$name} = $path; + } + else + { + notice('Using base path ', $path, ' for ', $name); + $subst_hash{$name} = $path; + } + } + } } + notice('Using base path ', $book_base, ' for Devhelp book') if (defined $book_base); if ($target_nodir) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/meson_aux/extra-dist-cmd.py new/mm-common-1.0.2/util/meson_aux/extra-dist-cmd.py --- old/mm-common-1.0.1/util/meson_aux/extra-dist-cmd.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/meson_aux/extra-dist-cmd.py 2020-09-25 13:54:04.053053400 +0200 @@ -27,9 +27,8 @@ '--max-count=200', '--pretty=tformat:%cd %an <%ae>%n%n %s%n%w(0,0,2)%+b', ] -logfile = open(os.path.join(os.getenv('MESON_DIST_ROOT'), 'ChangeLog'), mode='w') -result = subprocess.run(cmd, stdout=logfile) -logfile.close() +with open(os.path.join(os.getenv('MESON_DIST_ROOT'), 'ChangeLog'), mode='w') as logfile: + result = subprocess.run(cmd, stdout=logfile) # Distribute the libstdc++.tag file in addition to the files in the local git clone. # shutil.copy2() copies timestamps and some other file metadata. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/mm-common-1.0.1/util/meson_aux/skeletonmm-tarball.py new/mm-common-1.0.2/util/meson_aux/skeletonmm-tarball.py --- old/mm-common-1.0.1/util/meson_aux/skeletonmm-tarball.py 2020-06-04 19:02:07.313744500 +0200 +++ new/mm-common-1.0.2/util/meson_aux/skeletonmm-tarball.py 2020-09-25 13:54:04.053053400 +0200 @@ -39,11 +39,10 @@ else: mode = 'w' -tar_file = tarfile.open(output_file, mode=mode) -os.chdir(source_dir) # Input filenames are relative to source_dir. -for file in sys.argv[3:]: - tar_file.add(file) -tar_file.close() +with tarfile.open(output_file, mode=mode) as tar_file: + os.chdir(source_dir) # Input filenames are relative to source_dir. + for file in sys.argv[3:]: + tar_file.add(file) # Errors raise exceptions. If an exception is raised, Meson+ninja will notice # that the command failed, despite exit(0). sys.exit(0)