Commit graph

347 commits

Author SHA1 Message Date
e8403c600d
Bug fix for kill_processes function with minor refactoring
- Continue loop in kill_processes and warn instead of returning error
- Removed redundant colon in warn message
- Removed vestigial lifetime expanssion from qualify_process function
2024-05-13 18:16:26 -04:00
1385021b0f
Fixed error condition handling in edit function with some minor refactoring
- A bug wherein the lock doesn't get removed when an error occurs (e.g.
  file not found) has been fixed.
2024-05-09 20:52:14 -04:00
c86d24c5a8
Cleaned up directory-acquisition functions and tidyed up agent
- Added expect call in procfs() in the ever unlikely scenario the Linux
  kernel fails to return a UTF-8 string. If this were to happen, it'd
  mean something had gone horribly wrong; either a bug in the kernel, or
  memory corruption as a result of faulty hardware.
- Reference version data from constants in agent.rs
2024-05-09 20:48:06 -04:00
622be0a7e6
Attribution update in dist 2024-05-09 20:40:19 -04:00
6168fefd13
Removed lazy_static dependency from pacwrap crate 2024-05-01 21:32:44 -04:00
3fe9d41659
Some tidy up curtailing use of lazy-static variables
- lazy-static variables replaced with OnceLock where applicable with
  otherwise redundant usage removed.
- Front-end code no longer makes use of lazy-static variables
2024-05-01 21:32:13 -04:00
e1f6d0ee52
Manual update to reflect c243d528b1 2024-04-30 20:32:21 -04:00
c243d528b1
Lazy init addition to manual, HELP_ALL changed to fixed-length static array 2024-04-30 20:29:35 -04:00
0cf3701fe9
Updated Cargo.lock 2024-04-30 20:29:32 -04:00
aeadbd4aa4
Enablement of experimental lazy database initialization 2024-04-26 23:45:42 -04:00
d8a81436a1
Release 0.8.1 2024-04-24 18:00:28 -04:00
f7f603f37f
Attribution Update 2024-04-24 17:58:24 -04:00
4bfc0ccbe6
Documentation update 2024-04-23 19:20:02 -04:00
69c1b3fe53
Fixed delete lock and fixed argument in manual 2024-04-23 17:15:58 -04:00
78bbcbef79
Don't synchronize filesystem state during preview
- Prevent filesystem state synchronization when preview flag set
- Disallow container creation when preview flag set
2024-04-21 15:43:01 -04:00
03d942ad22
Bug fixes for database resolution during composition
- Container::stamp function to set new timestamp with compose_handle.
- Restructured and refactored trans_ready function.
- Fixed bug with progress ticker during an aggregate transaction when
  one or more lines are printed to std[out|err].
- Do not print containers as up-to-date upon completion of container
  composition nor creation in aggregate, nor if a container was
  composed.
- TransactionState::Skip state declared and implemented.
- Check for UpdateSchema(..) instead of Prepare for marking a container
  as updated.
2024-04-21 15:34:53 -04:00
5c3b9bdd5d
Attribution update 2024-04-19 18:41:29 -04:00
8564f2ca74
Add positional arguments in edit function 2024-04-19 18:41:27 -04:00
93a3386571 Partial reversion of 8b286a2dfc to qualify
runtime operation
2024-04-11 20:26:11 -04:00
8b286a2dfc Instance name acquisition fixed 2024-04-11 18:34:43 -04:00
6c8f7374e6 Additional documentation with refactoring and bug fix
- Documentation for desktop utils command module
- Split authorship and license sections in manual
- Cleaned up and reformatted some parameters in manual output
- Don't include symbolic containers with queue in filesystem module
- Tidy-up refactor of a few different functions across the library
2024-04-11 03:21:15 -04:00
fde67122ad Provide temporal home directory for Slice type fakeroot containers
- Since we no longer create home directories for sliced containers,
  provide a temporal home directory for fakeroot containers.
- Do not mount bash.bashrc into a Slice type fakeroot container.
2024-04-08 22:24:46 -04:00
a8f2d5865f Fixed formatting for compatibility with markdown and clearer verbiage 2024-04-06 01:07:02 -04:00
51027e2e3f Preparation for stable builds derived from git tag 2024-04-05 23:59:58 -04:00
de42ff8960 Update documentation to reflect 5e9211a530
and inclusion of dbus module docs

- Updated pacwrap.1 manpage and manual.md
- Dbus module documentation enumerating the available modules to
  configure xdg-dbus-proxy in containers
