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
ripytide
17e42ca435
Backend trait refactors
...
- Refactor the confusing/bodgy consts backend macro to use a single
`BackendInfo` struct
- Combine `supports_as_dependency()` and the `switches_dependency` into a single `Option` type as that is a better representation as it is an optional backend feature.
- Add more types like `Packages`, `Sections` for uniformity.
- Added a crate-private prelude and switches all imports to use a
prelude glob import (excluding functions because it's nice to only be
importing types)
- Refactored Backend section name in logging by implementing Display for
`AnyBackend` that just prints the `section`
2024-04-24 17:03:42 +01: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
ripytide
2ad00c3cdc
switched to custom zero-dependency logger implementation
2024-04-23 15:26:52 +01:00
ripytide
c290247c7a
logging refactor
2024-04-23 14:56:36 +01: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
ripytide
a5880f614e
declarative cli and core: refactor
2024-04-22 16:59:23 +01: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
ripytide
df5b229d23
major overhaul of Backend from dynamic to static dispatch using an big enum
2024-04-22 14:08:53 +01: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
ripytide
636a7a02ec
fix typos and release checklist
2024-04-14 17:21:05 +01:00
ripytide
b473f8e432
restructure project into a virtual manifest
...
- remove redundant readme
- de-duplicate Cargo.toml information using workspace inheritance
- rename "pacdef_core" to "pacdef"
- move "crates/main/main.rs" to "crates/pacdef/src/main.rs"
2024-04-13 14:37:12 +01: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
innocentzero
bcefc4969a
docs(fedora): Switches and show_package_info
...
Add docstrings for the query switches and show_package_info functions.
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-12 17:54:48 +05:30
innocentzero
b3263b02a7
fix(fedora): AS_DEPENDENCY and package_info
...
Set SUPPORTS_AS_DEPENDENCY and rewrite show_package_info for dnf
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-12 17:48:28 +05:30
innocentzero
4fe2b0597d
refact(fedora): Move fetch flags to constants
...
Move the flags required for get_installed_packages and
get_user_installed_packages to separate module constants.
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-12 17:34:04 +05:30
innocentzero
027a27f7e1
style(fedora): Implicit types and module consts
...
Use type inferencing for variables and move default repo filter to a
constant.
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-12 17:30:39 +05:30
innocentzero
1ba6b365a3
style(fedora): Comments and empty lines
...
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 22:48:14 +05:30
innocentzero
f8a4671f09
fix(fedora): Fix linter warnings
...
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 22:18:14 +05:30
innocentzero
2ad5ef4cf5
refact(fedora): Package creation from output
...
Packages created now strip the repo if it is one of the default one on
fedora
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 22:13:04 +05:30
innocentzero
dc14a43f90
fix(fedora): Package install, update and query
...
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 22:12:17 +05:30
innocentzero
39999908b0
refact(fedora): Changes in Backend trait
...
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 21:14:49 +05:30
innocentzero
24f1dce866
feat(fedora): Use dnf repoquery to query packages
...
Use dnf repoquery to query packages for better interop and more
parsable output.
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 21:08:47 +05:30
innocentzero
1fc8add2c2
feat(fedora): Add fedora as a backend
...
Note- This is currently heavily experimental and not tested thoroughly.
Signed-off-by: innocentzero <isfarulhaque@proton.me >
2024-04-11 21:08:47 +05:30
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