611 Commits
Author SHA1 Message Date
steven-omaha 5b75065548 chore(release): bump man pages v1.7.2 2026-05-02 16:04:17 +02:00
steven-omaha 7d4154b533 chore(release): update lockfile 2026-05-02 16:03:30 +02:00
steven-omaha f06b93e5f9 chore(release): update lockfile 2026-05-02 16:01:47 +02:00
steven-omaha 993903b29b fix: Cargo.toml in release checklist 2026-05-02 16:01:13 +02:00
steven-omaha ad01427a22 fix: debian backend
Actually tested this time.
2026-05-02 15:55:44 +02:00
steven-omaha 73ca20f124 fix: README debian feature, version 2026-05-02 14:45:51 +02:00
steven-omaha 7e0c88ad1e chore(release): 1.7.1 2026-05-01 19:42:59 +02:00
steven-omaha 9efd35bb8d fix: debian without bindings
reimplemented parts of the Debian backend to get rid of the apt library that has a different version everywhere and therefore won't play nicely with our pacdef
2026-05-01 19:35:35 +02:00
steven-omaha 86e28d4a0a update dependencies, fix integration 2026-04-29 17:35:41 +02:00
steven-omaha 83275576fb refact: remove virtual package 2025-08-05 12:20:09 +02:00
steven-omaha 9a7fd77e99 update dependencies 2025-08-03 13:39:27 +02:00
steven-omaha 59d102a654 fix: build against alpm
alpm was updated to 4.x.x
2025-08-02 14:09:45 +02:00
steven-omaha 36ecc0d0c8 build: Update build script
see #80
2024-05-01 09:59:55 +02:00
innocentzero 3d01741401 build: Update build script
cargo version 1.77 onwards added support for cargo:: to communicate with
cargo and deprecated the old cargo: syntax.

Signed-off-by: innocentzero <isfarulhaque@proton.me>
2024-04-30 10:11:04 +05:30
steven-omaha dfb5d0bd23 refact(backend,grouping): overhaul
- 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

Implemented in #77.
2024-04-27 09:23:46 +02:00
ripytide 536c670e0d refactor to use Packages more and fix PartialEq,Ord impls on Package to all be consistent with each other 2024-04-25 14:11:19 +01:00
steven-omaha 0c38728e14 fix: docstring lint 2024-04-24 20:14:42 +02:00
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