]>
Savannah Git Hosting - gnulib.git/log
Dmitry Selyutin [Sat, 30 Jun 2018 13:30:02 +0000 (16:30 +0300)]
vfs: simplify some code parts
Dmitry Selyutin [Fri, 29 Jun 2018 07:05:31 +0000 (10:05 +0300)]
pygnulib: postpone ignore files backup
Dmitry Selyutin [Fri, 29 Jun 2018 07:04:59 +0000 (10:04 +0300)]
pygnulib: deprecate unused variable
Dmitry Selyutin [Thu, 28 Jun 2018 22:45:09 +0000 (01:45 +0300)]
pygnulib: fix substitutions; backup removed files
Dmitry Selyutin [Thu, 28 Jun 2018 22:44:29 +0000 (01:44 +0300)]
vfs: deprecate unused "backup" parameter
Dmitry Selyutin [Thu, 28 Jun 2018 21:25:05 +0000 (00:25 +0300)]
pygnulib: support VCS files
Dmitry Selyutin [Thu, 28 Jun 2018 21:24:26 +0000 (00:24 +0300)]
parser: enable vc_files by default
Dmitry Selyutin [Thu, 28 Jun 2018 21:23:37 +0000 (00:23 +0300)]
generator: fix gnulib-cache.m4 generation
Dmitry Selyutin [Wed, 27 Jun 2018 22:00:53 +0000 (01:00 +0300)]
modules: swap dependencies and demanders; cleanup
Dmitry Selyutin [Wed, 27 Jun 2018 21:55:04 +0000 (00:55 +0300)]
remove debugging leftovers
Dmitry Selyutin [Sat, 10 Feb 2018 16:01:32 +0000 (19:01 +0300)]
minor code cleanup
Dmitry Selyutin [Sun, 4 Feb 2018 10:17:41 +0000 (13:17 +0300)]
pygnulib.py: print the final notifications
Dmitry Selyutin [Sun, 4 Feb 2018 10:13:13 +0000 (13:13 +0300)]
simplify properties; improve performance
Dmitry Selyutin [Mon, 29 Jan 2018 16:07:42 +0000 (19:07 +0300)]
refactored generators; bugfix; tests Makefile.am
Dmitry Selyutin [Sun, 21 Jan 2018 17:43:31 +0000 (20:43 +0300)]
parser: simplify mode parsing; fix --help error
Dmitry Selyutin [Wed, 17 Jan 2018 20:51:24 +0000 (23:51 +0300)]
parser: do not override --help option
Dmitry Selyutin [Wed, 17 Jan 2018 18:37:36 +0000 (21:37 +0300)]
module: override applicability and test properties
Dmitry Selyutin [Wed, 17 Jan 2018 18:31:03 +0000 (21:31 +0300)]
generator: library Makefile generator fixes
Dmitry Selyutin [Wed, 17 Jan 2018 18:25:50 +0000 (21:25 +0300)]
config: autoconf options; version match; cleanup
Dmitry Selyutin [Sat, 13 Jan 2018 15:27:57 +0000 (18:27 +0300)]
read-only modules; module cache; various fixes
Since gnulib-tool does not modify modules, it is OK to initialize each
module only once. Moreover, since most of the time is spent upon
executing transitive closures and each transitive closure stores all
modules into different lists, it is also a good idea to calculate the
hash only once for read-only modules. These simple additions make
gnulib-tool much faster than before, since each module is initialized
only once-per-run and has a constant hash value.
For example, an invocation of pygnulib.py inside wget2 takes about 0.5
seconds until it completes gnulib-comp.m4 generation; previously it used
to take up to 8 seconds. Needless to say that performing the same task
is much slower when using the good old gnulib-tool: in my experiments
it takes about a minute to complete gnulib-comp.m4 generation.
Some of the TransitiveClosure methods considered useful enough to be
also present as a part of Database class. The refactoring also revealed
that conditional modules computation was implemented incorrectly; this
code was fixed. Moreover, this part of functionality was moved into the
__init__ section, which also saves several milliseconds since it is not
necessary to check whether conditional modules table exists upon each
conditional() invocation.
Dmitry Selyutin [Fri, 12 Jan 2018 20:09:16 +0000 (23:09 +0300)]
module: a faster hash computation
Dmitry Selyutin [Fri, 12 Jan 2018 20:05:54 +0000 (23:05 +0300)]
module: fix transitive closure algorithm
Dmitry Selyutin [Thu, 11 Jan 2018 19:21:42 +0000 (22:21 +0300)]
module: generic hash and comparison for dummy
Dmitry Selyutin [Thu, 11 Jan 2018 19:16:42 +0000 (22:16 +0300)]
dummy singleton; update module hash and properties
Dmitry Selyutin [Sun, 7 Jan 2018 20:19:07 +0000 (23:19 +0300)]
generic cleanup; bug fixes; gnulib-comp generator
In order to implement correct gnulib-comp.m4 generation, the whole
conditional dependencies calculation algorithm had to be rewritten.
This patch fixes transitive closure algorithm so that it handles all
conditions correctly. Most of the transitive closure functionality was
separated into a standalone TransitiveClosure class to provide a fast
access to transitive closure results (thus incorporating almost all
functionality of the pygnulib.module.Database class).
The transitive closure is usually performed twice: the base one checks
dependencies for the base set of modules, while the full one also takes
the corresponding tests into account. A standalone Database class was
created to perform both closures in one shot and provide an easy access
to all required module and file lists. This allowed to incorporate some
code from the main script: dummy module handling, libtests.a presense,
module and file lists processing.
Yet another small change is that there is a special DummyModule object,
representing the well-known gnulib dummy module. It was created since
the original gnulib dummy module is unlikely to change quite often, so
it acts like special placeholder value.
Finally the naming convention was changed to longer names again.
Bruno Haible [Thu, 28 Dec 2017 23:29:23 +0000 (00:29 +0100)]
gnulib-tool: Make --conditional-dependencies work better.
Reported by Dmitry Selyutin <ghostman.sd@gmail.com>.
* gnulib-tool (Options): Don't reject the combination of
--conditional-dependencies with --with-tests.
(func_emit_autoconf_snippets): Add argument referenceable_modules.
Don't reference $modules.
(func_import, func_create_testdir): Pass it.
Dmitry Selyutin [Tue, 26 Dec 2017 20:32:00 +0000 (23:32 +0300)]
parser: fix non-import options
Dmitry Selyutin [Tue, 26 Dec 2017 20:30:51 +0000 (23:30 +0300)]
module: database refactoring; consistent hashes
Dmitry Selyutin [Wed, 20 Dec 2017 21:57:56 +0000 (00:57 +0300)]
module: module database implementation
Dmitry Selyutin [Wed, 20 Dec 2017 17:07:49 +0000 (20:07 +0300)]
generator: change base class name
Dmitry Selyutin [Sun, 17 Dec 2017 20:06:10 +0000 (23:06 +0300)]
miscellaneousfixes; po files and gnulib-cache generation
Dmitry Selyutin [Mon, 11 Dec 2017 22:01:54 +0000 (01:01 +0300)]
library Makefile generator
Dmitry Selyutin [Tue, 5 Dec 2017 18:13:16 +0000 (21:13 +0300)]
vfs: eliminate weird pylint warning
Dmitry Selyutin [Tue, 5 Dec 2017 18:12:50 +0000 (21:12 +0300)]
module: gnumake support; code cleanup
Dmitry Selyutin [Mon, 4 Dec 2017 16:58:34 +0000 (19:58 +0300)]
module: nested automake conditionals workaround
Dmitry Selyutin [Mon, 4 Dec 2017 16:46:20 +0000 (19:46 +0300)]
module: unconditional automake snippet
Dmitry Selyutin [Sun, 3 Dec 2017 15:54:05 +0000 (18:54 +0300)]
pygnulib.py: bug fixes; explicit options list
Dmitry Selyutin [Sun, 3 Dec 2017 15:53:15 +0000 (18:53 +0300)]
config: fix po_domain option
Dmitry Selyutin [Sun, 3 Dec 2017 15:52:12 +0000 (18:52 +0300)]
config: rename avoid option into avoids
Dmitry Selyutin [Sun, 3 Dec 2017 15:11:18 +0000 (18:11 +0300)]
generator: command-line invocation generator
Dmitry Selyutin [Sun, 3 Dec 2017 15:04:58 +0000 (18:04 +0300)]
config: gnumake option support
Dmitry Selyutin [Sun, 3 Dec 2017 14:34:56 +0000 (17:34 +0300)]
parser: fix naming for private constants
Dmitry Selyutin [Fri, 1 Dec 2017 21:45:06 +0000 (00:45 +0300)]
vfs: use absolute paths during backup
Dmitry Selyutin [Fri, 1 Dec 2017 21:42:30 +0000 (00:42 +0300)]
pygnulib.py: support all copy modes
Dmitry Selyutin [Fri, 1 Dec 2017 21:42:08 +0000 (00:42 +0300)]
vfs: relative/absolute paths; relative symlinks
Dmitry Selyutin [Fri, 1 Dec 2017 07:26:13 +0000 (10:26 +0300)]
support multiple override directories
Dmitry Selyutin [Thu, 30 Nov 2017 20:10:59 +0000 (23:10 +0300)]
pygnulib.py: support basic file actions subset
Dmitry Selyutin [Thu, 30 Nov 2017 19:53:18 +0000 (22:53 +0300)]
parser: group miscellaneous options in dict
Dmitry Selyutin [Thu, 30 Nov 2017 19:52:30 +0000 (22:52 +0300)]
vfs: standalone filesystem functions
Dmitry Selyutin [Sun, 22 Oct 2017 20:57:55 +0000 (23:57 +0300)]
module: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:56:20 +0000 (23:56 +0300)]
module: reorder methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:55:25 +0000 (23:55 +0300)]
generator: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:49:00 +0000 (23:49 +0300)]
config: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:46:08 +0000 (23:46 +0300)]
vfs: base VFS __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:25:39 +0000 (23:25 +0300)]
vfs: lookup: freestanding again; return VFS
Dmitry Selyutin [Sun, 22 Oct 2017 20:18:12 +0000 (23:18 +0300)]
module: simplify file table generation
Dmitry Selyutin [Sun, 22 Oct 2017 20:13:50 +0000 (23:13 +0300)]
style: prefer using a single underscore
Dmitry Selyutin [Sun, 22 Oct 2017 19:43:46 +0000 (22:43 +0300)]
generator: simplify InitMacroHeader iterator
Dmitry Selyutin [Sun, 22 Oct 2017 19:43:04 +0000 (22:43 +0300)]
fix pylint warnings
Dmitry Selyutin [Sun, 22 Oct 2017 17:04:06 +0000 (20:04 +0300)]
vfs: basic file operations
Dmitry Selyutin [Sun, 22 Oct 2017 16:46:06 +0000 (19:46 +0300)]
vfs: __contains__ is a part of base VFS
Dmitry Selyutin [Sun, 22 Oct 2017 16:45:38 +0000 (19:45 +0300)]
vfs: base and full prefix separation
Dmitry Selyutin [Sun, 22 Oct 2017 16:43:33 +0000 (19:43 +0300)]
config: copymode, local_copymode, copyrights
Dmitry Selyutin [Sun, 22 Oct 2017 09:21:41 +0000 (12:21 +0300)]
pygnulib.py: simplify prefix table
Dmitry Selyutin [Sun, 22 Oct 2017 09:18:36 +0000 (12:18 +0300)]
vfs: implement Project.mkdir method
Dmitry Selyutin [Fri, 20 Oct 2017 20:03:09 +0000 (23:03 +0300)]
vfs: return path/state upon lookup
Dmitry Selyutin [Fri, 20 Oct 2017 17:42:25 +0000 (20:42 +0300)]
vfs: remove backup indirection layer
Dmitry Selyutin [Fri, 20 Oct 2017 17:41:21 +0000 (20:41 +0300)]
vfs: make patch path a property
Dmitry Selyutin [Fri, 20 Oct 2017 17:24:17 +0000 (20:24 +0300)]
config: aggregate all options
Dmitry Selyutin [Fri, 20 Oct 2017 14:06:07 +0000 (17:06 +0300)]
pygnulib.py: use project VFS
Dmitry Selyutin [Fri, 20 Oct 2017 14:05:21 +0000 (17:05 +0300)]
vfs: split base class into base and project
Dmitry Selyutin [Fri, 20 Oct 2017 07:09:58 +0000 (10:09 +0300)]
vfs: (stream, path) instead of (path, type)
Dmitry Selyutin [Fri, 20 Oct 2017 07:03:06 +0000 (10:03 +0300)]
vfs: fix copy-paste bug
Dmitry Selyutin [Fri, 20 Oct 2017 06:58:06 +0000 (09:58 +0300)]
vfs: per-instance patch binary path
Dmitry Selyutin [Thu, 19 Oct 2017 07:11:05 +0000 (10:11 +0300)]
pygnulib.py: instantiate root and local VFS
Dmitry Selyutin [Thu, 19 Oct 2017 07:10:13 +0000 (10:10 +0300)]
vfs: integrate file operations into the base VFS
Dmitry Selyutin [Wed, 18 Oct 2017 07:52:27 +0000 (10:52 +0300)]
pygnulib.py: more file lists; old files <= cache
Dmitry Selyutin [Wed, 18 Oct 2017 07:51:02 +0000 (10:51 +0300)]
vfs: remove strange doc string
Dmitry Selyutin [Tue, 17 Oct 2017 21:13:50 +0000 (00:13 +0300)]
config: additional checks and better validation
Dmitry Selyutin [Tue, 17 Oct 2017 21:09:46 +0000 (00:09 +0300)]
vfs: normalize paths
Dmitry Selyutin [Tue, 17 Oct 2017 20:44:42 +0000 (23:44 +0300)]
vfs: rename 'kwargs' argument to 'table'
Dmitry Selyutin [Tue, 17 Oct 2017 19:26:03 +0000 (22:26 +0300)]
vfs: simplify code; pure virtual operations
Dmitry Selyutin [Sun, 8 Oct 2017 19:08:56 +0000 (22:08 +0300)]
vfs: remove unused variable inside base VFS
Dmitry Selyutin [Sun, 8 Oct 2017 15:52:52 +0000 (18:52 +0300)]
vfs: simplify table handling
Dmitry Selyutin [Wed, 4 Oct 2017 20:26:22 +0000 (23:26 +0300)]
vfs: use "root" argument instead of "gnulib"
Dmitry Selyutin [Wed, 4 Oct 2017 20:10:29 +0000 (23:10 +0300)]
vfs: discard config module dependency
Dmitry Selyutin [Wed, 4 Oct 2017 19:58:49 +0000 (22:58 +0300)]
vfs: implement lookup function
Dmitry Selyutin [Wed, 4 Oct 2017 19:54:35 +0000 (22:54 +0300)]
vfs: do not raise error on non-existent files
Dmitry Selyutin [Wed, 4 Oct 2017 18:10:55 +0000 (21:10 +0300)]
vfs: rename filesystem to vfs
Dmitry Selyutin [Tue, 3 Oct 2017 17:59:41 +0000 (20:59 +0300)]
pygnulib.py: fix verbosity level check for notices
Dmitry Selyutin [Tue, 3 Oct 2017 07:52:48 +0000 (10:52 +0300)]
pygnulib.py: old and new files generation
Dmitry Selyutin [Tue, 3 Oct 2017 07:44:38 +0000 (10:44 +0300)]
pygnulib.py: force cache invocation for some keys
Dmitry Selyutin [Tue, 3 Oct 2017 07:43:57 +0000 (10:43 +0300)]
config: ignore non-existent cache files
Dmitry Selyutin [Tue, 3 Oct 2017 07:42:52 +0000 (10:42 +0300)]
filesystem: check if name exists (__contains__)
Dmitry Selyutin [Sun, 1 Oct 2017 17:29:47 +0000 (20:29 +0300)]
pygnulib.py: determine the final file lists
Dmitry Selyutin [Sun, 1 Oct 2017 17:29:13 +0000 (20:29 +0300)]
pygnulib.py: fetch ac_version if not present
Dmitry Selyutin [Sun, 1 Oct 2017 17:28:10 +0000 (20:28 +0300)]
pygnulib.py: print main and tests modules iff present
Dmitry Selyutin [Sun, 1 Oct 2017 17:25:50 +0000 (20:25 +0300)]
module: fix dummy_required helper
Dmitry Selyutin [Sun, 1 Oct 2017 17:25:06 +0000 (20:25 +0300)]
config: fix "local" key
Dmitry Selyutin [Fri, 29 Sep 2017 19:46:51 +0000 (22:46 +0300)]
module: filelist helper