]>
git.ipfire.org Git - people/ms/pakfire.git/log
Michael Tremer [Thu, 4 Mar 2021 22:03:21 +0000 (22:03 +0000)]
_pakfire: Remove the trailing newline before passing to python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 22:02:07 +0000 (22:02 +0000)]
execute: Pass string length to logging function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 18:46:56 +0000 (18:46 +0000)]
execute: Log something if the logging callback failed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 18:34:53 +0000 (18:34 +0000)]
_pakfire: Translate log levels to Python
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 17:17:00 +0000 (17:17 +0000)]
parser: Drop unused function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 17:13:57 +0000 (17:13 +0000)]
parser: Consolidate compiling regular expressions into one function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 17:00:50 +0000 (17:00 +0000)]
parser: commands: Don't be greedy when finding the closing bracket
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 4 Mar 2021 11:10:44 +0000 (11:10 +0000)]
builder: Refactor logging
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 17:04:32 +0000 (17:04 +0000)]
parser: Capture the output of commands
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 17:03:20 +0000 (17:03 +0000)]
util: Make pakfire_string_replace more robust on invalid inputs
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 16:28:18 +0000 (16:28 +0000)]
execute: Add data pointer to logging callback
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 15:59:25 +0000 (15:59 +0000)]
parser: Implement executing commands in %(...)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 15:01:28 +0000 (15:01 +0000)]
parser: Use JIT for PCRE2
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 14:46:54 +0000 (14:46 +0000)]
parser: Split expanding variables into separate function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 14:33:41 +0000 (14:33 +0000)]
parser: Use PCRE2 for regex matching
The regular expression is only compiled once per parser when it is being
needed and not every time we are searching for variables.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 14:01:26 +0000 (14:01 +0000)]
libpakfire: Link against PCRE2 (8 bit)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 11:47:01 +0000 (11:47 +0000)]
parser: expand: Tidy up some code
No functional changes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 11:46:27 +0000 (11:46 +0000)]
tests: makefile: Update test to latest parser changes
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 11:43:20 +0000 (11:43 +0000)]
parser: Improve performance of expanding strings
By using pakfire_string_replace, all occurrences of a variable will be
replaced at once until no variables are being left.
It can still happen, that the same variable is being matched later again
(multiple times even), but it looks to me like adding any caching
mechanism adds a lot more overhead.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 10:35:10 +0000 (10:35 +0000)]
parser: Add support for flags
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 3 Mar 2021 00:32:17 +0000 (00:32 +0000)]
util: Implement a function that replace patterns in a string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 22:09:18 +0000 (22:09 +0000)]
builder: Set BASEDIR in build environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 22:08:35 +0000 (22:08 +0000)]
python: parser: Implement setting variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 21:52:53 +0000 (21:52 +0000)]
builder: Run build scripts in all stages
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 21:52:06 +0000 (21:52 +0000)]
python: Export pakfire_execute_script
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 21:50:38 +0000 (21:50 +0000)]
execute: Activate environment earlier to write to ramdisks
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 11:43:56 +0000 (11:43 +0000)]
parser: Split keys into name and namespace part
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 2 Mar 2021 11:42:05 +0000 (11:42 +0000)]
tests: Check and warn if an expected string is NULL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 19:47:19 +0000 (19:47 +0000)]
execute: Add function to execute a script
This has been moved from step
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 18:19:16 +0000 (18:19 +0000)]
_pakfire: parser: Hold a reference to the parser object
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 18:19:03 +0000 (18:19 +0000)]
_pakfire: archive: Remove debugging line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 18:05:01 +0000 (18:05 +0000)]
parser: Handle appending variables correctly
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 18:01:27 +0000 (18:01 +0000)]
parser: Handle "export" keyword
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 17:39:17 +0000 (17:39 +0000)]
parser: Fix reference counting
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 17:09:44 +0000 (17:09 +0000)]
parser: Unref parent only when set
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 17:09:05 +0000 (17:09 +0000)]
tests: Return number of failed test
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 17:08:44 +0000 (17:08 +0000)]
parser: Have the merge() function return an integer
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 16:55:07 +0000 (16:55 +0000)]
parser: Remove unused function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 16:46:22 +0000 (16:46 +0000)]
builder: Implement reading makefiles
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 15:12:06 +0000 (15:12 +0000)]
parser: Create an error object when parsing failed
This can be used to report more details about the parsing error to the
user
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 1 Mar 2021 12:23:39 +0000 (12:23 +0000)]
parser: Handle lines continued with backslash
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Feb 2021 12:52:44 +0000 (12:52 +0000)]
tests: makefile: Test if parsing macros works
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Feb 2021 12:00:59 +0000 (12:00 +0000)]
Fix typo
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Feb 2021 11:56:48 +0000 (11:56 +0000)]
_pakfire: Show path when mount/umount failed
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Feb 2021 11:50:13 +0000 (11:50 +0000)]
parser: Allow empty lines after T_KEY to open a block
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 27 Feb 2021 11:34:07 +0000 (11:34 +0000)]
tests: Parse beep.nm
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Feb 2021 11:13:26 +0000 (11:13 +0000)]
util: Refactor pakfire_string_partition
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Feb 2021 10:40:30 +0000 (10:40 +0000)]
parser: Disable debugging
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Feb 2021 10:36:50 +0000 (10:36 +0000)]
parser: Do not consider a READLINES block opening with fewer indents
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Feb 2021 10:34:17 +0000 (10:34 +0000)]
parser: Allow reading empty keys
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Fri, 26 Feb 2021 10:33:41 +0000 (10:33 +0000)]
parser: Remove hack to match beginning of line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 16:51:40 +0000 (16:51 +0000)]
parser: Fixup readline
This could read into the next line when a line was empty
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 16:40:49 +0000 (16:40 +0000)]
parser: Just ignore any "def" or "define" keywords
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 16:36:18 +0000 (16:36 +0000)]
parser: Add a hack for "template NAME" lines
These will now be parsed as empty subparsers which are being turned into
a regular declaration.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 15:36:36 +0000 (15:36 +0000)]
parser: Remove hack to detect "end"
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 15:29:26 +0000 (15:29 +0000)]
parser: Add support for named subparsers and variables
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 14:56:49 +0000 (14:56 +0000)]
parser: Only treat keywords as such when they are at the beginning of the line
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 14:26:08 +0000 (14:26 +0000)]
parser: Handle empty else statement returning NULL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 14:16:12 +0000 (14:16 +0000)]
tests: parser: Add a simple if clause
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 11:47:54 +0000 (11:47 +0000)]
parser: Remove any leading whitespace from values
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 11:44:44 +0000 (11:44 +0000)]
parser: Change handling of namespace
The namespace is being added when parsers are being merged
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 11:43:12 +0000 (11:43 +0000)]
tests: Show received string as well as expected string
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 11:18:35 +0000 (11:18 +0000)]
parser: Drop unused function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Thu, 25 Feb 2021 11:17:24 +0000 (11:17 +0000)]
parser: Introduce new data type for declarations
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 19:28:54 +0000 (19:28 +0000)]
parser: Add support for conditionals
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 18:09:10 +0000 (18:09 +0000)]
parser: Do not define yyunput
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 18:05:39 +0000 (18:05 +0000)]
parser: Remove some debugging output
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 18:04:52 +0000 (18:04 +0000)]
parser: Allow empty lines in READLINES
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 17:58:34 +0000 (17:58 +0000)]
parser: Add keywords that open a new parser
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 13:17:01 +0000 (13:17 +0000)]
parser: Jump into an extra context when we could not find a keyword
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 11:39:18 +0000 (11:39 +0000)]
parser: Use yyless(0) instead of unput(*yytext)
unput fails for the first character in the body that is being scanned
and yyless is more efficient than unput, too.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 11:35:37 +0000 (11:35 +0000)]
parser: Move test cases into many smaller files
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Wed, 24 Feb 2021 11:31:06 +0000 (11:31 +0000)]
parser: Ignore empty lines
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 20:30:57 +0000 (20:30 +0000)]
parser: Parse multi-line definitions
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 19:45:53 +0000 (19:45 +0000)]
parser: Implement appending strings with +=
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 19:39:51 +0000 (19:39 +0000)]
parser: Start from scratch
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Tue, 23 Feb 2021 18:37:20 +0000 (18:37 +0000)]
repo: Increase XZ work buffer from 1 byte to 1 megabyte
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:55:20 +0000 (10:55 +0000)]
parser: Remove more useless directives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:54:42 +0000 (10:54 +0000)]
parser: Move cleaning up the parser out of debug block
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:53:53 +0000 (10:53 +0000)]
parser: Revert back to GLR mode
We need to look ahead for more than one token which requires us using
GLR.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:52:49 +0000 (10:52 +0000)]
parser: Remove ineffective directives
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:50:26 +0000 (10:50 +0000)]
configure: Fix raw bison and call it directly
The old YACC macro has some issues with using modern bison features and
always enables compatibility mode with yacc.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Mon, 15 Feb 2021 10:49:19 +0000 (10:49 +0000)]
parser: Fix path of source files after move
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 14 Feb 2021 16:26:46 +0000 (16:26 +0000)]
configure: Use bison instead of POSIX yacc
bison is around everywhere and we can make use of its modern features
instead of sticking to the POSIX standard.
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 14 Feb 2021 16:26:34 +0000 (16:26 +0000)]
python: Export pakfire_make_path()
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 14 Feb 2021 16:26:04 +0000 (16:26 +0000)]
parser: Disable useless code when compiling without debug
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 14 Feb 2021 16:25:28 +0000 (16:25 +0000)]
parser: Do not use pakfire's own memory allocation functions any more
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sun, 14 Feb 2021 16:24:41 +0000 (16:24 +0000)]
bison: Update %error-verbose directive
This is deprecated and has been replaced
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 16:46:22 +0000 (16:46 +0000)]
python: parser: Extend and let it read from file
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 16:34:31 +0000 (16:34 +0000)]
python: Add simply Parser module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 16:28:42 +0000 (16:28 +0000)]
pakfire: Skip deactivation when running in /
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 15:40:09 +0000 (15:40 +0000)]
parser: Remove declaration limit and allocate memory dynamically
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 15:31:20 +0000 (15:31 +0000)]
builder: Extract packages into the build environment
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 15:05:41 +0000 (15:05 +0000)]
Drop unused compression module
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 14:45:02 +0000 (14:45 +0000)]
system: Drop loads of unused mountpoint code
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 14:39:46 +0000 (14:39 +0000)]
_pakfire: Drop unused sync() function
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 14:36:44 +0000 (14:36 +0000)]
_pakfire: Drop unused constants
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 14:18:06 +0000 (14:18 +0000)]
builder: Add mount/umount to _pakfire to avoid calling /bin/mount
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 13:18:55 +0000 (13:18 +0000)]
builder: Remove ccache settings in environment
This is something that we should do elsewhere
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Michael Tremer [Sat, 13 Feb 2021 13:11:23 +0000 (13:11 +0000)]
builder: Do not lock build environments
This feels a bit unnecessary because the paths are being randomised
anyways and this might need to move into Pakfire().
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>