Commit Graph

  • 150b728172 Merge branch 'odin' of codeberg.org:jeang3nie/hpk into odin odin Nathan Fisher 2023-07-08 18:42:27 -0400
  • 3e65c13a5b Add `Extended` to version enum Nathan Fisher 2023-07-08 18:40:06 -0400
  • 35dfc99176 Make it possible to compile on FreeBSD by conditionally using std::os::<linux,freebsd>::fs::MetadataExt. Not intending to use hpk on FreeBSD but this enables development from either platform Nathan Fisher 2023-06-24 10:18:48 -0400
  • 6ca276c125 Update bootstrap Nathan Fisher 2023-05-07 22:05:57 -0400
  • af41d1c006 Fix bug introduced revolving around the ustar `prefix` field. GNU tar was not giving the full path to each file and ignoring the `prefix` field. On investigation, the field is only to be used if the filename is longer than 100 bytes. Since the library code had been simplified to always use the prefix field this caused all filenames shorter than 100 bytes to fail. Nathan Fisher 2023-05-05 19:07:44 -0400
  • ccf6d5301a Add shells hook Nathan Fisher 2023-04-29 23:40:17 -0400
  • 5544418184 Add LICENSE file Nathan Fisher 2023-04-26 07:53:16 -0400
  • 823ae06e2e Rethink Hooks as a struct Nathan Fisher 2023-04-26 07:48:05 -0400
  • 1d595e0f1e Add `push` method for Cleanup struct, slightly simplifying code in the installer Nathan Fisher 2023-04-19 07:35:38 -0400
  • bd5090069d Add `Cleanup` struct to run all hooks Nathan Fisher 2023-04-19 00:43:36 -0400
  • 641eff3378 Fix some clippy lints Nathan Fisher 2023-04-18 17:48:40 -0400
  • 6037836f6b Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin Nathan Fisher 2023-04-17 00:29:37 -0400
  • 13a97ff1d8 Adjust package installer to take &mut hooks as a parameter, which will be passed to each package is it is installed with all hooks being run after all packages have finished installation. Also fix some ordering issues with package installation so that post install scripts and appstream data are not included in the number of archive members for the sake of progress bars, etc. Nathan Fisher 2023-04-16 19:15:12 -0400
  • 1e7a02e33d Moved hpk-package all the way back into tree, fixed some clippy lints Nathan Fisher 2023-04-16 10:36:43 -0400
  • b1fcbd1f9f Merge hpk-package back in Nathan Fisher 2023-04-16 09:59:04 -0400
  • f479dd28ad Add `install_local` function to cli app Nathan Fisher 2023-04-15 01:21:12 -0400
  • 7fe884cd3e Add method to create an Installer struct from an archive path Nathan Fisher 2023-04-14 01:03:52 -0400
  • c36b3b14ab Use `try_for_each_with` in `Installer::install` to avoid using a mutex on the Sender. Nathan Fisher 2023-04-12 11:25:12 -0400
  • d3b5d096e5 Use `try_for_each_with` in Creator::create in order to avoid putting Sender in a mutex and return errors rather than passing messages Nathan Fisher 2023-04-12 11:15:13 -0400
  • be0c8dc6e7 Massage Installer for better code readability Nathan Fisher 2023-04-11 22:37:02 -0400
  • e6f392bd7a Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk-package into odin Nathan Fisher 2023-04-11 22:04:54 -0400
  • e0f497cb89 Writer for tar nodes takes `&self` instead of `self` Nathan Fisher 2023-04-11 22:03:09 -0400
  • 13dff6bd96 Get basic package installation implemented, with several TODOS left. Nathan Fisher 2023-04-11 14:05:37 -0400
  • 00683722d6 Make Archive::remove parallel; Add Archive::pop method; Nathan Fisher 2023-04-10 19:17:26 -0400
  • 43d8c82c08 Remove appstream from Specs and Package structs Nathan Fisher 2023-04-10 18:41:23 -0400
  • f4e87ee500 Merge remote-tracking branch 'hpk-cli/odin' into odin; This commit brings the cli `hpk` binary back into the `hpk` crate and places it behind a feature flag, enabling development to take place in a single repository. Nathan Fisher 2023-04-10 01:06:01 -0400
  • 89d36281e3 Added some testing for version comparison and implemented PartialEq for Version manually Nathan Fisher 2023-04-09 19:14:16 -0400
  • 407d12a711 Remove stale backup of version::mod.rs Nathan Fisher 2023-04-09 01:38:39 -0400
  • 4cede60a80 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk-package into odin Nathan Fisher 2023-04-09 01:36:26 -0400
  • 32b4f80715 Fix some issues with getting tar header fields; Add some doc tests in tar module; Add some tests for version checks; Nathan Fisher 2023-04-08 19:10:30 -0400
  • 1a4d202989 Expand InstallerError enum; Nathan Fisher 2023-04-08 11:45:39 -0400
  • ae099d94aa Fix Header::filename() method; TODO: fix other related methods, fix Archive::get() method. Nathan Fisher 2023-04-08 11:44:09 -0400
  • 784069402d Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin Nathan Fisher 2023-04-08 10:16:10 -0400
  • ab6e7441f1 Create `Installer` struct Nathan Fisher 2023-04-07 19:12:28 -0400
  • acbdf2d992 Cargo fmt Nathan Fisher 2023-04-07 19:11:35 -0400
  • 0ab84def2e Make `package::User` and `package::Group` public Nathan Fisher 2023-04-07 19:08:23 -0400
  • a07166375a Add `Arch` to `Update` struct Nathan Fisher 2023-04-06 18:47:53 -0400
  • 723d697e90 Export `Arch` enum Nathan Fisher 2023-04-06 18:31:52 -0400
  • ca9c0d7cdb Skip directories when creating a package from directory; Take an optional directory when creating a package from file list; Nathan Fisher 2023-04-06 10:41:10 -0400
  • c5450c34ef Update `package-bootstrap` crate Nathan Fisher 2023-04-05 22:37:25 -0400
  • 8a06b3c628 Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin Nathan Fisher 2023-04-04 22:52:42 -0400
  • 8907831877 Update `hpk-package` Nathan Fisher 2023-04-04 22:52:19 -0400
  • 9cf9d469f6 Add `any` arch; Add `archive_name` method for `Package`; Ensure architecture matches when checking if a package is an upgrade; Nathan Fisher 2023-04-04 22:02:58 -0400
  • 7d6376d5c4 Store target arch as `HOST_ARCH` const, use this as default value for `Package` struct Nathan Fisher 2023-04-04 21:52:29 -0400
  • a58150cc9c Add `arch` field to `Package` Nathan Fisher 2023-04-04 20:45:43 -0400
  • c099790f5a Remove .cargo from git Nathan Fisher 2023-04-04 20:18:29 -0400
  • 1e101f7e70 Update hpk crate, which now has hpk-package split out Nathan Fisher 2023-04-03 19:04:37 -0400
  • 082c215b44 Split out hpk-package into separate crate; Implement Repository::build() Nathan Fisher 2023-04-03 19:02:15 -0400
  • 90b163eb1b Add deku, ron and sha2 to re-exports Nathan Fisher 2023-04-03 18:43:58 -0400
  • 218abdaa87 Adjust re-exports Nathan Fisher 2023-04-03 18:36:54 -0400
  • ee52bfb462 Add minitar test files; Remove creator and item modules; Nathan Fisher 2023-04-03 18:29:11 -0400
  • 1e7d73bc28 Split from hpk crate Nathan Fisher 2023-04-02 18:51:12 -0400
  • 9126e1da93 Version - use tuple types instead of structs for less verbosity Nathan Fisher 2023-04-01 11:02:29 -0400
  • a1843cac33 Check for package upgrades in parallel; Search in packages in parallel; Nathan Fisher 2023-04-01 02:01:53 -0400
  • 26be99f408 Completed 2/3 of methods added in previous commit; Added some tests; Nathan Fisher 2023-03-31 19:08:53 -0400
  • 4d0dfc1df4 stubbed some methods for db interaction Nathan Fisher 2023-03-31 12:23:48 -0400
  • bbb611c77c Added constants and functions for getting the effective database path and cache directory Nathan Fisher 2023-03-31 11:39:20 -0400
  • ccd163edf5 Remove `nativ_tls` option for ureq, as it greatly complicates cross compiling Nathan Fisher 2023-03-31 01:03:54 -0400
  • eae02ce616 Clean up imports after last commit Nathan Fisher 2023-03-30 19:07:12 -0400
  • 71a87a506e Adjust `Creator` struct to use Vec<PathBuf> instead of Vec<DirEntry>; Add `from_list` method for `Creator` Nathan Fisher 2023-03-30 18:43:11 -0400
  • efb28a30e2 Fix for dependency resolution - take into account release number Nathan Fisher 2023-03-30 10:59:02 -0400
  • 8b52ded12c Tweaked command line options; Fixed manpage installation paths; Nathan Fisher 2023-03-30 00:46:14 -0400
  • 94eb94952f Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin Nathan Fisher 2023-03-29 23:33:28 -0400
  • 9f4d26b338 Added some db/repo methods; Add deny.toml; Replace `reqwests` with `ureq` crate; Nathan Fisher 2023-03-29 23:31:59 -0400
  • e8aead5365 Implement PartialEq and PartialOrd between SemVer and Rapid versioning Nathan Fisher 2023-03-29 00:18:49 -0400
  • 1acf6f4051 Add `Rapid` versioning (ala Gnome, Firefox, Chrome) with single decimal Nathan Fisher 2023-03-28 23:58:18 -0400
  • 4b7f5afa56 Added value hints for cli Nathan Fisher 2023-03-28 21:27:40 -0400
  • efe77b97d8 Added progress bar styling Nathan Fisher 2023-03-28 21:18:55 -0400
  • 0a94691685 Small tweak in message passing Nathan Fisher 2023-03-28 20:41:03 -0400
  • cf9d6aa7e6 Add progress bars for package creation Nathan Fisher 2023-03-28 19:28:37 -0400
  • 3d0151610d Fix long filenames when creating tar header from metadata and filename rather than path Nathan Fisher 2023-03-28 19:16:38 -0400
  • 4c80e08731 fix storing filenames longer than 100bytes in tar headers Nathan Fisher 2023-03-28 19:14:17 -0400
  • 749bac6876 Remove stdout message on writing package.ron Nathan Fisher 2023-03-28 17:53:44 -0400
  • 3a5174c521 Added `len` method to `Creator` Nathan Fisher 2023-03-28 17:34:14 -0400
  • e8aa73bf9d Split off from `hpk` crate Nathan Fisher 2023-03-28 17:12:41 -0400
  • 1160730e1f Moved cli binary and bootstrapper into separate crate Nathan Fisher 2023-03-28 16:57:13 -0400
  • 026e8599a5 Move `cli` into module rather than workspace member Nathan Fisher 2023-03-28 00:16:12 -0400
  • e1f7fbe4fe Fix bugs in `Creator` so that it works now Nathan Fisher 2023-03-28 00:09:16 -0400
  • 3b88759665 Cleaned up imports from previous commit Nathan Fisher 2023-03-27 03:26:51 -0400
  • 39b8664c9e Added package `Creator` struct, with `create` method to process package entries fully multithreaded including compressing into the archive, as well as passing messages through an mpsc::channel() interface for use in a background thread in various frontends. Much better suited to task than previous `create_package` function. Untested. Nathan Fisher 2023-03-27 03:18:20 -0400
  • 33955fa836 Made completions generation more generic Nathan Fisher 2023-03-26 02:13:13 -0400
  • e345ca6abb Add `bootstrap` binary Nathan Fisher 2023-03-26 01:43:32 -0400
  • 00e48a9f9a Fix ownership issues with previous commit Nathan Fisher 2023-03-25 18:03:51 -0400
  • 6c62f15a41 Add Update and Database types and begin forming infra for updating packages Nathan Fisher 2023-03-25 17:59:53 -0400
  • 9d53c9f44d Fix some clippy lints Nathan Fisher 2023-03-25 17:04:50 -0400
  • 26af277e28 Create tar node for `package.ron` directly from in memory data Nathan Fisher 2023-03-25 16:51:58 -0400
  • b9116951d5 Creating packages with the cli now working; Nathan Fisher 2023-03-25 15:15:13 -0400
  • ffcd6820d0 Extend tar functionality to turn nodes and archives into byte vectors; Implement package creation using those methods; Nathan Fisher 2023-03-25 12:28:44 -0400
  • 318968db4b Added package format description Nathan Fisher 2023-03-24 19:03:53 -0400
  • 311df4c349 Added README Nathan Fisher 2023-03-24 18:12:30 -0400
  • 46336cfaff Implement package specs files Nathan Fisher 2023-03-24 17:23:02 -0400
  • bc1f1ed082 Added `Hooks` enum; Add some doc comments for `Package`; Add some useful fields to `Package` struct; Add more cli functionality; Nathan Fisher 2023-03-24 13:18:52 -0400
  • d6982b70e8 Defined cli program options Nathan Fisher 2023-03-24 12:51:54 -0400
  • c3324f203b Ran clippy Nathan Fisher 2023-03-23 14:53:43 -0400
  • 85a85a3810 Add `Item` struct, which contains both a `tar::Node` and a plist entry. This struct can be created from just a `Path` parameter, allowing to read the data contained in a file only once during package creation or extraction. Nathan Fisher 2023-03-23 14:43:25 -0400
  • 4f44290a48 Add optional owner to node creation from data Nathan Fisher 2023-03-23 14:09:18 -0400
  • 405ffd194f Add `Archive` struct to `tar` Nathan Fisher 2023-03-23 13:14:17 -0400
  • a53cb726f9 Implement tar::Node creation from raw data + file metadata Nathan Fisher 2023-03-23 12:11:02 -0400
  • faf574364a Add basic data structures to represent Tar archives Nathan Fisher 2023-03-22 18:50:20 -0400
  • 953c3abbc9 impl TryFrom<&Path> for Plist Nathan Fisher 2023-03-22 00:01:57 -0400