Commit graph

262 commits

Author SHA1 Message Date
41d6cbbbfc Release 0.3.2 2023-10-09 09:15:24 -04:00
1cea9b966a Distribution configuration script cleaned up and updated to configure locales
Miscellaneous changes:

- /store/ renamed to /state/ in data directory for coherent terminology
- Updated filesystem sync to not warn about directory deletion during async queue
2023-10-09 09:11:17 -04:00
1f5e13a579 Distribution files to build pacwrap repo and dist packages 2023-10-09 06:26:48 -04:00
efb9ef7fa2 Release 0.3.1 - Bug fix implementing mistaken omission of FileType
conditional.
2023-10-09 03:00:55 -04:00
6894a1a25d Release 0.3.0 Finished dev [unoptimized + debuginfo] target(s) in 17.31s 2023-10-08 00:48:53 -04:00
2957419548 Container creation is now facilitated by pacwrap-rs among other changes
- FIlesystem.rs was partially rewritten and container filesystems have
  been consequently restructured
- Container configuration is now synchronized after container sync
- Introduction of a local repo required for container init
- ldconfig is now executed by pacwrap in lieu of broken libalpm script hooks
- Filesystem structure required for pacwrap to operate is now
  initialised by pacwrap.
- Reverse dependency resolution had a bug patched with cascading
  resolution.
2023-10-08 00:43:54 -04:00
58e955887c Removal of pacwrap-bash create script 2023-10-04 09:45:24 -04:00
d669cb910c Execution on dependent containers no longer supported 2023-10-04 09:44:37 -04:00
8a56e0a0fb Dyn-clone for configuration objects 2023-10-04 09:43:46 -04:00
ece2fda0c8 Removal of pacwrap-create, updated pacwrap-utils and pacwrap-common to
interoperate container creation with pacwrap-rust
2023-10-04 09:42:17 -04:00
547c40fe7b Destination check with symbolic link resolution 2023-10-02 01:01:17 -04:00
cf25c96bad ByteUnit moved into its own crate. 2023-09-27 06:00:20 -04:00
67cbe32236 ByteUnit type implementing Display trait alongside ToByteUnit trait providing to_byteunit function for integer primitives. 2023-09-22 02:00:13 -04:00
082c699565 Improved error handling and code cleanup 2023-09-11 04:46:11 -04:00
25bd925ea7 Release 0.2.11 2023-09-11 02:29:06 -04:00
ec9d91c516 Re-ordered the evocation of link and deletion code, and
blocking code for the parallel iterator responsible
for directory cleanup.
2023-09-11 02:25:17 -04:00
417b965a20 Experiment failed with parser, so changes reverted. 2023-09-11 01:33:02 -04:00
7b87c14d32 Error handling oversight fixed. 2023-09-11 01:32:03 -04:00
84d8201e07 Release 0.2.10
- Argument parser and execution path overhual
- Reverse dependency resolution algorithm is now 1:1 with pacman
- Temporary measure in pacwrap-create in order to test the propagation
  of ca-certificates via the restructuring of the default Arch Linux
  root filesystem. /etc/ca-certificates is now symlinked to
  /usr/share/ca-certificates/
- Package summary printout code fixed up with proper text col-width delimiation
2023-09-10 04:30:53 -04:00
7b8853d505 Changing layout of new containers to fix ca-authority propagation and removing old configuration directories. 2023-09-09 03:51:06 -04:00
539ae6dddd Formatting 2023-09-09 03:50:46 -04:00
c3d78a05b9 Further refactoring and optimisation of arguments parser, search option moved to
main, and verification of PATH and runtime executable upon launch of
container.
2023-09-09 03:48:20 -04:00
48503013cc Additional parameter to upgrade enum with dependency resolution algorithms optimised 2023-09-09 03:39:32 -04:00
def0ec3d05 Fixed package summary output, and cleaned up output for erroneous
transaction handling.
2023-09-07 19:02:02 -04:00
4fb1e8922d Arguments parser with generics 2023-09-06 00:24:22 -04:00
b0ad9f58fa Code cleanup with some refactoring 2023-09-03 02:58:22 -04:00
a865584398 Optimised dependency resolution, with improved inverse dependency resolution 2023-09-03 02:57:27 -04:00
41b65085ed pacwrap 0.2.9
- Fixed wrong function call in filesystem.rs
- Preliminary support for logging with log.rs
- Implemented bitflags crate to simplify transaction parameters.
2023-09-01 00:42:17 -04:00
78fb2a386e Release 0.2.8
- Bug fixes to parallelised filesystem state synchronization
- Improved error handling in multiple components
2023-08-29 01:47:32 -04:00
1a19c780d0 Clean up of try_into match functions, minor error handling improvements,
and removal of unsafe code in termcontrol.
2023-08-29 00:59:25 -04:00
e62c38a508 Renamed linker.rs to filesystem.rs 2023-08-28 13:23:39 -04:00
2101f33a42 Improved error handling, bugfixes for threaded filesystem
synchronization, and transactional state machine tidied up.

