]> Savannah Git Hosting - gnulib.git/log
gnulib.git
7 years agomodule: override applicability and test properties
Dmitry Selyutin [Wed, 17 Jan 2018 18:37:36 +0000 (21:37 +0300)]
module: override applicability and test properties

7 years agogenerator: library Makefile generator fixes
Dmitry Selyutin [Wed, 17 Jan 2018 18:31:03 +0000 (21:31 +0300)]
generator: library Makefile generator fixes

7 years agoconfig: autoconf options; version match; cleanup
Dmitry Selyutin [Wed, 17 Jan 2018 18:25:50 +0000 (21:25 +0300)]
config: autoconf options; version match; cleanup

7 years agoread-only modules; module cache; various fixes
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.

7 years agomodule: a faster hash computation
Dmitry Selyutin [Fri, 12 Jan 2018 20:09:16 +0000 (23:09 +0300)]
module: a faster hash computation

7 years agomodule: fix transitive closure algorithm
Dmitry Selyutin [Fri, 12 Jan 2018 20:05:54 +0000 (23:05 +0300)]
module: fix transitive closure algorithm

7 years agomodule: generic hash and comparison for dummy
Dmitry Selyutin [Thu, 11 Jan 2018 19:21:42 +0000 (22:21 +0300)]
module: generic hash and comparison for dummy

7 years agodummy singleton; update module hash and properties
Dmitry Selyutin [Thu, 11 Jan 2018 19:16:42 +0000 (22:16 +0300)]
dummy singleton; update module hash and properties

7 years agogeneric cleanup; bug fixes; gnulib-comp generator
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.

7 years agognulib-tool: Make --conditional-dependencies work better.
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.

7 years agoparser: fix non-import options
Dmitry Selyutin [Tue, 26 Dec 2017 20:32:00 +0000 (23:32 +0300)]
parser: fix non-import options

7 years agomodule: database refactoring; consistent hashes
Dmitry Selyutin [Tue, 26 Dec 2017 20:30:51 +0000 (23:30 +0300)]
module: database refactoring; consistent hashes

7 years agomodule: module database implementation
Dmitry Selyutin [Wed, 20 Dec 2017 21:57:56 +0000 (00:57 +0300)]
module: module database implementation

7 years agogenerator: change base class name
Dmitry Selyutin [Wed, 20 Dec 2017 17:07:49 +0000 (20:07 +0300)]
generator: change base class name

7 years agomiscellaneousfixes; po files and gnulib-cache generation
Dmitry Selyutin [Sun, 17 Dec 2017 20:06:10 +0000 (23:06 +0300)]
miscellaneousfixes; po files and gnulib-cache generation

7 years agolibrary Makefile generator
Dmitry Selyutin [Mon, 11 Dec 2017 22:01:54 +0000 (01:01 +0300)]
library Makefile generator

7 years agovfs: eliminate weird pylint warning
Dmitry Selyutin [Tue, 5 Dec 2017 18:13:16 +0000 (21:13 +0300)]
vfs: eliminate weird pylint warning

7 years agomodule: gnumake support; code cleanup
Dmitry Selyutin [Tue, 5 Dec 2017 18:12:50 +0000 (21:12 +0300)]
module: gnumake support; code cleanup

7 years agomodule: nested automake conditionals workaround
Dmitry Selyutin [Mon, 4 Dec 2017 16:58:34 +0000 (19:58 +0300)]
module: nested automake conditionals workaround

7 years agomodule: unconditional automake snippet
Dmitry Selyutin [Mon, 4 Dec 2017 16:46:20 +0000 (19:46 +0300)]
module: unconditional automake snippet

7 years agopygnulib.py: bug fixes; explicit options list
Dmitry Selyutin [Sun, 3 Dec 2017 15:54:05 +0000 (18:54 +0300)]
pygnulib.py: bug fixes; explicit options list