2024-04-05 23:59:50 -04:00
5e9211a530 Refactored help module and updated help manual 2024-04-05 23:33:10 -04:00
b3ec73c24d Amended security policy 2024-04-05 17:49:00 -04:00
5ed6240ffe Changed socket string to policy to better reflect what it does 2024-04-03 21:51:43 -04:00
4494509394 Reformat badges in README.md 2024-04-03 17:15:23 -04:00
a9959634ef Remove lock file regardless of result in delete module 2024-04-02 16:59:37 -04:00
1e4e64b5ab Array bounds check and allow target-only sync operations
- Allow synchronization to occur for target-only operations
- Check array bounds in remove module for container deletion shortcut
- Remove redundant builder call to progress function in remove module
2024-04-02 16:51:02 -04:00
4a0e9cd3f9 Release 0.8.0 2024-03-30 22:59:39 -04:00
3dfd035816 Fix from commit d179b96495 applied 2024-03-30 22:46:07 -04:00
d179b96495 Final touchups to README.md and formatting fix in manual module 2024-03-30 22:45:00 -04:00
70f024918c Fixed logo param and crate version for license shields.io embeds 2024-03-30 22:05:07 -04:00
adf06cae7c Updated manuals to be current with 91b5c79c5a 2024-03-30 21:55:28 -04:00
91b5c79c5a Further documentation and overhaul of the help menu CLI
- Shields.io badges added to README.md with clarification on
  functionality present in pacwrap.
- Stipulate the requirement for libalpm 14 or greater in README.md
- Module documentation written in markdown located in /docs/ for
  filesystems and permissions modules
- Help CLI refactored with format improvements and fixes.
- Lock assert calls for container composition, creation, and remote sync
- Added value opperand for process module in main frontend module
2024-03-30 21:47:20 -04:00
7d0942496e Removed stray unlock callback from aggregator 2024-03-29 23:40:53 -04:00
b97655461f Aggregator module no longer responsible for unlock callback
- Moved Lock.unlock() callback to front-end callers as aggregator module
  no longer is responsible for this invocation.
- Download fail state added to download event module
2024-03-29 23:18:33 -04:00
ae6c935640 Fixed summary event condition for cached packages and whitespace bug 2024-03-28 16:19:48 -04:00
a2fc165f46 Progress ticker for transaction aggregation
- Verbosity of the output has been greatly reduced during aggregated
  transactions. Implemented is a progress ticker which serves as a
  header for when a container requires to be operated upon.
- PACWRAP_VERBOSE=[0|1] or TERM=dumb environment variables can be used
  to otherwise toggle the old, verbose printout.
- signal_trap function moved to utils module.
2024-03-27 21:16:35 -04:00
6957adae1d Pin serde_yaml to 0.9.33 and update Cargo.lock
- Due to dtolnay's decision to not continue maintenance of serde_yaml,
  at present serde_yaml will be pinned to 0.9.33 until a better solution
  is available. Vendoring is not out of the question, but presently is a
  premature thing to do.
- Removal of Clone derive attribute in lock module and some minor
  tidy up elsewhere.
2024-03-26 15:29:56 -04:00
0aa14b23bc Lock file to ensure no concurrent operations on container store
- lock module provides a lock file facility via the Lock impl to ensure
  conflicts do not occur with concurrent operations on the same pacwrap
  data directory and container store.
- pacwrap-signal thread spawned during aggregate transactions to provide
  graceful, forced signal trapping. Requires three iterations of a normal
  signal to forcibly quit the program.
- metadata getter and flags setter functions moved out of TransactionHandle
  into the TransactionMetadata impl
2024-03-24 20:55:09 -04:00
dd5d011bfa Signal trapping at safe break points during transactions
- Graceful signal handling for transaction aggregation and filesystem
  synchronization.
- Store filesystem state data in .new file and merge after completion
- Altered set_flags function signature to borrow TransFlag
- Qualify error type before attempting to extract error data from alpm
  after failed transaction. Alpm.rs can trigger a segfault if the error
  type is unhandled or the data is otherwise not present.
2024-03-21 23:27:04 -04:00
bcfda682c2 Addition of new type in summary module, some tidy up, fix of small errata
- Filter non-existant roots with obtain_base_handle in cache module
- Inclusion of new TableColumns type called OldNewNet
- Shell command module is now correctly qualified by qualify_process
- Removal of unnecessary clone derive for event structs
- Idiomatic whitespace generation
- Missing space in string for gpg key prompt
2024-03-21 20:38:55 -04:00
e60aafe2f8 Updated Cargo.lock 2024-03-20 16:42:18 -04:00
670bb2b2c7 Do not obtain state for symbolic containers 2024-03-20 16:30:49 -04:00
777906ae71 Release transaction on error 2024-03-19 03:36:34 -04:00
1e56dcec11 Bump to biflags 2.4.2 2024-03-16 18:51:04 -04:00
3e341d7ca8 Fixed argument validation during creation with sync module 2024-03-15 18:18:19 -04:00