it has been reported that duriing reading pkgbuilds with latin-1 charset
the execption will be raised. Well, it is one more point to rewrite
parser to use own impl instead of shlex and parse raw byte array instead
Previously if package is VCS and version in PKGBUILD doesn't match to
AUR one, then makepkg will update pkgbuild ignoring all previous pkgrel
patches
With this change during task init dry ryn process is always run for vcs
packages
Old behaviour leads to variable to be serialized always in single quotes
(if shlex decides to quote it). It doesn't allow to expand variables during execution,
so those values should be put inside double quotes instead. This commit
checks if there is sign char in the variable and quotes manually,
otherwise returning shlex call
If value is stored as array in database it is serialized as json, but
read as normal string, which lead to innability to use list patches
This fix also removes any postprocessing (unquoting) for functions
There are two major changes here. First of all, the image generation now
consist of two separated stages, the build itself and the production
image generation. Secondly, the packages inside image are now installed
as they were at the time of the root image generation (defined by stat
command)
Another side change is that container does not longer ship syncronized
(and out-of-dated) pacman databases; they have to be synced manually
passlib uses deprecated crypt module which is deprecated and scheduled
for removal in 3.13. Unfortunately, this module seems to be
unmaintained, so this commit replaces passlib with bcrypt, unfortunately
breaking current passwords
It has been found that there are two cases in which pkgbuild was not
parsed correctly
1. Major case in which there is quotation mark inside comment line,
which would cause ValueError: No closing quotation error
2. Minor case, if there are utf symbols in pkgbuild file (e.g.
hieroglyphs, see ttf-google-fonts-git), it will case incorrect
reading in `_is_escaped` method