7 years agoconfig: fix po_domain option
Dmitry Selyutin [Sun, 3 Dec 2017 15:53:15 +0000 (18:53 +0300)]
config: fix po_domain option

7 years agoconfig: rename avoid option into avoids
Dmitry Selyutin [Sun, 3 Dec 2017 15:52:12 +0000 (18:52 +0300)]
config: rename avoid option into avoids

7 years agogenerator: command-line invocation generator
Dmitry Selyutin [Sun, 3 Dec 2017 15:11:18 +0000 (18:11 +0300)]
generator: command-line invocation generator

7 years agoconfig: gnumake option support
Dmitry Selyutin [Sun, 3 Dec 2017 15:04:58 +0000 (18:04 +0300)]
config: gnumake option support

7 years agoparser: fix naming for private constants
Dmitry Selyutin [Sun, 3 Dec 2017 14:34:56 +0000 (17:34 +0300)]
parser: fix naming for private constants

7 years agovfs: use absolute paths during backup
Dmitry Selyutin [Fri, 1 Dec 2017 21:45:06 +0000 (00:45 +0300)]
vfs: use absolute paths during backup

7 years agopygnulib.py: support all copy modes
Dmitry Selyutin [Fri, 1 Dec 2017 21:42:30 +0000 (00:42 +0300)]
pygnulib.py: support all copy modes

7 years agovfs: relative/absolute paths; relative symlinks
Dmitry Selyutin [Fri, 1 Dec 2017 21:42:08 +0000 (00:42 +0300)]
vfs: relative/absolute paths; relative symlinks

7 years agosupport multiple override directories
Dmitry Selyutin [Fri, 1 Dec 2017 07:26:13 +0000 (10:26 +0300)]
support multiple override directories

7 years agopygnulib.py: support basic file actions subset
Dmitry Selyutin [Thu, 30 Nov 2017 20:10:59 +0000 (23:10 +0300)]
pygnulib.py: support basic file actions subset

7 years agoparser: group miscellaneous options in dict
Dmitry Selyutin [Thu, 30 Nov 2017 19:53:18 +0000 (22:53 +0300)]
parser: group miscellaneous options in dict

7 years agovfs: standalone filesystem functions
Dmitry Selyutin [Thu, 30 Nov 2017 19:52:30 +0000 (22:52 +0300)]
vfs: standalone filesystem functions

7 years agomodule: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:57:55 +0000 (23:57 +0300)]
module: __enter__ and __exit__ methods

7 years agomodule: reorder methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:56:20 +0000 (23:56 +0300)]
module: reorder methods

7 years agogenerator: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:55:25 +0000 (23:55 +0300)]
generator: __enter__ and __exit__ methods

7 years agoconfig: __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:49:00 +0000 (23:49 +0300)]
config: __enter__ and __exit__ methods

7 years agovfs: base VFS __enter__ and __exit__ methods
Dmitry Selyutin [Sun, 22 Oct 2017 20:46:08 +0000 (23:46 +0300)]
vfs: base VFS __enter__ and __exit__ methods

7 years agovfs: lookup: freestanding again; return VFS
Dmitry Selyutin [Sun, 22 Oct 2017 20:25:39 +0000 (23:25 +0300)]
vfs: lookup: freestanding again; return VFS

7 years agomodule: simplify file table generation
Dmitry Selyutin [Sun, 22 Oct 2017 20:18:12 +0000 (23:18 +0300)]
module: simplify file table generation

7 years agostyle: prefer using a single underscore
Dmitry Selyutin [Sun, 22 Oct 2017 20:13:50 +0000 (23:13 +0300)]
style: prefer using a single underscore

7 years agogenerator: simplify InitMacroHeader iterator
Dmitry Selyutin [Sun, 22 Oct 2017 19:43:46 +0000 (22:43 +0300)]
generator: simplify InitMacroHeader iterator

7 years agofix pylint warnings
Dmitry Selyutin [Sun, 22 Oct 2017 19:43:04 +0000 (22:43 +0300)]
fix pylint warnings