- Linker struct was refactored into FilesystemStateSync
- HardLinkDS was refactored into FilesystemState
- unhandled.rs removed
- Memory usage was improved in half during filesystem synchronization by
  incorporating the Rc and Arc<str> type
- Implemented thread block between parallel iterators
  and split up filesystem cleanup into two separate subroutines.
  Parallel, out-of-order file and directory deltion is simply not
  possible.
- Tons of cleanup and refactoring also was done.
2023-08-28 13:01:39 -04:00
f2e91be582 Release 0.2.7 - Maintenance Release
- pacman's gpg keyring is now updated when archlinux-keyring package is
  installed into a base container.
- Some refactoring and cleanup
- Cargo.lock updated and added to version control
- Bug fixed with link synchronisation on specified non-root target
2023-08-22 07:53:19 -04:00
bf7c64a2ce Release 0.2.6
- Threadpools for link synchronization with parllel iterators (13-16%
  improvement in performance)
- Bugfix preventing erroneous error state during package install when
  foreign packages are out of date.
- Cleanup of unused variables in configuration traits
- Pinned serde to 1.0.171 due to binary blob inclusion for serde_derive
- Pinned nix to 0.22.3, as required by os_pipe, to reduce dependency count by 6
- Refactored instance traits for safer, more structured, representation of containers
- Cleanup of bash compatibility interface
- Error handling for file operations during link synchronization
2023-08-20 22:54:15 -04:00
36632c4f57 Release 0.2.5
- Fixed synchronization bug with package installation
- termcontrol's unsafe code replaced with safe code
2023-08-04 19:50:36 -04:00
1bb523739f Update to 0.2.4 2023-07-31 05:55:20 -04:00
d3109de859 Some additional tidying up + fixed up verbiage 2023-07-30 12:22:00 -04:00
a13ba6c59e State machine refactored into new submodule, alongside some tidying up. 2023-07-30 11:10:20 -04:00
6dd3d221c5 Local dependency resolution completed for removal of packages
- Among that effort, there was some reorganisation and restructuring
2023-07-25 23:55:51 -04:00
f54cf73c10 Improved error handling for linker 2023-07-22 11:39:15 -04:00
cab8d48573 Update to 0.2.2
- Front-end UX improvements to synchronization engine
- Bugfixes to linker
- Some clean-up here and there, as well.
2023-07-22 08:18:38 -04:00
7af57f5cea Bump to 0.2.1: Symlink synchronization fixed and completed. 2023-07-19 03:44:04 -04:00
478f56c132 Fixing bug with full switch arguments in execution module. 2023-07-17 11:40:22 -04:00
4aa382e556 Version 0.2 -- Release
It's rough around the edges, but it's fully functional for what it is.

Changes:

- Container package synchronization and linking functionality not dependent upon bash.
- Filesystem synchronization
- pacwrap-sync script has been deprecated and removed.
- Support for package installation from libalpm front-end.
- Experimental support for package removal from libalpm front-end.
- Compatibility layer to bash updated to support obtaining explicit
  packages without requiring a pacman invocation in the container.
2023-07-17 10:44:43 -04:00
81482c20f0 Refactoring and transformation of update routine into a state machine
alongside dependency resolution.

- In Addition target parameterisation to the arguments parser with --target/-t
- Bug fixes to the progress event.
2023-07-14 01:24:29 -04:00
8943e77fed Total progression in dl_event, separate pathway for query, and ignore
function in arguments parser.
2023-07-11 02:32:12 -04:00
68af25e824 Bug fixes and optimisations applied to package and link synchronization
- InstanceCache populate_from() function.
- Functional parity almost reached with pacwrap-bash.
2023-07-09 10:01:27 -04:00
566796d174 Old, crufty arguments parser overhauled. 2023-07-07 12:05:27 -04:00
98b47c416d Preliminary implementation of pacman front-end with link synchronization 2023-07-07 03:08:37 -04:00
9dc737ba04 pacwrap 0.1.3
- pacwrap-bash's migration over to pacwrap's bash
  configuration interface is now mostly complete.
- Rework of the permission module API
- X11 permission module has now morphed into the DISPLAY module with
  Wayland support.
- /usr/bin/kill is no longer spawned to reap processes
- Signal traps implemented alongside term attribute control.
- xdg-dbus-proxy socket block now increments at 500 microseconds.
- Job control for services executed in tandum with bwrap
- Miscellaneous fixes, cleanup, and other reworks.
2023-06-23 22:33:49 -04:00