summaryrefslogtreecommitdiff
path: root/pygnulib/GLImport.py
Commit message (Collapse)AuthorAgeFilesLines
* maint: run 'make update-copyright'Simon Josefsson2023-01-011-1/+1
|
* gnulib-tool.py: Finish implementing option --conditional-dependencies.Bruno Haible2022-08-101-1/+2
| | | | | | | | | | | | | | | | | | | | | * gnulib-tool.py (main) Accept options --conditional-dependencies, --no-conditional-dependencies. * pygnulib/GLModuleSystem.py (GLModuleTable.addConditional): Use str(module), not module, as key. Fix logic bug. (GLModuleTable.getCondition): Simplify. (GLModuleTable.transitive_closure): Show a warning when there are duplicate dependencies. Fix logic bug. (GLModuleTable.transitive_closure_separately): Simplify. (GLModuleTable.add_dummy): Ignore tests modules. Cope with multiple lib_SOURCES augmentation lines. Cope with comments at the end of a lib_SOURCES augmentation line. Add the dummy module at the end of the modules list. * pygnulib/GLTestDir.py (GLTestDir.execute): Remove the code that forces the dummy module to the end of the list. * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippets): Add code to terminate the shell functions. Add code for the dependencies from the unconditional to the conditional modules. Don't emit AM_CONDITIONAL for unconditional modules.
* gnulib-tool.py: Don't do license replacements in the autoconf snippets.Bruno Haible2022-08-091-2/+2
| | | | | | | | | * pygnulib/GLEmiter.py (GLEmiter.autoconfSnippet): Remove fileassistant argument. Don't invoke the 'aux' transformer here. Don't produce Windows CR-LFs on Windows. (GLEmiter.autoconfSnippets): Remove fileassistant argument. * pygnulib/GLImport.py (GLImport.gnulib_comp): Update all callers. * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
* gnulib-tool.py: Fix some code generation details.Bruno Haible2022-08-091-8/+8
| | | | | | | | | | | | | | | | | | | | | * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): When removing a lib_LDFLAGS line, remove also the newline. Fix regex that matches lib_SOMETHING. Add a newline after each '## begin gnulib module' line. Don't emit 'endif' lines without corresponding 'if'. When emitting a '+=' augmentation, make sure it does not get emitted a second time. Don't emit a blank line when there is no AM_CPPFLAGS augmentation. Update after getLink() changed. In the value of DEFAULT_TEXT_DOMAIN, backslash-escape the double-quotes. Don't produce Windows CR-LFs on Windows. Simplify. (GLEmiter.tests_Makefile_am): When removing a lib_LDFLAGS line, remove also the newline. Fix regex that matches lib_SOMETHING. Don't remove a blank line before EXTRA_DIST. Add a newline after each '## begin gnulib module' line. Set uses_subdirs also when there is a .c file in a subdir of tests/. When emitting a '+=' augmentation, make sure it does not get emitted a second time. Don't produce Windows CR-LFs on Windows. Simplify. * pygnulib/GLImport.py (GLImport.execute): Update after getLink() changed.
* gnulib-tool.py: Rename a method.Bruno Haible2022-08-071-1/+1
| | | | | | | * pygnulib/GLModuleSystem.py (GLModule.getAutoconfEarlySnippet): Renamed from GLModule.getAutoconfSnippet_Early. * pygnulib/GLImport.py: Update. * pygnulib/GLTestDir.py: Likewise.
* gnulib-tool.py: Make regex uses more straightforward.Bruno Haible2022-08-071-2/+2
| | | | | | | | | | * pygnulib/GLModuleSystem.py: Don't use flag re.S on regular expressions that are meant to match a single line only, and remove the use of the "minimal matching" *? construct whose only purpose was to neutralize the re.S flag. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLTestDir.py: Likewise.
* gnulib-tool.py: Make regex uses more straightforward.Bruno Haible2022-08-071-3/+3
| | | | | | * pygnulib/GLEmiter.py: Don't use flag re.S on regular expressions on regular expressions with no '.'. * pygnulib/GLImport.py: Likewise.
* gnulib-tool: In the VC files messages, omit the destination directory.Bruno Haible2022-08-061-7/+7
| | | | | | | | | This makes these messages consistent with the other "Copying ..." and "Creating ..." messages. * gnulib-tool (func_import): Omit $destdir/ from the "Updating"/ "Creating" messages regarding .gitignore files. * pygnulib/GLImport.py (GLImport._update_ignorelist_): Likewise.
* gnulib-tool.py: Fix output in --dry-run mode.Bruno Haible2022-08-061-1/+1
| | | | | * pygnulib/GLImport.py (GLImport._update_ignorelist_): In dry-run mode, say "Update", not "Updating".
* gnulib-tool.py: Finish implementing options --vc-files, --no-vc-files.Bruno Haible2022-08-061-31/+31
| | | | | | | | | * gnulib-tool.py (main): Accept options --vc-files, --no-vc-files. * pygnulib/GLImport.py (GLImport.__init__): Correct parsing of gl_VC_FILES directive. (GLImport.gnulib_cache): Don't treat the value False like None. (GLImport.execute): Skip the .gitignore file manipulations if vc_files is False.
* gnulib-tool.py: Finish implementing option --po-domain.Bruno Haible2022-08-061-4/+7
| | | | | | | | | * gnulib-tool.py (main): Accept option --po-domain. * pygnulib/GLEmiter.py (GLEmiter.po_POTFILES_in): Fix variable reference. * pygnulib/GLImport.py (GLImport.execute): Don't delete Makefile.in.in from the gnulib directory. Don't require a shell when invoking wget. After invoking wget, restore the current directory.
* gnulib-tool.py: Refactor --makefile-name option.Bruno Haible2022-08-051-14/+14
| | | | | | | | | * gnulib-tool.py (main): Rename variable 'makefile' to 'makefile_name'. * pygnulib/GLConfig.py: Rename attribute 'makefile' to 'makefile_name'. * pygnulib/GLMakefileTable.py: Update. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLFileSystem.py (GLFileAssistant): Remove unused assignment.
* gnulib-tool.py: Fix 'Unused import' warnings.Bruno Haible2022-08-051-5/+0
| | | | | * gnulib-tool.py: Remove unused imports. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Simplify.Bruno Haible2022-08-051-9/+8
| | | | | | * pygnulib/constants.py (compiler): Remove function. * gnulib-tool.py: Use re.compile directly instead. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Fix typo.Bruno Haible2022-08-041-1/+1
| | | | | * pygnulib/GLImport.py (GLImport.execute): Actually handle file removals.
* gnulib-tool.py: Coding style: Revisit line breaks.Bruno Haible2022-08-041-70/+85
| | | | | | * gnulib-tool.py: Avoid line breaks at arbitrary points inside expressions. Use line breaks to clarify [... for ...] iterations. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Simplify boolean setters.Bruno Haible2022-08-041-4/+4
| | | | | | | | | | | | | | | | | | * pygnulib/GLConfig.py (setLibtool): New method, replaces enableLibtool and disableLibtool. (setCondDeps): New method, replaces enableCondDeps and disableCondDeps. (setVCFiles): New method, replaces enableVCFiles and disableVCFiles. (setSymbolic): New method, replaces enableSymbolic and disableSymbolic. (setLSymbolic): New method, replaces enableLSymbolic and disableLSymbolic. (setLibtests): New method, replaces enableLibtests and disableLibtests. (setSingleConfigure): New method, replaces enableSingleConfigure and disableSingleConfigure. (setDryRun): New method, replaces enableDryRun and disableDryRun. (setErrors): New method, replaces enableErrors and disableErrors. (__init__): Update. * pygnulib/GLImport.py: Likewise. * pygnulib/GLTestDir.py: Likewise.
* gnulib-tool.py: Use mainstream/GNU coding style.Bruno Haible2022-08-041-33/+20
| | | | | | * gnulib-tool.py: Break lines before the % operator, not after. * pygnulib/*.py: Likewise. Avoid line breaks when the resulting lines are not too long.
* gnulib-tool.py: Implement option --avoid.Bruno Haible2022-08-041-6/+1
| | | | | | | | | | | * pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Compute the effective avoids list here. (GLModuleTable.transitive_closure, GLModuleTable.add_dummy): Consider the avoids list. * pygnulib/GLImport.py (GLImport.gnulib_cache): Use the avoids list from GLConfig directly. (GLImport.prepare): No need any more to set the avoids list in the GLModuleTable.
* gnulib-tool.py: Implement options --without-c++-tests etc.Bruno Haible2022-08-041-31/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnulib-tool.py (main): Accept options --without-c++-tests, --without-longrunning-tests, --without-privileged-tests, --without-unportable-tests. Improve error message for --copy-file with invalid number of arguments. Check for invalid options given in --import, --add-import, --remove-import, --update modes. Pass both sets of test categories to the GLConfig constructor. * pygnulib/GLConfig.py (GLConfig.__init__): Accept incl_test_categories and excl_test_categories instead of testflags. (checkInclTestCategory): Renamed from checkTestFlag. (enableInclTestCategory): Renamed from enableTestFlag. (disableInclTestCategory): Renamed from disableTestFlag. (getInclTestCategories): Renamed from getTestFlags. (setInclTestCategories): Renamed from setTestFlags. (resetInclTestCategories): Renamed from resetTestFlags. (setInclTestCategory, checkExclTestCategory, enableExclTestCategory, disableExclTestCategory, getExclTestCategories, setExclTestCategories, resetExclTestCategories): New methods. * pygnulib/GLModuleSystem.py (GLModuleTable.__init__): Accept two booleans as second and third constructor arguments. (transitive_closure): Correct the determination of whether to include each module, depending on the with-* and without-* options. (transitive_closure_separately): Update. * pygnulib/GLMakefileTable.py: Update. * pygnulib/GLImport.py (__init__, actioncmd, gnulib_cache, execute): Update. * pygnulib/GLTestDir.py (GLTestDir.__init__, GLTestDir.execute, GLMegaTestDir.__init__): Update.
* gnulib-tool.py: Follow gnulib-tool changes, part 23.Bruno Haible2022-08-031-17/+35
| | | | | | | | | | | | | | | | | | | | Follow gnulib-tool changes 2016-11-11 Bruno Haible <bruno@clisp.org> gnulib-tool: Support for the dual "LGPLv3+ or GPLv2" license. 2016-12-02 Nikos Mavrogiannopoulos <nmav@gnutls.org> gnulib-tool (func_import): Adhere to the license guideline ... 2016-12-02 Daiki Ueno <ueno@gnu.org> gnulib-tool (func_import): Relax the regex ... * gnulib-tool.py: For --lgpl, accept value 3orGPLv2. * pygnulib/GLInfo.py (GLInfo.usage): Update. * pygnulib/GLConfig.py (GLConfig.setLGPL): Update argument check. * pygnulib/GLImport.py (GLImport.__init__, GLImport.gnulib_cache): Update gl_LGPL handling. (GLImport.prepare): Update license compatibility checks and license header rewriting. * pygnulib/GLTestDir.py (GLTestDir.execute): Update license compatibility checks. Handle also the licenses GPLv3+, GPL, LGPLv3+.
* gnulib-tool.py: Avoid errors when writing to a VFAT file system, part 2.Bruno Haible2022-08-031-2/+3
| | | | | * pygnulib/constants.py (movefile): New function. * pygnulib/*.py: Use it instead of shutil.
* gnulib-tool.py: Avoid errors when writing to a VFAT file system.Bruno Haible2022-08-031-1/+2
| | | | | | * pygnulib/constants.py (copyfile, copyfile2): New functions. * gnulib-tool.py: Use them instead of shutil. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Fix typo.Bruno Haible2022-08-031-1/+1
| | | | | * pygnulib/GLImport.py (GLImport.__init__): Use the relative auxdir as second, not as first argument of joinpath.
* gnulib-tool.py: Follow gnulib-tool changes, part 19.Bruno Haible2022-07-311-35/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow gnulib-tool changes 2015-12-09 Pavel Raiskup <praiskup@redhat.com> gnulib-tool: allow multiple --local-dir usage 2019-02-14 Bruno Haible <bruno@clisp.org> gnulib-tool: Improve handling of multiple --local-dir options. * gnulib-tool (func_reconstruct_cached_dir): When the argument is absolute, return it unmodified. (func_compute_relative_local_gnulib_path): Renamed from func_count_relative_local_gnulib_path. Add comment. * gnulib-tool.py: Accept multiple --local-dir options and collect the values into localpath. * pygnulib/GLConfig.py: Take a localpath argument instead of a localdir argument. (getLocalDir, setLocalDir, resetLocalDir): Remove methods. (getLocalPath, setLocalPath, resetLocalPath): New methods. * pygnulib/GLFileSystem.py (CopyAction): New class. (GLFileSystem.lookup): Consider all dirs in localpath. (GLFileSystem.shouldLink): New method. (GLFileAssistant): Use shouldLink. * pygnulib/GLModuleSystem.py (GLModuleSystem.exists): Iterate over all dirs in localpath. (GLModuleSystem.list): Likewise. * pygnulib/GLEmiter.py: Update. * pygnulib/GLImport.py (GLImport.__init__): Put the argument of gl_LOCAL_DIR into localpath, not localdir. (GLImport.actioncmd): Consider all dirs in localpath. (GLImport.relative_to_destdir, GLImport.relative_to_currdir): New methods. (GLImport.gnulib_cache): Combine all dirs in localpath. Use self.relative_to_destdir. * pygnulib/GLTestDir.py (GLTestDir.execute): Use shouldLink.
* gnulib-tool.py: Clean up imports.Bruno Haible2022-07-311-4/+0
| | | | | * gnulib-tool.py: Remove unused constants. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Assume Python 3.Bruno Haible2022-07-311-19/+0
| | | | | * gnulib-tool.py: Don't allow 'bytes' as an alternative to 'str'. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Assume Python 3.Bruno Haible2022-07-311-22/+20
| | | | | * gnulib-tool.py: Don't set PYTHON3, string. Use str instead of string. * pygnulib/*.py: Likewise.
* gnulib-tool.py: Modernize coding style.Bruno Haible2022-07-311-22/+22
| | | | * pygnulib/*.py: Remove parentheses around raise value expressions.
* gnulib-tool.py: Follow gnulib-tool changes, part 17.Bruno Haible2022-07-291-3/+1
| | | | | | | | | | Follow gnulib-tool change 2015-10-06 Pavel Raiskup <praiskup@redhat.com> gnulib-tool: fix tests of 'extensions' module * pygnulib/GLEmiter.py (GLEmiter.preEarlyMacros): New function. * pygnulib/GLImport.py (GLImport.gnulib_comp): Invoke it. * pygnulib/GLTestDir.py (GLTestDir.execute): Likewise.
* gnulib-tool.py: Follow gnulib-tool changes, part 16.Bruno Haible2022-07-291-2/+4
| | | | | | | | | | Follow gnulib-tool change 2015-09-25 Pavel Raiskup <praiskup@redhat.com> gnulib-common.m4: fix gl_PROG_AR_RANLIB/AM_PROG_AR clash * pygnulib/GLImport.py (GLImport.gnulib_comp): Put the gl_USE_SYSTEM_EXTENSIONS right before gl_PROG_AR_RANLIB into gnulib-comp.m4 (if the 'extensions' module is used).
* gnulib-tool.py: Modernize coding style.Bruno Haible2022-07-291-7/+7
| | | | * pygnulib/*.py: Remove parentheses around return value expressions.
* gnulib-tool.py: Modernize the file headers.Bruno Haible2022-07-291-2/+14
| | | | | * pygnulib/*.py: Remove '#!/usr/bin/python' (not needed) and 'encoding: UTF-8' lines (default in Python 3). Add copyright notice.
* gnulib-tool.py: Use mainstream coding style.Bruno Haible2022-07-291-1/+1
| | | | | | | | | * gnulib-tool.py: Clarify the coding style. Fix some pycodestyle warnings. * pygnulib/constants.py: Likewise. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLMakefileTable.py: Likewise.
* gnupload, git-merge-changelog: Fix module description.Bruno Haible2021-06-041-1/+2
| | | | | | | | * gnulib-tool (func_import, func_create_testdir): Treat 'GPLv2+ build tool' like 'GPLed build tool'. * pygnulib/GLImport.py (prepare): Likewise. * modules/gnupload (License): Change to 'GPLv2+ build tool'. * modules/git-merge-changelog (License): Change to GPLv2+.
* gnulib-tool.py: Fix libgnu_la_LDFLAGS section in generated Makefile.am.Tim Rühsen2019-11-301-3/+7
| | | | | | | | | | Reported by Dagobert Michelsen <dam@opencsw.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2019-11/msg00086.html>. * pygnulib/GLModuleSystem.py (getLink): Don't join the parts. Return a list of strings instead of one string. * pygnulib/GLEmiter.py (lib_Makefile_am): Adapt accordingly. * pygnulib/GLImport.py (execute): Likewise.
* bootstrap, gnulib-tool: use https instead of insecure rsyncBenno Schulenberg2018-10-071-10/+3
| | | | | | | | | | | The rsync command does not do any authentication and thus allows man-in-the-middle attacks. Better use wget over https, although this is slower. * build-aux/bootstrap (download_po_files, po_download_command_format): Don't try using rsync; always use wget over https to fetch PO files. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap, gnulib-tool: correct the translations wget commandBenno Schulenberg2018-10-071-1/+1
| | | | | | | | | | | | | | | | | | | Using the -np (--no-parent) option doesn't prevent wget from traversing the given URL to a default depth of 5, and since the domain directory contains a href="/latest/" link, this means that wget searches through all domains anyway and will also download PO files that are meant for other packages. When getting the PO files for the nano domain, for example, you will end up with af.po and ast.po (and many others) too, but there are no African nor Asturian translations for nano. So, use the --level option instead, to stop wget from looking any further than the given URL. * build-aux/bootstrap (po_download_command_format2): Restrict recursion to a single level. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* bootstrap, gnulib-tool: fix translations rsyncColin Watson2018-07-261-1/+1
| | | | | | | | | | Previously, we created files such as $pobase/Makefile.in.in and then the subsequent rsync would immediately delete them. * build-aux/bootstrap (po_download_command_format): Avoid deleting non-.po files in target directory when rsyncing translations. * gnulib-tool (func_import): Likewise. * pygnulib/GLImport.py (GLImport.execute): Likewise.
* append, don't replace existing VCS ignore filesDarshit Shah2017-11-201-2/+2
|
* maint: shorten https://lists.gnu.org/archive/html/... linksJim Meyering2017-11-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Each /archive/html/ part can be replace with /r/. Run this to induce the change: git grep -l archive/html|xargs perl -pi -e 's,/archive/html/,/r/,g' * ChangeLog: Perform that substitution. * Makefile: Likewise. * STATUS-libposix: Likewise. * build-aux/bootstrap: Likewise. * doc/maintain.texi: Likewise. * gnulib-tool: Likewise. * lib/allocator.h: Likewise. * lib/argp-ba.c: Likewise. * lib/argp-pv.c: Likewise. * lib/canon-host.c: Likewise. * lib/canonicalize-lgpl.c: Likewise. * lib/float.in.h: Likewise. * lib/fstat.c: Likewise. * lib/getdelim.c: Likewise. * lib/getprogname.c: Likewise. * lib/glthread/thread.h: Likewise. * lib/intprops.h: Likewise. * lib/mbsrtowcs-state.c: Likewise. * lib/safe-read.c: Likewise. * lib/signal.in.h: Likewise. * lib/stat.c: Likewise. * lib/stdbool.in.h: Likewise. * lib/stdio-impl.h: Likewise. * lib/stdio.in.h: Likewise. * lib/sysexits.in.h: Likewise. * lib/timespec.h: Likewise. * lib/wcsrtombs-state.c: Likewise. * m4/alloca.m4: Likewise. * m4/extern-inline.m4: Likewise. * m4/fstatat.m4: Likewise. * m4/gnulib-common.m4: Likewise. * m4/lib-ignore.m4: Likewise. * m4/printf.m4: Likewise. * m4/regex.m4: Likewise. * m4/stat-size.m4: Likewise. * m4/std-gnu11.m4: Likewise. * m4/stdbool.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/threadlib.m4: Likewise. * m4/vararrays.m4: Likewise. * pygnulib/GLImport.py: Likewise. * tests/test-exp.h: Likewise. * tests/test-exp2.h: Likewise. * tests/test-expm1.h: Likewise. * tests/test-fflush2.c: Likewise. * tests/test-getopt_long.h: Likewise. * tests/test-intprops.c: Likewise. * tests/test-log.h: Likewise. * tests/test-log10.h: Likewise. * tests/test-log1p.h: Likewise. * tests/test-log2.h: Likewise. * tests/test-printf-posix.h: Likewise. * tests/test-regex.c: Likewise. * tests/test-snprintf-posix.h: Likewise. * tests/test-sprintf-posix.h: Likewise. * tests/test-stdalign.c: Likewise. * tests/test-stdbool.c: Likewise. * tests/test-vasnprintf-posix.c: Likewise. * tests/test-vasprintf-posix.c: Likewise. * top/maint.mk: Likewise.
* all: Replace many more http URLs by https URLs. Update stale URLs.Bruno Haible2017-09-141-2/+2
| | | | | * users.txt: Remove mention of 'newts'. * lib/localename.c: Update comment about LANG_SOTHO.
* gnulib-tool.py: follow gnulib-tool changes, part 10Bruno Haible2017-09-091-2/+2
| | | | | | Follow gnulib-tool change 2014-09-05 Mathieu Anquetin <mathieu@anquetin.eu> gnulib-tool: Use same options as build-aux/bootstrap to download PO files.
* gnulib-tool.py: follow gnulib-tool changes, part 9Bruno Haible2017-09-091-7/+6
| | | | | | Follow gnulib-tool change 2014-09-05 Mathieu Anquetin <mathieu@anquetin.eu> Fallback to wget when rsync of PO files fails.
* gnulib-tool.py: follow gnulib-tool changes, part 8Bruno Haible2017-09-091-1/+1
| | | | | | Follow gnulib-tool change 2014-05-27 Sylvain Beucler <beuc@beuc.net>. gnulib-tool: wget translations using --no-verbose rather than --quiet
* gnulib-tool.py: follow gnulib-tool changes, part 7Bruno Haible2017-09-091-1/+1
| | | | | | Follow gnulib-tool change 2014-05-27 Sylvain Beucler <beuc@beuc.net> gnulib-tool: adjust translation wget to avoid a https redirection
* gnulib-tool.py: follow gnulib-tool changes, part 3Bruno Haible2017-09-091-1/+0
| | | | | | | | | Follow gnulib-tool change 2012-08-26 Bruno Haible <bruno@clisp.org> gnulib-tool: Remove no-op option --no-changelog. * pygnulib/constants.py: Remove FILES dictionary. * pygnulib/*: Update.
* gnulib-tool.py: follow gnulib-tool changes, part 2Bruno Haible2017-09-091-1/+1
| | | | | | Follow gnulib-tool change 2012-08-13 Bruno Haible <bruno@clisp.org> gnulib-tool: Fix persistence of --witness-c-macro option.
* gnulib-tool.py: Fix typo in rsync invocation.Bruno Haible2017-09-091-1/+1
|
* gnulib-tool.py: Fix typo in wget invocation.Bruno Haible2017-09-091-1/+1
|