Commit Graph

70 Commits

Author SHA1 Message Date
Nathan Fisher 150b728172 Merge branch 'odin' of codeberg.org:jeang3nie/hpk into odin 2023-07-08 18:42:27 -04:00
Nathan Fisher 3e65c13a5b Add `Extended` to version enum 2023-07-08 18:40:06 -04:00
Nathan Fisher 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
2023-06-24 10:18:48 -04:00
Nathan Fisher 6ca276c125 Update bootstrap 2023-05-07 22:05:57 -04:00
Nathan Fisher 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.

Also updated `package-bootstrap` to the latest patch release, which has
a fix for completions being installed into the base directory rather
than the appropriate subdirectory.
2023-05-05 19:07:44 -04:00
Nathan Fisher ccf6d5301a Add shells hook 2023-04-29 23:40:17 -04:00
Nathan Fisher 823ae06e2e Rethink Hooks as a struct 2023-04-26 07:48:05 -04:00
Nathan Fisher 1d595e0f1e Add `push` method for Cleanup struct, slightly simplifying code in the
installer
2023-04-19 07:35:38 -04:00
Nathan Fisher bd5090069d Add `Cleanup` struct to run all hooks 2023-04-19 00:43:36 -04:00
Nathan Fisher 641eff3378 Fix some clippy lints 2023-04-18 17:48:40 -04:00
Nathan Fisher 6037836f6b Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin 2023-04-17 00:29:37 -04:00
Nathan Fisher 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.
2023-04-16 19:15:12 -04:00
Nathan Fisher 1e7a02e33d Moved hpk-package all the way back into tree, fixed some clippy lints 2023-04-16 10:36:43 -04:00
Nathan Fisher f479dd28ad Add `install_local` function to cli app 2023-04-15 01:21:12 -04:00
Nathan Fisher 7fe884cd3e Add method to create an Installer struct from an archive path 2023-04-14 01:03:52 -04:00
Nathan Fisher c36b3b14ab Use `try_for_each_with` in `Installer::install` to avoid using a mutex
on the Sender.
2023-04-12 11:25:12 -04:00
Nathan Fisher 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
2023-04-12 11:15:13 -04:00
Nathan Fisher be0c8dc6e7 Massage Installer for better code readability 2023-04-11 22:37:02 -04:00
Nathan Fisher 13dff6bd96 Get basic package installation implemented, with several TODOS left. 2023-04-11 14:05:37 -04:00
Nathan Fisher 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.
2023-04-10 01:06:01 -04:00
Nathan Fisher 1a4d202989 Expand InstallerError enum; 2023-04-08 11:45:39 -04:00
Nathan Fisher 784069402d Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin 2023-04-08 10:16:10 -04:00
Nathan Fisher ab6e7441f1 Create `Installer` struct 2023-04-07 19:12:28 -04:00
Nathan Fisher a07166375a Add `Arch` to `Update` struct 2023-04-06 18:47:53 -04:00
Nathan Fisher ca9c0d7cdb Skip directories when creating a package from directory; Take an
optional directory when creating a package from file list;
2023-04-06 10:41:10 -04:00
Nathan Fisher c5450c34ef Update `package-bootstrap` crate 2023-04-05 22:37:25 -04:00
Nathan Fisher 082c215b44 Split out hpk-package into separate crate; Implement Repository::build() 2023-04-03 19:02:15 -04:00
Nathan Fisher 9126e1da93 Version - use tuple types instead of structs for less verbosity 2023-04-01 11:02:29 -04:00
Nathan Fisher a1843cac33 Check for package upgrades in parallel; Search in packages in parallel; 2023-04-01 02:01:53 -04:00
Nathan Fisher 26be99f408 Completed 2/3 of methods added in previous commit; Added some tests; 2023-03-31 19:08:53 -04:00
Nathan Fisher 4d0dfc1df4 stubbed some methods for db interaction 2023-03-31 12:23:48 -04:00
Nathan Fisher bbb611c77c Added constants and functions for getting the effective database path
and cache directory
2023-03-31 11:39:20 -04:00
Nathan Fisher eae02ce616 Clean up imports after last commit 2023-03-30 19:07:12 -04:00
Nathan Fisher 71a87a506e Adjust `Creator` struct to use Vec<PathBuf> instead of Vec<DirEntry>;
Add `from_list` method for `Creator`
2023-03-30 18:43:11 -04:00
Nathan Fisher efb28a30e2 Fix for dependency resolution - take into account release number 2023-03-30 10:59:02 -04:00
Nathan Fisher 8b52ded12c Tweaked command line options; Fixed manpage installation paths; 2023-03-30 00:46:14 -04:00
Nathan Fisher 94eb94952f Merge branch 'odin' of git.hitchhiker-linux.org:jeang3nie/hpk into odin 2023-03-29 23:33:28 -04:00
Nathan Fisher 9f4d26b338 Added some db/repo methods; Add deny.toml; Replace `reqwests` with
`ureq` crate;
2023-03-29 23:31:59 -04:00
Nathan Fisher e8aead5365 Implement PartialEq and PartialOrd between SemVer and Rapid versioning 2023-03-29 00:18:49 -04:00
Nathan Fisher 1acf6f4051 Add `Rapid` versioning (ala Gnome, Firefox, Chrome) with single decimal 2023-03-28 23:58:18 -04:00
Nathan Fisher 4b7f5afa56 Added value hints for cli 2023-03-28 21:27:40 -04:00
Nathan Fisher efe77b97d8 Added progress bar styling 2023-03-28 21:18:55 -04:00
Nathan Fisher 0a94691685 Small tweak in message passing 2023-03-28 20:41:03 -04:00
Nathan Fisher cf9d6aa7e6 Add progress bars for package creation 2023-03-28 19:28:37 -04:00
Nathan Fisher 749bac6876 Remove stdout message on writing package.ron 2023-03-28 17:53:44 -04:00
Nathan Fisher 3a5174c521 Added `len` method to `Creator` 2023-03-28 17:34:14 -04:00
Nathan Fisher e8aa73bf9d Split off from `hpk` crate 2023-03-28 17:12:41 -04:00
Nathan Fisher 1160730e1f Moved cli binary and bootstrapper into separate crate 2023-03-28 16:57:13 -04:00
Nathan Fisher 026e8599a5 Move `cli` into module rather than workspace member 2023-03-28 00:16:12 -04:00
Nathan Fisher e1f7fbe4fe Fix bugs in `Creator` so that it works now 2023-03-28 00:09:16 -04:00