7 years agovfs: basic file operations
Dmitry Selyutin [Sun, 22 Oct 2017 17:04:06 +0000 (20:04 +0300)]
vfs: basic file operations

7 years agovfs: __contains__ is a part of base VFS
Dmitry Selyutin [Sun, 22 Oct 2017 16:46:06 +0000 (19:46 +0300)]
vfs: __contains__ is a part of base VFS

7 years agovfs: base and full prefix separation
Dmitry Selyutin [Sun, 22 Oct 2017 16:45:38 +0000 (19:45 +0300)]
vfs: base and full prefix separation

7 years agoconfig: copymode, local_copymode, copyrights
Dmitry Selyutin [Sun, 22 Oct 2017 16:43:33 +0000 (19:43 +0300)]
config: copymode, local_copymode, copyrights

7 years agopygnulib.py: simplify prefix table
Dmitry Selyutin [Sun, 22 Oct 2017 09:21:41 +0000 (12:21 +0300)]
pygnulib.py: simplify prefix table

7 years agovfs: implement Project.mkdir method
Dmitry Selyutin [Sun, 22 Oct 2017 09:18:36 +0000 (12:18 +0300)]
vfs: implement Project.mkdir method

7 years agovfs: return path/state upon lookup
Dmitry Selyutin [Fri, 20 Oct 2017 20:03:09 +0000 (23:03 +0300)]
vfs: return path/state upon lookup

7 years agovfs: remove backup indirection layer
Dmitry Selyutin [Fri, 20 Oct 2017 17:42:25 +0000 (20:42 +0300)]
vfs: remove backup indirection layer

7 years agovfs: make patch path a property
Dmitry Selyutin [Fri, 20 Oct 2017 17:41:21 +0000 (20:41 +0300)]
vfs: make patch path a property

7 years agoconfig: aggregate all options
Dmitry Selyutin [Fri, 20 Oct 2017 17:24:17 +0000 (20:24 +0300)]
config: aggregate all options

7 years agopygnulib.py: use project VFS
Dmitry Selyutin [Fri, 20 Oct 2017 14:06:07 +0000 (17:06 +0300)]
pygnulib.py: use project VFS

7 years agovfs: split base class into base and project
Dmitry Selyutin [Fri, 20 Oct 2017 14:05:21 +0000 (17:05 +0300)]
vfs: split base class into base and project

7 years agovfs: (stream, path) instead of (path, type)
Dmitry Selyutin [Fri, 20 Oct 2017 07:09:58 +0000 (10:09 +0300)]
vfs: (stream, path) instead of (path, type)

7 years agovfs: fix copy-paste bug
Dmitry Selyutin [Fri, 20 Oct 2017 07:03:06 +0000 (10:03 +0300)]
vfs: fix copy-paste bug

7 years agovfs: per-instance patch binary path
Dmitry Selyutin [Fri, 20 Oct 2017 06:58:06 +0000 (09:58 +0300)]
vfs: per-instance patch binary path

7 years agopygnulib.py: instantiate root and local VFS
Dmitry Selyutin [Thu, 19 Oct 2017 07:11:05 +0000 (10:11 +0300)]
pygnulib.py: instantiate root and local VFS

7 years agovfs: integrate file operations into the base VFS
Dmitry Selyutin [Thu, 19 Oct 2017 07:10:13 +0000 (10:10 +0300)]
vfs: integrate file operations into the base VFS

7 years agopygnulib.py: more file lists; old files <= cache
Dmitry Selyutin [Wed, 18 Oct 2017 07:52:27 +0000 (10:52 +0300)]
pygnulib.py: more file lists; old files <= cache

7 years agovfs: remove strange doc string
Dmitry Selyutin [Wed, 18 Oct 2017 07:51:02 +0000 (10:51 +0300)]
vfs: remove strange doc string

