Commit Graph
100 Commits
Author SHA1 Message Date
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
steven-omaha 73c041922f chore: bump dependencies 2023-07-06 12:55:58 +02:00
steven-omaha 3515d8bc0b chore: Release 2023-06-06 16:53:50 +02:00
steven-omaha 421a24b4ff docs: update release checklist 2023-06-06 16:51:59 +02:00
steven-omaha 5d87531cd7 chore(release): bump man pages 2023-06-06 16:50:44 +02:00
steven-omaha 580c71e9a1 chore(release): update lockfile 2023-06-06 16:49:13 +02:00
steven-omaha 14f5618d84 docs: update release checklist 2023-06-06 16:48:59 +02:00
steven-omaha 79b1efe46f chore(cliff): update config 2023-06-06 16:48:38 +02:00
steven-omaha 23129d9cb2 chore(cliff): update config 2023-06-06 16:46:13 +02:00