steven-omaha
1268df3628
fix(backend): docstring
2024-04-24 20:11:24 +02:00
steven-omaha
b7bbb37511
fix(core): track unmanaged packages once
2024-04-24 20:08:27 +02:00
steven-omaha
15b50d8cb0
refact(logging): use 'log' logging facade
...
Deduplicates the warning messages, and separates implementation from
intention.
The employed log crate is fairly small and simple. It sacrifices
eye-candy for minimalism, which we favor in this projectd.
Implemented in #75 .
2024-04-23 19:09:24 +02:00
steven-omaha
86880212c1
doc: fix toml syntax
2024-04-23 13:09:30 +02:00
steven-omaha
7e85bc39d5
doc(man): add pip_binary config value
2024-04-23 12:30:21 +02:00
steven-omaha
dce5aec11f
fix(man): toml syntax
2024-04-23 12:28:40 +02:00
steven-omaha
e9c3cec6d8
refact(config)!: use toml instead of yaml
...
serde_yaml is deprecated and archived. We should not depend on that.
Therefore switching to toml.
Fixes #76 .
2024-04-23 12:22:23 +02:00
steven-omaha
7b4f63d0ee
refact(core,cli): declarative CLI approach
...
Use clap-derive to let it build the CLI and parse it automagically. This
allows to rework core and split up the monster Pacdef struct.
Switches groups from HashSet to BTreeSet for built-in sorting/more
deterministic general operation.
Refactored code base into a global type synonym Groups to remove
duplication of the HashSet/BTreeSet implementation detail to a single
location.
Implemented in #74 .
2024-04-23 11:08:23 +02:00
steven-omaha
724f084acb
refact(backend): static dispatch
...
major overhaul of Backend from dynamic to static dispatch
See #73 .
2024-04-22 17:40:18 +02:00
steven-omaha
b4915935ed
refact: virtual manifest
...
restructure project into a virtual manifest
See #72 , implemented by @ripytide
2024-04-14 18:32:42 +02:00
steven-omaha
bdfa9b6aeb
ci(release): fix adding zsh completion
2024-04-13 11:59:04 +02:00
steven-omaha
cc581ef699
doc(README): add fedora backend
2024-04-13 11:54:12 +02:00
steven-omaha
8b189a99aa
chore: Release
2024-04-13 11:49:01 +02:00
steven-omaha
99cccf45d6
chore(release): bump man pages
2024-04-13 11:46:51 +02:00
steven-omaha
3b9b933601
chore(release): bump dependencies
2024-04-13 11:46:20 +02:00
steven-omaha
1f33336246
chore(release): update lockfile
2024-04-13 11:44:01 +02:00
steven-omaha
513826b769
feat(backend): add fedora / dnf
...
This series of commits provides support for Fedora Linux and its dnf
package manager.
Implemented in #56 . Closes #54 .
2024-04-12 14:36:41 +02:00
steven-omaha
9c5537e44f
refact(fedora): remove core::panic
2024-04-12 14:35:28 +02:00
steven-omaha
b4ad51b105
refact: todo_per_backend
2024-04-09 19:51:50 +02:00
steven-omaha
5950d79feb
fix(debian): remove unused import
2024-04-09 19:50:44 +02:00
steven-omaha
4283db61fa
refact: add todo
2024-04-09 19:29:56 +02:00
steven-omaha
2b1e985f2f
refact: use Result instead of ExitStatus
2024-04-09 19:28:57 +02:00
steven-omaha
025e63647e
fix(group): symlink warning for package operation
...
Until now, when symlink warnings were enabled, these were printed
independent from the operation that was to be executed. This was
annoying especially when 'pacdef group export' was used to fix exactly
that.
Now this warning is only printed when subcommands from 'pacdef package'
are used.
2024-04-09 14:50:18 +02:00
steven-omaha
9758257957
refact(cmd): dont return exitstatus
2024-04-09 14:09:04 +02:00
steven-omaha
b98f8b1277
fix(rustup): finding installed components
2024-04-09 10:20:01 +02:00
steven-omaha
319be7303a
refact(backend): cleanup
2024-04-09 10:17:20 +02:00
steven-omaha
f02eb76396
refact(backend): add todo
2024-04-09 09:57:46 +02:00
steven-omaha
965a826d5e
refact(rustup): RustupPackage::from_pacdef_packages
2024-04-09 09:55:15 +02:00
steven-omaha
794e3bf12b
refact(rustup): getting switches per repotype
2024-04-09 09:45:59 +02:00
steven-omaha
56c547793a
refact(rustup): introduce modules
2024-04-09 09:40:22 +02:00
steven-omaha
53ca201891
fix(review): apply skips remaining backends
...
Fixes #68 .
2024-04-09 09:16:06 +02:00
steven-omaha
440ac78696
doc(README): update install section
2024-04-07 18:24:16 +02:00
steven-omaha
2b03e579da
doc(env): should_print_debug_info
2024-04-07 18:10:01 +02:00
steven-omaha
8850cab4a3
refact(env): should_print_debug_info
2024-04-07 18:01:10 +02:00
steven-omaha
db4f16c785
refact(rustup): install packages
2024-04-07 17:46:55 +02:00
steven-omaha
9de281617f
refact(rustup): use run_external_command
2024-04-06 18:43:28 +02:00
steven-omaha
b9fb617214
fix(cmd): show full command on error
2024-04-06 18:42:29 +02:00
steven-omaha
675b06352d
refact(rustup): add run_external_command
2024-04-06 18:32:37 +02:00
steven-omaha
9d3654f436
ci(release): add zsh completion
2024-04-05 09:56:08 +02:00
steven-omaha
7e9f5e5930
doc(README): AUR binary version
2024-04-05 09:54:22 +02:00
steven-omaha
1d5f3d5232
chore: Release
2024-04-05 09:30:03 +02:00
steven-omaha
675ee2c0d8
chore(release): bump man pages
2024-04-05 09:25:00 +02:00
steven-omaha
9af77ba934
chore(release): update lockfile
2024-04-05 09:23:59 +02:00
steven-omaha
0e4bd99a5a
feat(void): add void Linux backend
...
PR #69
2024-04-05 08:53:34 +02:00
steven-omaha
2dd4b0ef0e
feat(rust): support $CARGO_HOME
...
get `.crates2.json` from `$CARGO_HOME` if present
Implements #70 .
2024-04-04 21:38:55 +02:00
steven-omaha
8cc5365070
refact(rustup): rework most of the code
2024-04-04 17:10:14 +02:00
steven-omaha
2c409d2c46
ci(check): keep going after failure
2024-04-04 13:01:59 +02:00
steven-omaha
ceaccc8748
style(rustup): add empty lines
2024-04-03 17:51:13 +02:00
steven-omaha
99210e8599
refact(rustup): add todo
2024-04-03 17:50:56 +02:00
steven-omaha
98e6e7f2c6
refact(rustup): remove unused mut
2024-04-03 17:47:58 +02:00
steven-omaha
5f6384b6b3
refact(rustup): get_all_installed_packages
2024-04-03 17:46:34 +02:00
steven-omaha
937efc3782
refact(rustup): make_dependency panic
...
calling this would be a programming error, therefore a panic is warranted
2024-04-03 17:42:57 +02:00
steven-omaha
2952b7ba44
doc(template,bug): config yaml
2024-04-03 12:53:59 +02:00
steven-omaha
313493c0f4
doc(template): feature request
2024-04-03 12:32:36 +02:00
steven-omaha
7b21120144
doc(template,backend): implement checkbox
2024-04-03 12:26:07 +02:00
steven-omaha
78039738f1
doc(template): backend request
2024-04-03 12:20:04 +02:00
steven-omaha
ee72e5fae3
doc(issue,bug): pacdef config file
2024-04-03 12:14:34 +02:00
steven-omaha
8766e75238
doc(issue-template): version shell render
2024-04-03 11:59:13 +02:00
steven-omaha
7905ec777b
doc(issue-template): multiline value
2024-04-03 11:57:43 +02:00
steven-omaha
9ce6dfb3ce
doc(issue-template): reproduction, formatting
2024-04-03 11:54:57 +02:00
steven-omaha
5ddc33a355
doc(issue-template): add bug report form
2024-04-03 11:42:01 +02:00
steven-omaha
743c9555bc
doc(README): rustup
2024-04-03 09:44:19 +02:00
steven-omaha
94146e3c4c
ci: build binary on release
...
Upon release of a new version, automatically build a separate version of
pacdef for each backend that requires a feature flag. Attach all the
artifacts to the Github release.
Implemented by @thechubbypanda. Fixes #58 . PR in #63 .
2024-04-02 22:36:10 +02:00
steven-omaha
631a9afb7f
feat(rustup): add rustup backend
...
This commit adds support for rustup and was provided by @InnocentZero.
The main change under the hood is that rustup packages require up to
three path elements, either 'toolchain/<VERSION>' or
'component/<VERSION>/<component>', where <VERSION> can be stable,
nightly, or any explicit rust version. This change was facilitated by
making Package::repo crate-public.
The README still needs to be updated.
Related to #54 . Merges #55 .
2024-04-02 15:04:34 +02:00
steven-omaha
8cc4791a9c
doc: bump MSRV to 1.74
...
required by clap
2024-04-01 14:21:25 +02:00
steven-omaha
afa8e7f55a
doc: remove invalid link
2024-04-01 14:08:58 +02:00
steven-omaha
9767cc374d
doc: minimum supported apt version
2024-04-01 14:08:45 +02:00
steven-omaha
e37cf03349
ci: enable tests for all features
2024-04-01 14:01:17 +02:00
steven-omaha
6bba968897
ci: build, clippy for all features
2024-04-01 13:58:21 +02:00
steven-omaha
9f6f758a8d
ci: fail on any clippy warning
2024-04-01 13:31:26 +02:00
steven-omaha
3f8468c660
fix(debian): build against rust-apt-0.7.0
...
1bcb7f8 bumped rust-apt from 0.5 to 0.7. This change made
Cache::packages(&self, &sort) a fallible function. The required change in
the Debian backend was missed.
This commit propagates the error in get_all_installed_packages and
get_explicitly_installed_packages for the Debian backend.
Fixes #64 .
2024-03-26 14:22:00 +01:00
steven-omaha
4b7a497dda
fix(review): typo
2024-03-24 20:57:32 +01:00
steven-omaha
34afcb0fd1
feat(review): add 'apply' reply
...
Add the 'a(p)ply' part to the review prompt, which applies all actions
that were put in so far. When the user has too many packages to review,
this allows them to process the packages in chunks of arbitrary sizes.
Related to #36 .
2024-03-24 19:17:35 +01:00
steven-omaha
52f615324a
chore: Release
2024-03-20 11:32:29 +01:00
steven-omaha
ecf1aefd25
chore(release): bump man pages
2024-03-20 11:31:24 +01:00
steven-omaha
1bcb7f80cd
chore(release): bump dependencies, update lockfile
2024-03-20 11:30:08 +01:00
steven-omaha
489074a897
chore: Release
2024-02-15 12:05:14 +01:00
steven-omaha
d0693c1846
chore(release): bump man pages
2024-02-15 12:04:09 +01:00
steven-omaha
cf86725c14
chore(release): update lockfile
2024-02-15 12:02:54 +01:00
steven-omaha
82bf880849
chore: Release
2024-01-28 08:18:35 +01:00
steven-omaha
1b22570cc8
chore(release): bump man pages
2024-01-28 08:17:56 +01:00
steven-omaha
a8df38659a
chore(release): update lockfile
2024-01-28 08:16:28 +01:00
steven-omaha
43805d7784
feat(python): pipx support
...
see #50
closes #48
2024-01-28 08:12:40 +01:00
steven-omaha
ec1aab4b43
refact(ui): infallible conversion for u8 to char
2024-01-16 13:19:37 +01:00
steven-omaha
b5cbcdce4b
chore: Release
2023-12-26 17:56:53 +01:00
steven-omaha
0a421ddf42
chore(release): bump man pages
2023-12-26 17:55:37 +01:00
steven-omaha
e6431d1967
chore(release): update lockfile
2023-12-26 17:54:24 +01:00
steven-omaha
527b2dba28
fix(README): typo
2023-11-06 10:37:31 +01:00
steven-omaha
bcf43a8683
test(args): add negative test cases
2023-10-17 15:37:57 +02:00
steven-omaha
87a85b00dd
test: add rstest crate, argument parsing tests
2023-10-17 15:21:19 +02:00
steven-omaha
bfb2cb2bc6
chore: Release
2023-10-16 14:42:39 +02:00
steven-omaha
31a7ff41ba
chore(release): bump man pages
2023-10-16 14:41:53 +02:00
steven-omaha
2f2c0d54d2
chore(release): update lockfile
2023-10-16 14:41:44 +02:00
steven-omaha
0fab8c11d4
feat(grouping): check duplicate packages in section
...
closes #47
2023-10-11 16:45:48 +02:00
steven-omaha
0381fc7525
fix(grouping): non-canonical ordering
...
The first attempt 02c44c92d0 caused
`Section.partial_cmp` and `Section.cmp` to call each other recursively.
That lead to a stack overflow when compiled without optimizations, and
an infinite loop when optimizations were enabled.
This commit now properly implements at first `Ord` for both `Section`
and `Group`, and from this derives `PartialEq` for each.
2023-10-10 16:34:25 +02:00
steven-omaha
bd96a9074a
Revert "fix(grouping): non-canonical ordering"
...
This reverts commit 02c44c92d0 .
2023-10-10 16:31:29 +02:00
steven-omaha
0b71416ddb
docs(README): MSRV 1.70.0
2023-10-10 16:02:18 +02:00
steven-omaha
87e2eddf64
chore: bump dependencies
2023-10-10 15:38:19 +02:00
steven-omaha
becdb8f413
docs(core): add panics section
2023-10-10 15:32:14 +02:00
steven-omaha
02c44c92d0
fix(grouping): non-canonical ordering
...
clippy: incorrect_partial_ord_impl_on_ord_type
2023-10-10 15:28:28 +02:00