7 years agoconfig: additional checks and better validation
Dmitry Selyutin [Tue, 17 Oct 2017 21:13:50 +0000 (00:13 +0300)]
config: additional checks and better validation

7 years agovfs: normalize paths
Dmitry Selyutin [Tue, 17 Oct 2017 21:09:46 +0000 (00:09 +0300)]
vfs: normalize paths

7 years agovfs: rename 'kwargs' argument to 'table'
Dmitry Selyutin [Tue, 17 Oct 2017 20:44:42 +0000 (23:44 +0300)]
vfs: rename 'kwargs' argument to 'table'

7 years agovfs: simplify code; pure virtual operations
Dmitry Selyutin [Tue, 17 Oct 2017 19:26:03 +0000 (22:26 +0300)]
vfs: simplify code; pure virtual operations

7 years agovfs: remove unused variable inside base VFS
Dmitry Selyutin [Sun, 8 Oct 2017 19:08:56 +0000 (22:08 +0300)]
vfs: remove unused variable inside base VFS

7 years agovfs: simplify table handling
Dmitry Selyutin [Sun, 8 Oct 2017 15:52:52 +0000 (18:52 +0300)]
vfs: simplify table handling

7 years agovfs: use "root" argument instead of "gnulib"
Dmitry Selyutin [Wed, 4 Oct 2017 20:26:22 +0000 (23:26 +0300)]
vfs: use "root" argument instead of "gnulib"

7 years agovfs: discard config module dependency
Dmitry Selyutin [Wed, 4 Oct 2017 20:10:29 +0000 (23:10 +0300)]
vfs: discard config module dependency

7 years agovfs: implement lookup function
Dmitry Selyutin [Wed, 4 Oct 2017 19:58:49 +0000 (22:58 +0300)]
vfs: implement lookup function

7 years agovfs: do not raise error on non-existent files
Dmitry Selyutin [Wed, 4 Oct 2017 19:54:35 +0000 (22:54 +0300)]
vfs: do not raise error on non-existent files

7 years agovfs: rename filesystem to vfs
Dmitry Selyutin [Wed, 4 Oct 2017 18:10:55 +0000 (21:10 +0300)]
vfs: rename filesystem to vfs

7 years agopygnulib.py: fix verbosity level check for notices
Dmitry Selyutin [Tue, 3 Oct 2017 17:59:41 +0000 (20:59 +0300)]
pygnulib.py: fix verbosity level check for notices

7 years agopygnulib.py: old and new files generation
Dmitry Selyutin [Tue, 3 Oct 2017 07:52:48 +0000 (10:52 +0300)]
pygnulib.py: old and new files generation

7 years agopygnulib.py: force cache invocation for some keys
Dmitry Selyutin [Tue, 3 Oct 2017 07:44:38 +0000 (10:44 +0300)]
pygnulib.py: force cache invocation for some keys

7 years agoconfig: ignore non-existent cache files
Dmitry Selyutin [Tue, 3 Oct 2017 07:43:57 +0000 (10:43 +0300)]
config: ignore non-existent cache files

7 years agofilesystem: check if name exists (__contains__)
Dmitry Selyutin [Tue, 3 Oct 2017 07:42:52 +0000 (10:42 +0300)]
filesystem: check if name exists (__contains__)

7 years agopygnulib.py: determine the final file lists
Dmitry Selyutin [Sun, 1 Oct 2017 17:29:47 +0000 (20:29 +0300)]
pygnulib.py: determine the final file lists

7 years agopygnulib.py: fetch ac_version if not present
Dmitry Selyutin [Sun, 1 Oct 2017 17:29:13 +0000 (20:29 +0300)]
pygnulib.py: fetch ac_version if not present

7 years agopygnulib.py: print main and tests modules iff present
Dmitry Selyutin [Sun, 1 Oct 2017 17:28:10 +0000 (20:28 +0300)]
pygnulib.py: print main and tests modules iff present

