pygnulib/GLConfig.py

Branch


Log

Author Commit Date CI Message
Pádraig Brady 7b089321 2025-01-01T09:24:36 maint: run 'make update-copyright'
Bruno Haible 7b6f844b 2024-08-29T18:32:35 gnulib-tool.py: Allow verifying license compatibility with GPLv2+. * pygnulib/GLInfo.py (GLInfo.usage): Document the --gpl option. * pygnulib/main.py (main): Accept a --gpl option. Pass it to the GLConfig. * pygnulib/GLConfig.py (GLConfig): Add 'gpl' field and constructor argument. Add getGPL, setGPL, resetGPL methods. * m4/gnulib-tool.m4 (gl_GPL): New macro. * doc/gnulib-tool.texi (Modified imports): Document the gl_GPL macro. * pygnulib/GLImport.py (GLImport.__init__): Look for gl_GPL invocations in gnulib-cache.m4. (GLImport.actioncmd): Output --gpl option when option --gpl was given. (GLImport.gnulib_cache): Emit a gl_GPL invocation when option --gpl was given. (GLImport.prepare): Do license compatibility checking when option --gpl was given. * pygnulib/GLModuleSystem.py: Update a comment.
Collin Funk 7a99ec18 2024-06-15T05:42:18 gnulib-tool.py: Revert previous change. * pygnulib/constants.py (joinpath): Restore function and remove unused local variable. (relativize, symlink_relative, as_link_value_at_dest, hardlink): Use it. * pygnulib/GLConfig.py (resetAutoconfFile): Likewise. * pygnulib/GLEmiter.py (lib_Makefile_am, tests_Makefile_am): Likewise. * pygnulib/GLFileSystem.py (lookup, shouldLink, tmpfilename, add) (update, add_or_update, super_update): Likewise. * pygnulib/GLImport.py (__init__, relative_to_currdir) (_done_dir_, _update_ignorelist_, prepare, execute): Likewise. * pygnulib/GLInfo.py (version): Likewise. * pygnulib/GLMakefileTable.py (parent): Likewise. * pygnulib/GLModuleSystem.py (exists, find, getFiles) (getAutomakeSnippet_Unconditional): Likewise. * pygnulib/GLTestDir.py (_patch_test_driver, execute): Likewise. * pygnulib/main.py (main): Likewise.
Collin Funk 790206bf 2024-06-14T21:55:48 gnulib-tool.py: Simplify joining paths. * pygnulib/constants.py (joinpath): Remove function. It is equivalent to os.path.normpath(os.path.join(...)) where the os.path.normpath is typically not needed. (relativize, symlink_relative, as_link_value_at_dest, hardlink): Use os.path.join instead of joinpath. * pygnulib/GLConfig.py (resetAutoconfFile): Likewise. * pygnulib/GLEmiter.py (lib_Makefile_am, tests_Makefile_am): Likewise. * pygnulib/GLFileSystem.py (lookup, shouldLink, tmpfilename, add) (update, add_or_update, super_update): Likewise. * pygnulib/GLInfo.py (version): Likewise. * pygnulib/GLMakefileTable.py (parent): Likewise. * pygnulib/GLTestDir.py (_patch_test_driver, execute): Likewise. * pygnulib/main.py (main): Likewise. * pygnulib/GLModuleSystem.py (exists, find, getFiles): Likewise. * pygnulib/GLImport.py (__init__, relative_to_currdir) (_done_dir_, _update_ignorelist_, prepare, execute): Likewise. (getAutomakeSnippet_Unconditional): Likewise. Add a comment about not using os.path.normpath() to protect a Make variable.
Collin Funk 3169fd03 2024-05-02T00:49:58 gnulib-tool.py: Don't leave temporary directories on exit. * pygnulib/main.py (main_with_exception_handling): Use tempfile.TemporaryDirectory as a context manager so it is removed before the program exits. (main): Expect a temporary directory to be passed as an argument. * pygnulib/GLConfig.py (GLConfig.__init__): Accept an optional temporary directory parameter instead of creating one. * pygnulib/GLImport.py (GLImport.__init__): Don't remove the cache's temporary directory since it doesn't create one anymore. (GLImport.execute): Don't remove the temporary directory explicitly. It is handled by the usage of a context manager. * pygnulib/GLTestDir.py (GLTestDir.execute, GLMegaTestDir.execute): Likewise.
Collin Funk 20061b49 2024-04-29T22:20:31 gnulib-tool.py: Add type hints to classes. * pygnulib/*.py: Add type hints for all instance and class variables. * pygnulib/GLMakefileTable.py (GLMakefileTable.__getitem__): Fix return type hint since the dictionary has str values.
Collin Funk 379b3a02 2024-04-23T11:28:19 gnulib-tool.py: Make better use of imports. * pygnulib/*.py: Import functions from constants.py directly instead of assigning them to module-specific variable. Keep the module prefix for standard library functions.
Collin Funk 5b6e410e 2024-04-21T00:29:50 gnulib-tool.py: Make temporary directories recognizable. * pygnulib/GLConfig.py (GLConfig.__init__): Pass the 'glpy' prefix to mkdtemp.
Collin Funk 544b6f6e 2024-04-19T23:42:24 gnulib-tool.py: Remove duplicate per-module definitions. * pygnulib/constants.py: Remove duplicate __authors__, __license__, and __copyright__ definitions. * pygnulib/GLInfo.py: Use the value of __authors__ and __copyright__ from __init__.py for output. * pygnulib/*.py: Remove unused references to the constant.py definitions.
Bruno Haible 0227d548 2024-04-13T01:23:11 gnulib-tool.py: Implement --add-import --with-*-tests correctly. * pygnulib/GLConfig.py (GLConfig.update): Use list-merging for the test categories. * pygnulib/GLImport.py (GLImport.__init__): Don't merge back those values which were already considered by taking the union.
Bruno Haible b7faa612 2024-04-13T00:53:05 gnulib-tool.py: Implement --add-import --avoid correctly. * pygnulib/GLConfig.py (GLConfig.update): Don't test for the unused key 'tests'. (GLConfig.default): Likewise. * pygnulib/GLImport.py (GLImport.__init__): Don't merge back those values which were already considered by taking the union.
Bruno Haible 01b07158 2024-04-13T00:49:50 gnulib-tool.py: Implement --add-import --avoid correctly. * pygnulib/GLConfig.py (GLConfig.update): Don't test for the unused key 'tests'. * pygnulib/GLImport.py (GLImport.__init__): Don't merge back those values which were already considered by taking the union.
Bruno Haible 48f615b7 2024-04-13T00:24:52 gnulib-tool.py: Refactor. * pygnulib/GLConfig.py (GLConfig.update, GLConfig.update_key): Improve variable names and comments. * pygnulib/GLImport.py (GLImport.__init__): Improve comments.
Bruno Haible 27c5b31a 2024-04-13T00:10:44 gnulib-tool.py: Optimize. * pygnulib/GLConfig.py (GLConfig.update, GLConfig.update_key): Avoid useless cloning of dictionaries.
Bruno Haible 2fee5e30 2024-04-12T22:21:57 gnulib-tool.py: Implement --no-conditional-dependencies correctly. * pygnulib/GLConfig.py (GLConfig.default): For 'conddeps', return None, not False. (GLConfig.checkCondDeps): Update result type. (resetCondDeps): Reset to return None, not False. * pygnulib/GLImport.py (GLImport.actioncmd): Update.
Bruno Haible 50a6834e 2024-04-12T22:10:54 gnulib-tool.py: Implement --no-libtool option correctly. * pygnulib/GLConfig.py (GLConfig.default): For 'libtool', return None, not False. (GLConfig.checkLibtool): Update result type. (resetLibtool): Reset to return None, not False. * pygnulib/GLImport.py (GLImport.actioncmd): Update.
Bruno Haible 40970e22 2024-04-12T18:11:46 gnulib-tool.py: Fix handling of --with-obsolete. * pygnulib/constants.py (TESTS): Remove 'obsolete' category. * pygnulib/GLConfig.py (GLConfig.__init__): Add optional incobsolete parameter. (GLConfig.default): Handle 'incobsolete'. (GLConfig.checkIncObsolete, GLConfig.setIncObsolete, GLConfig.resetIncObsolete): New methods. * pygnulib/GLModuleSystem.py (GLModuleSystem.transitive_closure): For incobsolete, use new GLConfig methods. * pygnulib/GLImport.py (GLImport.__init__, GLImport.actioncmd, GLImport.gnulib_cache): Likewise. * pygnulib/main.py (main): Pass the incobsolete value to the GLConfig constructor.
Collin Funk f41781a9 2024-04-08T16:37:48 gnulib-tool.py: Use single-quotes for strings. * pygnulib/*.py: Change double-quoted strings to use single-quotes unless doing so would require adding backslashes.
Collin Funk 965b5c72 2024-04-08T16:08:50 gnulib-tool.py: Prefer 'list.append(item)' over 'list += [item]'. * pygnulib/*.py: Change occurrences '+= [item]' to use '.append(item)' where item is a single element added to the list. See discussion here: <https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00091.html>
Collin Funk eef9efc0 2024-04-07T16:41:18 gnulib-tool.py: Don't remove duplicate avoided modules. * pygnulib/GLConfig.py (GLConfig.addAvoid): Don't remove duplicates from the modules passed with --avoid.
Collin Funk 685a8726 2024-04-06T04:41:03 gnulib-tool.py: Locate configure.ac correctly when --dir is given. * pygnulib/GLConfig.py (GLConfig.setAutoconfFile): Don't combine the given file name argument with destdir. * pygnulib/main.py (main): Use os.path.join() instead of joinpath() when constructing the path to the configure.ac file. The latter normalizes paths which causes the test suite to fail when printed in files.
Collin Funk 05ef52b8 2024-04-04T21:41:08 gnulib-tool.py: Use 'Any' instead of type unions in GLConfig. * pygnulib/GLConfig.py (GLConfig.__getitem__, GLConfig.dictionary) (GLConfig.default, GLConfig.isdefault, GLConfig.values): Use 'Any' from the typing module instead of large type unions. This silences unhelpful warnings from type checkers.
Collin Funk 6b97d904 2024-04-04T14:56:12 gnulib-tool.py: Fix pylint 'raise-missing-from' warnings. * pygnulib/*.py: Use explicit exception chaining so that stack trace messages do not seem like bugs. See examples in: <https://lists.gnu.org/archive/html/bug-gnulib/2024-04/msg00056.html>
Collin Funk 51e46581 2024-04-03T02:56:42 gnulib-tool.py: Modernize class declarations to Python 3. * pygnulib/GLConfig.py: Remove the explicit object inheritance from class declarations. This is previously required in Python 2. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLFileSystem.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLInfo.py: Likewise. * pygnulib/GLMakefileTable.py: Likewise. * pygnulib/GLModuleSystem.py: Likewise. * pygnulib/GLTestDir.py: Likewise.
Collin Funk 519a00ed 2024-04-02T11:35:51 gnulib-tool.py: Use [] instead of list() to initialize empty lists. * pygnulib/*.py: Change occurrences of list() to [].
Collin Funk 4d9bdbf5 2024-04-01T19:13:16 gnulib-tool.py: Don't default to 'build-aux' for --auxdir. * pygnulib/GLConfig.py (GLConfig.__getitem__): Don't map '' to 'build-aux' for the 'auxdir' key. * pygnulib/GLImport.py (GLImport.__init__): Change conditional to use an empty string instead of None since this is returned when --auxdir is not used.
Bruno Haible 52a5f9e3 2024-04-02T13:42:53 gnulib-tool: Remove unused variables. * pygnulib/GLConfig.py: Remove unused variables. * pygnulib/GLEmiter.py: Likewise. * pygnulib/GLFileSystem.py: Likewise. * pygnulib/GLImport.py: Likewise. * pygnulib/GLInfo.py: Likewise. * pygnulib/GLModuleSystem.py: Likewise. * pygnulib/GLTestDir.py: Likewise. * pygnulib/main.py: Likewise. * gnulib-tool.sh (func_emit_tests_Makefile_am): Remove unused variable perhapsLT.
Bruno Haible 04b0e50a 2024-04-02T01:29:24 gnulib-tool.py: Remove no-op statements. * pygnulib/GLConfig.py (GLConfig.update): Remove no-op statement.
Bruno Haible bf2f5662 2024-04-01T21:28:23 gnulib-tool.py: Simplify imports. * pygnulib/enums.py: New file, extracted from pygnulib/GLFileSystem.py. * pygnulib/classes.py: Remove file. * pygnulib/GLFileSystem.py: Remove class CopyAction. Update imports. * pygnulib/GLTestDir.py: Update imports. * pygnulib/GLConfig.py: Update imports and remove 'classes.' prefix. * pygnulib/main.py: Likewise.
Collin Funk 148b623a 2024-03-27T00:56:29 gnulib-tool.py: Add type hints to all functions. * pygnulib/*.py: Add type hints and remove duplicate function signatures from docstrings.
Collin Funk 1daf1384 2024-03-19T12:09:57 gnulib-tool.py: Follow gnulib-tool changes, part 68. Follow gnulib-tool change 2022-07-31 Akim Demaille <akim@lrde.epita.fr> gnulib-tool: add support for --automake-subdir-tests * pygnulib/main.py (main): Add support for --automake-subdir-tests. * pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir-tests to the help message. * pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir_tests' to the parameter list. Initialize it. (GLConfig.default): Default --automake-subdir-tests to False. (GLConfig.resetAutomakeSubdir): Fix misleading docstring. (GLConfig.getAutomakeSubdirTests, GLConfig.setAutomakeSubdirTests) (GLConfig.resetAutomakeSubdirTests): New functions to manipulate and access whether --automake-subdir-tests is in use. * pygnulib/GLEmiter.py (GLEmiter.shellvars_init) (GLEmiter.initmacro_end): Use sourcebase when handling tests and --automake-subdir-tests is given. * pygnulib/GLError.py (GLError.__repr__): Update error message to include --automake-subdir-tests. * pygnulib/GLImport.py (GLImport.__init__): Check for the 'subdir-objects' Automake option when --automake-subdir-tests is in use. (GLImport.actioncmd): Add --automake-subdir-tests to the actioncmd printed in generated files.
Collin Funk cb626876 2024-03-15T19:58:27 gnulib-tool.py: Follow gnulib-tool changes, part 58. Follow gnulib-tool change 2017-05-21 Bruno Haible <bruno@clisp.org> gnulib-tool: Add options to create hard links. * pygnulib/GLConfig.py (GLConfig.__init__): Add 'copymode' and 'lcopymode' to the parameter list. Initialize them. (GLConfig.default): Don't use symbolic or hard links by default. (GLConfig.checkCopyMode, GLConfig.setCopyMode, GLConfig.resetCopyMode): New functions to modify and check the method for copying non --local-dir files. (GLConfig.checkLCopyMode, GLConfig.setLCopyMode) (GLConfig.resetLCopyMode): New functions to modify and check the method for copying --local-dir files. (GLConfig.checkSymbolic, GLConfig.resetSymbolic, GLConfig.setSymbolic) (GLConfig.checkLSymbolic, GLConfig.resetLSymbolic) (GLConfig.setLSymbolic): Remove unused functions. The functionality of these are now implemented in the *CopyMode() and *LCopyMode() variants. * pygnulib/GLFileSystem.py (CopyAction.Hardlink): New Enum value to describe hard links. (GLFileSystem.shouldLink): Check if hard links should be used. (GLFileAssistant.add, GLFileAssistant.update): Try to hard link if enabled. Copy the file if linking fails. (GLFileAssistant.add_or_update): Remove temporary files unconditionally. * pygnulib/GLInfo.py (GLInfo.usage): Document new options in the usage message. * pygnulib/GLTestDir.py (GLTestDir.execute): Try to hard link if enabled. Copy the file if linking fails. * pygnulib/classes.py: Importy the CopyAction Enum. * pygnulib/constants.py (hardlink): New function based on symlink_relative. * pygnulib/main.py (main): Add new options --hardlink and --local-hardlink. Invoke 'git update-index --refresh' to mitigate the effects of the hard links on git.
Bruno Haible 701fafe4 2024-03-16T12:21:35 gnulib-tool.py: Don't lose the gl_LGPL value from gnulib-cache.m4. Reported by Simon Josefsson in <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>. * pygnulib/GLConfig.py (GLConfig.default): For the 'lgpl' property, return None, not False.
Bruno Haible 7f38f4e1 2024-03-16T02:58:55 gnulib-tool.py: Don't lose the gl_LOCAL_DIR value from gnulib-cache.m4. Reported by Simon Josefsson in <https://lists.gnu.org/archive/html/bug-gnulib/2024-03/msg00152.html>. * pygnulib/GLConfig.py (GLConfig.default): For the 'localpath' property, return [], not ''.
Collin Funk 270c20cb 2024-03-10T14:07:35 gnulib-tool.py: Follow gnulib-tool changes, part 51. Follow gnulib-tool change 2021-12-15 Bruno Haible <bruno@clisp.org> Accommodate non-recursive Automake in a less hacky way. * pygnulib/GLConfig.py (GLConfig.__init__): Add 'automake_subdir' to the parameter list. (GLConfig.default): Set the default value of automake_subdir to a boolean False. (GLConfig.getAutomakeSubdir, GLConfig.setAutomakeSubdir) (GLConfig.resetAutomakeSubdir): New functions to access and manipulate the automake_subdir option. * pygnulib/GLEmiter.py (GLEmiter.shellvars_init): New function. (GLEmiter.initmacro_end): Add second parameter 'gentests'. Use it to prefix each object file name in *_LIBOBJS and *_LTLIBOBJS. * pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Add new error for if --automake-subdir is used without the 'subdir-objects' Automake option. * pygnulib/GLImport.py (GLImport.__init__): Check for 'subdir-objects' in Makefile.am. (GLImport.actioncmd): Emit --automake-subdir in actioncmd. (GLImport.gnulib_cache): Add gl_AUTOMAKE_SUBDIR to gnulib-cache.m4 if --automake-subdir is used. (GLImport.gnulib_comp): Update calls to GLEmiter.initmacro_end. Call GLEmiter.shellvars_init. (GLImport.execute): Likewise. Use the build-aux/prefix-gnulib-mk script. * pygnulib/GLInfo.py (GLInfo.usage): Add --automake-subdir to the usage message. * pygnulib/GLTestDir.py (GLTestDir.execute): Update calls to GLEmiter.initmacro_end. Call GLEmiter.shellvars_init. * pygnulib/main.py (main): Add support for --automake-subdir.
Collin Funk 6038b3fa 2024-03-06T21:49:21 gnulib-tool.py: Follow gnulib-tool changes, part 45. Follow gnulib-tool changes 2021-12-12 Bruno Haible <bruno@clisp.org> gnulib-tool: Support different basenames for the lib/,tests/ Makefiles. 2022-01-08 Bruno Haible <bruno@clisp.org> gnulib-tool: Fix "Don't forget" messages (regression 2021-12-12). * pygnulib/GLConfig.py (GLConfig.__init__): Add 'tests_makefile_name' argument. (GLConfig.getMakefileName, GLConfig.setMakefileName) (GLConfig.resetMakefileName): Remove references to tests Makefile.am in doc strings. (GLConfig.getTestsMakefileNamem, GLConfig.setTestsMakefileName) (GLConfig.resetTestsMakefileName): New methods used to access value passed with the '--tests-makefile-name' option. * pygnulib/GLImport.py (GLImport.__init__): Check for 'gl_TESTS_MAKEFILE_NAME' in cache. (GLImport.actioncmd): Output --tests-makefile-name when describing gnulib-tool invocation. (GLImport.gnulib_cache): Output 'gl_TESTS_MAKEFILE_NAME' to cache. (GLImport.execute): Use two local variables, source_makefile_am and tests_makefile_am, which are passed to gnulib-tool.py or given default values. * pygnulib/GLInfo.py (GLInfo.usage): Add '--tests-makefile-name' to usage message. * pygnulib/GLMakefileTable.py (GLMakefileTable.parent): Reduce code duplication by expecting Makefile names passed as arguments. * pygnulib/main.py (main): Add support for '--tests-makefile-name'.
Collin Funk 9d739e38 2024-03-03T16:00:57 gnulib-tool.py: Adjust construction of configure.ac path. * pygnulib/GLConfig.py (GLConfig.setAutoconfFile): Join destdir and configure.ac instead of using relativize.
Collin Funk 7d60a47a 2024-02-28T22:15:04 gnulib-tool.py: Follow gnulib-tool changes, part 35. Follow gnulib-tool change 2023-05-28 Bruno Haible <bruno@clisp.org> warnings, manywarnings: Assume autoconf >= 2.64. * pygnulib/GLConfig.py (GLConfig.default, GLConfig.getAutoconfVersion) (GLConfig.setAutoconfVersion, resetAutoconfVersion): Set required Autoconf version to 2.64. * pygnulib/GLError.py (GLError.__init__, GLError.__repr__): Likewise. * pygnulib/GLImport.py (GLImport.__init__): Likewise. * pygnulib/constants.py (DEFAULT_AUTOCONF_MINVERSION): Likewise. * pygnulib/main.py: Likewise.
Collin Funk e1f51c8e 2024-02-27T02:01:59 gnulib-tool.py: Follow gnulib-tool changes, part 31. Follow gnulib-tool change 2021-06-04 Bruno Haible <bruno@clisp.org> gnulib-tool: Stop doing license notice replacements. * pygnulib/GLConfig.py (GLConfig.default): Remove 'copyrights' key. Add 'gnu_make' key which returns False. (checkCopyrights): Remove function. (setSymbolic, resetSymbolic): Remove 'copyrights' key. * pygnulib/GLImport.py (GLImport.prepare): Remove copyrights variable. Don't modify license notice on source files. (GLImport.execute): Remove copyrights variable.
Collin Funk bb09847b 2024-02-27T11:45:16 gnulib-tool.py: Small fix of part 27. * pygnulib/GLConfig.py (GLConfig.default): Add 'gnu_make' key which returns False.
Collin Funk 992d5548 2024-02-22T20:16:18 gnulib-tool.py: Follow gnulib-tool changes, part 27. Follow gnulib-tool changes 2017-03-12 Paul Eggert <eggert@cs.ucla.edu> gnulib-tool: new option --gnu-make 2017-03-13 Paul Eggert <eggert@cs.ucla.edu> gnulib-tool: minor --gnu-make fixups 2017-03-14 Paul Eggert <eggert@cs.ucla.edu> gnulib-tool: fix typo in comment output 2017-05-14 Paul Eggert <eggert@cs.ucla.edu> gnulib-tool: improve GNU Make debugging 2018-07-04 Paul Eggert <eggert@cs.ucla.edu> gnulib-tool: minor tweaks for --gnu-make * gnulib-tool.py (main): Add --gnu-make option. Do not allow --gnu-make in test modes, since they all require Automake. * pygnulib/GLConfig.py: Add gnu_make argument to constructor. (getGnuMake, setGnuMake, resetGnuMake): New methods for accessing the gnu_make instance variable. * pygnulib/GLEmiter.py (GLEmiter.lib_Makefile_am): Use the "+=" operator with GNU Make and Automake. Transform conditionals to GNU Make syntax if --gnu-make is in use. Use a Autoconf subprocess to define values and check the return code for errors. (GLEmiter.tests_Makefile_am): Likewise. * pygnulib/GLImport.py (GLImport.actioncmd): Add "--gnu-make" to the output comment if it is in use. (GLImport.gnulib_comp): Don't require "AM_PROG_CC_C_O" when using GNU Make. * pygnulib/GLInfo.py (GLInfo.usage): Update help message to reflect addition of --gnu-make. * pygnulib/GLModuleSystem.py (GLModuleTable.transitive_closure): Don't add Automake snippets as unconditional dependencies when using --gnu-make.
Simon Josefsson 5b92dd0a 2024-01-01T10:31:48 maint: run 'make update-copyright'
Paul Eggert 295cc7fb 2023-06-08T14:53:51 Spelling fixes Most of these were reported by Josh Soref <jsoref@gmail.com> in: https://lists.gnu.org/r/bug-gnulib/2023-06/msg00057.html except that some are omitted because the original is OK (e.g., "obsolescent"), and some are omitted because they are upstream files and I've fixed them upstream or have filed bug reports, and I made a few nearby corrections to grammar.
Simon Josefsson 32a72f45 2023-01-01T01:14:21 maint: run 'make update-copyright'
Bruno Haible 9812027a 2022-08-06T23:01:36 gnulib-tool.py: Finish implementing options --vc-files, --no-vc-files. * 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.
Bruno Haible 860df12d 2022-08-06T21:54:04 gnulib-tool.py: Finish implementing option --witness-c-macro. * gnulib-tool.py (main): Accept option --witness-c-macro. * pygnulib/GLConfig.py (GLConfig.__init__): Remove wrong type check of witness_c_macro argument.
Bruno Haible fcf959cf 2022-08-05T23:34:20 gnulib-tool.py: Remove redundant type checks. * pygnulib/GLConfig.py (GLConfig.__init__): Remove redundant type checks, left over from 2022-08-04. (GLConfig.getIncludeGuardPrefix): Improve comment. (GLConfig.resetMacroPrefix): Optimize.
Bruno Haible ad534101 2022-08-05T23:15:39 gnulib-tool.py: Refactor --makefile-name option. * 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.
Bruno Haible 45b39787 2022-08-05T17:13:20 gnulib-tool.py: Fix 'Unused import' warnings. * gnulib-tool.py: Remove unused imports. * pygnulib/*.py: Likewise.
Bruno Haible eb194fa7 2022-08-05T15:15:16 gnulib-tool.py: Fix 'Undefined variable' errors. * pygnulib/constants.py: Import codecs. * pygnulib/GLConfig.py (GLConfig.setLibName): Fix local variable reference. * pygnulib/GLFileSystem.py (GLFileSystem.lookup, GLFileAssistant.update): Fix local variable references. * pygnulib/GLEmiter.py (GLEmiter.po_POTFILES_in): Fix reference. * pygnulib/GLTestDir.py (GLMegaTestDir.execute): Define missing local variables.
Bruno Haible 362f779b 2022-08-04T21:53:51 gnulib-tool.py: Coding style: Revisit line breaks. * gnulib-tool.py: Avoid line breaks at arbitrary points inside expressions. Use line breaks to clarify [... for ...] iterations. * pygnulib/*.py: Likewise.
Bruno Haible 895f7af0 2022-08-04T19:10:27 gnulib-tool.py: Simplify boolean setters. * 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.
Bruno Haible af4eb877 2022-08-04T18:35:49 gnulib-tool.py: Implement options --cache-modules, --no-cache-modules. * gnulib-tool.py (main): Accept options --cache-modules, --no-cache-modules. * pygnulib/GLConfig.py: Remove modcache property and constructor argument. * pygnulib/GLInfo.py (GLInfo.usage): Don't document these no-op options.
Bruno Haible 2a33db96 2022-08-04T18:26:08 gnulib-tool.py: Use mainstream/GNU coding style. * gnulib-tool.py: Break lines before the % operator, not after. * pygnulib/*.py: Likewise. Avoid line breaks when the resulting lines are not too long.
Bruno Haible e7101c25 2022-08-04T11:53:37 gnulib-tool.py: Make --with/--without-*-tests handling a little safer. * pygnulib/GLConfig.py (__init__): Fix reset* invocations. setInclTestCategories, setExclTestCategories): Revert to old value if the new value is invalid.
Bruno Haible de028fc3 2022-08-03T22:29:52 gnulib-tool.py: Implement options --without-c++-tests etc. * 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.
Bruno Haible f531502a 2022-08-03T17:55:24 gnulib-tool.py: Fix broken 'for' loop. * gnulib-tool.py (main): Canonicalize inctests before creating the GLConfig. Rewrite a broken 'for' loop. * pygnulib/GLConfig.py (GLConfig.setTestFlags): Remove unused statement.
Bruno Haible e2d15e5c 2022-08-03T16:49:15 gnulib-tool.py: Follow gnulib-tool changes, part 23. 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+.
Bruno Haible 79e45321 2022-07-31T22:29:15 gnulib-tool.py: Use mainstream coding style. * pygnulib/GLConfig.py: Use 'raise' to re-throw an exception.
Bruno Haible 6bdf668e 2022-07-31T18:39:19 gnulib-tool.py: Follow gnulib-tool changes, part 19. 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.
Bruno Haible cc88acbb 2022-07-31T18:30:50 gnulib-tool.py: Follow gnulib-tool changes, part 18. Follow gnulib-tool change 2005-09-20 Bruno Haible <bruno@clisp.org> gnulib-tool: Remove trailing slashes * pygnulib/constants.py (remove_trailing_slashes): New function. * pygnulib/GLConfig.py (GLConfig): Use it in the setters.
Bruno Haible dd7b332f 2022-07-30T13:51:36 gnulib-tool.py: Clean up imports. * gnulib-tool.py: Remove unused constants. * pygnulib/*.py: Likewise.
Bruno Haible 0a624ee7 2022-07-30T13:29:26 gnulib-tool.py: Assume Python 3. * gnulib-tool.py: Don't allow 'bytes' as an alternative to 'str'. * pygnulib/*.py: Likewise.
Bruno Haible d2abfb90 2022-07-30T11:45:36 gnulib-tool.py: Assume Python 3. * gnulib-tool.py: Don't set PYTHON3, string. Use str instead of string. * pygnulib/*.py: Likewise.
Bruno Haible 5d39cdb4 2022-07-30T10:44:02 gnulib-tool.py: Modernize coding style. * pygnulib/*.py: Remove parentheses around raise value expressions.
Bruno Haible 0bc144f9 2022-07-29T18:45:33 gnulib-tool.py: Modernize coding style. * pygnulib/*.py: Remove parentheses around return value expressions.
Bruno Haible 3e44e3bb 2022-07-29T16:41:28 gnulib-tool.py: Modernize the file headers. * pygnulib/*.py: Remove '#!/usr/bin/python' (not needed) and 'encoding: UTF-8' lines (default in Python 3). Add copyright notice.
Bruno Haible 7d56b9e1 2022-07-29T11:20:00 gnulib-tool.py: Fix error (regression 2021-04-11). * pygnulib/GLConfig.py (GLConfig.getModuleIndicatorPrefix): Fix code.
Bruno Haible 80a344e3 2021-04-11T21:25:54 Support several gnulib-tool invocations under the same configure.ac. Reported by Reuben Thomas <rrt@sc3d.org> in <https://lists.gnu.org/archive/html/bug-gnulib/2021-04/msg00104.html>. This is done by defining the Gnulib module indicator variables per gnulib-tool invocation. So that a generated .h file is no longer influenced by the set of modules used in other gnulib-tool invocations. * gnulib-tool (func_compute_include_guard_prefix): Set module_indicator_prefix. (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use it to modify $(GNULIB_*) variable references in the Automake snippets. (func_emit_initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (func_emit_initmacro_end): Pop these macro definitions. * pygnulib/GLConfig.py (GLConfig.getIncludeGuardPrefix): New method. * pygnulib/GLEmiter.py (GLEmiter.initmacro_start): Push macro definitions for GL_MACRO_PREFIX and GL_MODULE_INDICATOR_PREFIX. (GLEmiter.initmacro_end): Pop these macro definitions. (GLEmiter.lib_Makefile_am, GLEmiter.tests_Makefile_am): Use the module indicator prefix to modify $(GNULIB_*) variable references in the Automake snippets. * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_INIT_VARIABLE, gl_MODULE_INDICATOR_SET_VARIABLE): Use the value of GL_MODULE_INDICATOR_PREFIX. * m4/arpa_inet_h.m4: Use new idiom for header files that contain references to Gnulib module indicator variables: - Define the main macro through AC_DEFUN_ONCE. - Define a macro gl_*_H_REQUIRE_DEFAULTS that initializes the Gnulib module indicator variables (each prefixed with GL_MODULE_INDICATOR_PREFIX). - Invoke this macro in the gl_*_MODULE_INDICATOR macro. * m4/ctype.m4: Likewise. * m4/dirent_h.m4: Likewise. * m4/fcntl_h.m4: Likewise. * m4/fnmatch_h.m4: Likewise. * m4/glob_h.m4: Likewise. * m4/iconv_h.m4: Likewise. * m4/inttypes.m4: Likewise. * m4/langinfo_h.m4: Likewise. * m4/locale_h.m4: Likewise. * m4/malloc_h.m4: Likewise. * m4/math_h.m4: Likewise. * m4/monetary_h.m4: Likewise. * m4/netdb_h.m4: Likewise. * m4/poll_h.m4: Likewise. * m4/pthread_h.m4: Likewise. * m4/pty_h.m4: Likewise. * m4/sched_h.m4: Likewise. * m4/search_h.m4: Likewise. * m4/signal_h.m4: Likewise. * m4/spawn_h.m4: Likewise. * m4/stddef_h.m4: Likewise. * m4/stdio_h.m4: Likewise. * m4/stdlib_h.m4: Likewise. * m4/string_h.m4: Likewise. * m4/strings_h.m4: Likewise. * m4/sys_file_h.m4: Likewise. * m4/sys_ioctl_h.m4: Likewise. * m4/sys_random_h.m4: Likewise. * m4/sys_resource_h.m4: Likewise. * m4/sys_select_h.m4: Likewise. * m4/sys_socket_h.m4: Likewise. * m4/sys_stat_h.m4: Likewise. * m4/sys_time_h.m4: Likewise. * m4/sys_times_h.m4: Likewise. * m4/sys_types_h.m4: Likewise. * m4/sys_uio_h.m4: Likewise. * m4/sys_utsname_h.m4: Likewise. * m4/sys_wait_h.m4: Likewise. * m4/termios_h.m4: Likewise. * m4/threads.m4: Likewise. * m4/time_h.m4: Likewise. * m4/uchar.m4: Likewise. * m4/unistd_h.m4: Likewise. * m4/utime_h.m4: Likewise. * m4/wchar_h.m4: Likewise. * m4/wctype_h.m4: Likewise. * modules/arpa_inet (configure.ac): Invoke the macro gl_*_H_REQUIRE_DEFAULTS explicitly. * modules/ctype (configure.ac): Likewise. * modules/dirent (configure.ac): Likewise. * modules/fcntl-h (configure.ac): Likewise. * modules/fnmatch-h (configure.ac): Likewise. * modules/glob-h (configure.ac): Likewise. * modules/iconv-h (configure.ac): Likewise. * modules/inttypes-incomplete (configure.ac): Likewise. * modules/langinfo (configure.ac): Likewise. * modules/locale (configure.ac): Likewise. * modules/malloc-h (configure.ac): Likewise. * modules/math (configure.ac): Likewise. * modules/monetary (configure.ac): Likewise. * modules/netdb (configure.ac): Likewise. * modules/poll-h (configure.ac): Likewise. * modules/pthread-h (configure.ac): Likewise. * modules/pty (configure.ac): Likewise. * modules/sched (configure.ac): Likewise. * modules/search (configure.ac): Likewise. * modules/signal-h (configure.ac): Likewise. * modules/spawn (configure.ac): Likewise. * modules/stddef (configure.ac): Likewise. * modules/stdio (configure.ac): Likewise. * modules/stdlib (configure.ac): Likewise. * modules/string (configure.ac): Likewise. * modules/strings (configure.ac): Likewise. * modules/sys_file (configure.ac): Likewise. * modules/sys_ioctl (configure.ac): Likewise. * modules/sys_random (configure.ac): Likewise. * modules/sys_resource (configure.ac): Likewise. * modules/sys_select (configure.ac): Likewise. * modules/sys_socket (configure.ac): Likewise. * modules/sys_stat (configure.ac): Likewise. * modules/sys_time (configure.ac): Likewise. * modules/sys_times (configure.ac): Likewise. * modules/sys_types (configure.ac): Likewise. * modules/sys_uio (configure.ac): Likewise. * modules/sys_utsname (configure.ac): Likewise. * modules/sys_wait (configure.ac): Likewise. * modules/termios (configure.ac): Likewise. * modules/threads-h (configure.ac): Likewise. * modules/time (configure.ac): Likewise. * modules/uchar (configure.ac): Likewise. * modules/unistd (configure.ac): Likewise. * modules/utime-h (configure.ac): Likewise. * modules/wchar (configure.ac): Likewise. * modules/wctype-h (configure.ac): Likewise. * m4/af_alg.m4: Update after a macro name changed. * m4/ctime.m4: Likewise. * m4/explicit_bzero.m4: Likewise. * m4/ffs.m4: Likewise. * m4/ffsl.m4: Likewise. * m4/ffsll.m4: Likewise. * m4/flock.m4: Likewise. * m4/fstat.m4: Likewise. * m4/getaddrinfo.m4: Likewise. * m4/getdomainname.m4: Likewise. * m4/gettimeofday.m4: Likewise. * m4/hostent.m4: Likewise. * m4/ioctl.m4: Likewise. * m4/localtime.m4: Likewise. * m4/mbslen.m4: Likewise. * m4/memchr.m4: Likewise. * m4/memmem.m4: Likewise. * m4/mempcpy.m4: Likewise. * m4/memrchr.m4: Likewise. * m4/mktime.m4: Likewise. * m4/nanosleep.m4: Likewise. * m4/passfd.m4: Likewise. * m4/pselect.m4: Likewise. * m4/rawmemchr.m4: Likewise. * m4/select.m4: Likewise. * m4/servent.m4: Likewise. * m4/sigabbrev_np.m4: Likewise. * m4/sigdescr_np.m4: Likewise. * m4/sockpfaf.m4: Likewise. * m4/stat.m4: Likewise. * m4/stpcpy.m4: Likewise. * m4/stpncpy.m4: Likewise. * m4/strcase.m4: Likewise. * m4/strcasestr.m4: Likewise. * m4/strchrnul.m4: Likewise. * m4/strdup.m4: Likewise. * m4/strerror.m4: Likewise. * m4/strerror_r.m4: Likewise. * m4/strerrorname_np.m4: Likewise. * m4/strftime-fixes.m4: Likewise. * m4/strncat.m4: Likewise. * m4/strndup.m4: Likewise. * m4/strnlen.m4: Likewise. * m4/strpbrk.m4: Likewise. * m4/strptime.m4: Likewise. * m4/strsep.m4: Likewise. * m4/strsignal.m4: Likewise. * m4/strstr.m4: Likewise. * m4/strtok_r.m4: Likewise. * m4/strverscmp.m4: Likewise. * m4/time_r.m4: Likewise. * m4/time_rz.m4: Likewise. * m4/timegm.m4: Likewise. * m4/timespec_get.m4: Likewise. * m4/tzset.m4: Likewise. * modules/accept (configure.ac): Likewise. * modules/bind (configure.ac): Likewise. * modules/connect (configure.ac): Likewise. * modules/flock (configure.ac): Likewise. * modules/getpeername (configure.ac): Likewise. * modules/getsockname (configure.ac): Likewise. * modules/getsockopt (configure.ac): Likewise. * modules/listen (configure.ac): Likewise. * modules/recv (configure.ac): Likewise. * modules/recvfrom (configure.ac): Likewise. * modules/send (configure.ac): Likewise. * modules/sendto (configure.ac): Likewise. * modules/setsockopt (configure.ac): Likewise. * modules/shutdown (configure.ac): Likewise. * modules/socket (configure.ac): Likewise. Use the gl_*_H_REQUIRE_DEFAULTS macros. * modules/nonblocking (configure.ac): Use the gl_*_H_REQUIRE_DEFAULTS and gl_MODULE_INDICATOR_INIT_VARIABLE macros. * modules/sigpipe (configure.ac): Likewise. * modules/windows-stat-override (configure.ac): Likewise. * m4/nonblocking.m4: Update a comment. * m4/sigpipe.m4: Likewise.
Bruno Haible f0e4c4b6 2017-09-09T00:32:50 gnulib-tool.py: follow gnulib-tool changes, part 3 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.
Dmitry Selyutin 21c52a82 2017-09-08T18:34:58 [pygnulib] autopep8 (fixing indentation, style, etc.)
Dmitry Selyutin 02a1f93e 2017-08-20T11:17:58 [pygnulib] initial merge (including some small bug fixes)