* Don't rely on transparent decompression in sync list
The current sync list code relies on the HTTP client library transparently
decompressing the packages.gz file. This only works if the server provides
the 'Content-Encoding: gzip" HTTP header, which has apparently changed
recently.
This patch explicitly decompresses the package list if no encoding
information is provided by the server.
Fixes: https://github.com/Jguer/yay/issues/2709
v2: added gzip closer and added error handling
v3: blindly attempt to decompress, since the content encoding is
stripped by the HTTP client when transparently decompressing.
v4: also fix the fetch in command completion using common interface
Signed-off-by: Edwin Peer <espeer@gmail.com>
* fix failing tests, add fallback logging, add gz testcase
* fix lint
---------
Signed-off-by: Edwin Peer <espeer@gmail.com>
* add short option for --repo
* run pre-commit
* update man page
* add fish completion
* add a N options
* add long options
---------
Co-authored-by: jguer <me@jguer.space>
* feat(install): add --nocleanbuild to keep pkg/ and src/ directories for
AUR packages
Providing this flag during installation of AUR packages allows for keeping
the src/ and pkg/ directories produced my makepkg. If the user wants to
delete the directories, they can either select to cleanBuild in the
cleanmenu or run the installation without the --nocleanbuild flag (yay
will only remove the directories if the package is rebuilt)
* fix(completion): simplify description for --nocleanbuild in fish
This makes the description consistent with the descriptions in the
man page, --help, and zsh completion.
* refactor(install): Rename --nocleanbuild to --keepsrc
This naming scheme is more familiar to users since it is the name of the
flag in Paru.
---------
Co-authored-by: jguer <me@jguer.space>
* rework relationship between runtime and cfg
* separate runtime from cfg
* simplify instantiation logic
* move installer to appropriate package
* move operator to sync package
* add tests for srcinfo service
* consolidate srcinfo service in sync
* add logger to srcinfo
* add logger to preparer
* remove unused text functions
* remove remaining text.* from srcinfo
* remove global logger parts
* remove global org method exports
* remove global logger
* move text->input
* add rule to prevent fmt.Print
* update golangci go version
* remove outdated FAQs
* remove outdated FAQs
* extract runtime building from cfg
* respect AURRPCURL
* use -Syu if there are no targets, allows to pass extra options
* one more step towards removing runtime from cfg
* fix dep graph, existing in graph
* do not change from same dep reason
* roll up layer installs in case of fail
* re-use pacman exclude mechanism
should finish the reimplementation of the missing guards from the legacy
engine.
* include update in debug log
* test rollups
* show new packages in upgrade form if they exist
* refactor up select
* remove unused graph parts
* readd len
* Complete upgrade graphing
* Extract to upgrade pkg
* remove unused dep method
* remove uneeded dep
* cleanup method
* specify io Reader for testing
* use specified input vector
* fix non-active devel
* test base cases
* add devel test cases
* add range tests
* add logger struct
* use logger struct in upgrade
* follow golangci recommendations
* update deps
* update golangci
* make config into parameter
* test(new engine): local install test
* test(keys): fix test keys
* complete integration test for local install
* add simple mising mechanism
* fix(alpm): fix callback text
* feat(yay): Add mixed search result
* remove old result structs
* add option for controlling query builder
* only set query builder after parsing args
* add parser args
* update manpage
* write test for results
* write test for results
* mixed source test
* only sort 1 time with every mode