7 years agomodule: fix dummy_required helper
Dmitry Selyutin [Sun, 1 Oct 2017 17:25:50 +0000 (20:25 +0300)]
module: fix dummy_required helper

7 years agoconfig: fix "local" key
Dmitry Selyutin [Sun, 1 Oct 2017 17:25:06 +0000 (20:25 +0300)]
config: fix "local" key

7 years agomodule: filelist helper
Dmitry Selyutin [Fri, 29 Sep 2017 19:46:51 +0000 (22:46 +0300)]
module: filelist helper

7 years agoconfig: autoconf -> ac_version
Dmitry Selyutin [Fri, 29 Sep 2017 19:46:16 +0000 (22:46 +0300)]
config: autoconf -> ac_version

7 years agoconfig: prefer attributes over items
Dmitry Selyutin [Fri, 29 Sep 2017 19:44:12 +0000 (22:44 +0300)]
config: prefer attributes over items

7 years agopygnulib: deprecate legacy formatting
Dmitry Selyutin [Fri, 29 Sep 2017 16:59:42 +0000 (19:59 +0300)]
pygnulib: deprecate legacy formatting

7 years agomodule: more efficient hash implementation
Dmitry Selyutin [Fri, 29 Sep 2017 15:51:05 +0000 (18:51 +0300)]
module: more efficient hash implementation

7 years agopygnulib.py: show banner notices
Dmitry Selyutin [Fri, 29 Sep 2017 07:16:29 +0000 (10:16 +0300)]
pygnulib.py: show banner notices

7 years agomodule: yet another fix in transitive closure; style changes
Dmitry Selyutin [Thu, 28 Sep 2017 21:51:41 +0000 (00:51 +0300)]
module: yet another fix in transitive closure; style changes

7 years agopygnulib.py: do not call transitive closure twice (copy & paste)
Dmitry Selyutin [Thu, 28 Sep 2017 21:13:18 +0000 (00:13 +0300)]
pygnulib.py: do not call transitive closure twice (copy & paste)

7 years agomodule: multiple statuses support; fixed transitive closure
Dmitry Selyutin [Thu, 28 Sep 2017 21:12:01 +0000 (00:12 +0300)]
module: multiple statuses support; fixed transitive closure

7 years agopygnulib.py: simplify license conflicts detection
Dmitry Selyutin [Thu, 28 Sep 2017 18:08:01 +0000 (21:08 +0300)]
pygnulib.py: simplify license conflicts detection

7 years agomodule: efficient hash implementation
Dmitry Selyutin [Thu, 28 Sep 2017 15:53:30 +0000 (18:53 +0300)]
module: efficient hash implementation

7 years agoparser: cleanup; allow empty options (--import in wget2)
Dmitry Selyutin [Thu, 28 Sep 2017 15:18:21 +0000 (18:18 +0300)]
parser: cleanup; allow empty options (--import in wget2)

7 years agopygnulib.py: inform about license incompatibilities
Dmitry Selyutin [Thu, 28 Sep 2017 14:05:59 +0000 (17:05 +0300)]
pygnulib.py: inform about license incompatibilities

7 years agopygnulib.py: transfer script name
Dmitry Selyutin [Thu, 28 Sep 2017 10:12:08 +0000 (13:12 +0300)]
pygnulib.py: transfer script name

7 years agoconfig: add GPL and LGPL to license sets
Dmitry Selyutin [Thu, 28 Sep 2017 10:10:25 +0000 (13:10 +0300)]
config: add GPL and LGPL to license sets

7 years agomodule: fix typo (is -> in)
Dmitry Selyutin [Thu, 28 Sep 2017 07:46:01 +0000 (10:46 +0300)]
module: fix typo (is -> in)

7 years agomodule: use list on line-by-line iteration
Dmitry Selyutin [Thu, 28 Sep 2017 07:05:15 +0000 (10:05 +0300)]
module: use list on line-by-line iteration