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
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
In case of VCS packages, if PKGBUILD contains older version, the pkgrel
remains the same during the rebuild process. This fix bumps pkgrel in
any case if the local version is newer than the remote
ordering
So basically initial implementation, with limit=1, would emit the oldest
record in series. New implementation will return the most recent one
instead
The response is still sorted by ascension
It has been found that previous system didn't allow to configure
specific cases (e.g. a whitelisted directory inside /usr/lib/cmake). The
current solution replaces two options to single one, which also allows a
regular expressions
Also PackageArchive class has been moved to core package, because it is
more about service rather than model