Commit graph

45 commits

Author SHA1 Message Date
ed2a8ac1ca
Validate version string and clean up of subshell cmd sequences 2024-10-31 16:12:47 -04:00
58084985cf
Pre-release 0.8.7
All checks were successful
Build / Check format (push) Successful in 50s
Build / Build pacwrap (push) Successful in 1m41s
Note: This is a test release intended to ensure nothing breaks when the
associated crates are published to crates.io.

- Update to version '0.8.7-pre'.
- Testing new `Cargo.toml` workspace manifest, of which brings manifest
  keys in all three pacwrap crates together. Most package keys now, with
  the exception of crate-specific metadata, are now located in the
  workspace manifest.
- Update common.sh to accomodate this change.
- Update README.md to again use relative paths.
2024-10-30 23:24:48 -04:00
33dd4911ff
Formatting
All checks were successful
Build / Check format (push) Successful in 47s
Build / Build pacwrap (push) Successful in 1m32s
2024-10-11 19:54:49 -04:00
aedd16d127
Enable ANSI escape sequences for CI/CD output
All checks were successful
Cargo build (Arch Linux) / Check Formatting (push) Successful in 52s
Cargo build (Arch Linux) / Build pacwrap (push) Successful in 1m23s
2024-10-06 00:11:34 -04:00
017a994529
Fixed indentation 2024-09-28 20:53:54 -04:00
04473dc27e
Hook to configure pacman.conf inside containers 2024-09-15 18:45:07 -04:00
73697a4060
Update doucmentation to reflect e4b8a85ccd 2024-09-14 21:13:37 -04:00
024bab1d7f
Remove redundant flag 2024-09-11 22:03:35 -04:00
8b3d4ee651
Cleaned up error handling in dist scripting 2024-06-14 17:31:38 -04:00
2a2c3cd3dc
Agent error handling and initialize trustdb during composition
- Initialize gnupg database during container composition
- Handle exit code 1 of agent as a general failure and changed resulting
  verbiage to 'general agent fault'. Shifted error codes up by one.
- Check if FD 1 is a terminal for colour detection in pacwrap-key
2024-05-31 17:30:55 -04:00
622be0a7e6
Attribution update in dist 2024-05-09 20:40:19 -04:00
e1f6d0ee52
Manual update to reflect c243d528b1 2024-04-30 20:32:21 -04:00
4bfc0ccbe6
Documentation update 2024-04-23 19:20:02 -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
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
adf06cae7c Updated manuals to be current with 91b5c79c5a 2024-03-30 21:55:28 -04:00
23d87b1581 Deprecated code removed, and pacwrap-key argument validation fix 2024-02-23 02:16:34 -05:00
7eb484db58 Switch git log timestamp back to commit date from author date 2024-02-18 03:22:37 -05:00
2a48da2773 No longer invoke pacwrap binary to generate manpages upon packaging
- Eliminated key.sh and replaced it with package(), a generic bash
  function for packaging version-aware resources and scripting
- In order to make use of standard git tarballs, manpage generation is
  now invoked by hand with resulting manpages comitted to git, and then
  version information is added with dist scripting.
- Some refactoring and tidying up of manual formatting
- Present a verbose string only for development or git builds
- Obtain build date from modification time. This will ensure a
  deterministic build timestamp is still available for tarball-derived
  builds.
2024-02-18 02:44:22 -05:00
bbd695dfee Changes to version metadata acquisition, manual updates, and SECURITY.md 2024-02-17 04:26:41 -05:00
b2ebfe7269 Inclusion of pacwrap-key, some container schema fixes
- Inclusion of pacwrap-key, a fork of pacman-key, adapted for use with
   pacwrap and associated containers. CLI is now reminiscent of pacwrap's
   own native CLI for clean integration.
 - Removed problematic /etc/bash.bashrc fakeroot mount supplanted by
   schema update to /etc/bash.bashrc
 - Inclusion of pacwrap-key with container schema
 - Build and integration scripting cleaned up with improved error handling
2024-02-16 18:17:35 -05:00
deb0000fb0 Some errata fixed, typos, and path updated in bin/pacwrap-common
- Handle rewind I/O error properly by returning blank state in
  filesystem.rs module
- Upon initialization of container, setup default timezone.
- Corrected path to new configuration location in pacwrap-common script
- Updated definition for --force-foreign in manual.rs module
- Patched erroneously unbracketed conditional in proc.rs module
2024-02-12 23:26:58 -05:00
482abd7f9e Held packages, some last-minute errata fixed
- Changed DSL storage location from ~/.config/pacwrap/instance/ to
  ~/.config/pacwrap/container/
- In the progress.rs module, discard held reference once progress
  is complete.
- Package holding implemented
- Logical errors fixed in foreign preparation state
- Version URLs updated in manual.rs
2024-02-12 00:27:41 -05:00
9a10de46d7 Documentation, tidy up, and some errata fixed
- proc module now has --all option for process lists
- Switched to IEC units for transaction summaries
- Display bug fixed with basic transaction summary
- Removed symbolic container creation from pacwrap-utils script
- Seperation of concerns with warnings in exec module
- Getting started documentation for new users
- Refactored ExecutionArgs struct in args module
- Addition of a new manual: docs/config.md
- Updated docs/manual.md to reflect present help manual
- Help documents can be accessed with command nouns.
- Comment out multilib repo in default repositories.conf file
- Remove pacwrap-base-dist from default pacwrap.yml hold_pkgs array
- Default configuration files included can be changed at build time with
  PACWRAP_DIST_CONF and PACWRAP_DIST_REPO_CONF environment variables.
2024-02-12 00:27:36 -05:00
02bcde6bbe Container filesystem schema replacing local repository 2024-02-12 00:07:20 -05:00
e0f5386b88 Executable front-end refactor, a few bug fixes, and UX improvements
- Improvements to the runtime environment allowing for shell access in
  filesystem slices.
- Command-line verbs to improve UX accessibility
- Bloat moved out of error module
2024-02-12 00:06:52 -05:00
0e19e7da8a Release 0.6.1 -- Minor bug fixes
- Download progress parameterisation fixed
- Build scripts now create missing directories
- Cargo.lock updated
2024-01-22 00:17:30 -05:00
ff70ac644b Release 0.6.0
Highlights:

- Container configuration file format changes from SCREAMING_SNAKE to
  snake_case, permissions tag renamed to module, and container types
  are now: Symbolic, Base, Slice, and Aggregate.
- to_root and to_home modules updated to provide a more straightforward
  way to declare mount paths.
- seccomp bpf filters are now compiled and applied to containers by
  default at runtime.
  This also applies to transaction and fakeroot environments.
- Integration of global configuration format
- Now able to initialize in a fresh home directory without intervention
- Source code is now formatted by rustfmt
2024-01-14 21:04:46 -05:00
9b495390d2 Structural simplification, rustfmt configuration applied, and snake_case
for declared modules within tag vars

- For the sake of coherency, there are now four types of containers:
  Symbolic, Base, Slice, and Aggregate. These names better reflect the
  associated container types.
- Global configuration template is now written to disk prior to
  instantiation
- Inclusion of .rustfmt.toml with formatting applied to source files
- Breaking format change: SCREAMING_CASE has been replaced with
  snake_case for tag variables
- Simplified data structure in cache module
- InstanceCache type within the cache module replaces 'registered_base',
  'registered_dep', and 'registered_root', with 'filter'.
- Cleaned up argument parsing match statements in the front-end modules.
- Specifying dependencies with a comma deliniation is now supported
- Manual updated to reflect argument changes.
- query module updated to utilise internal APIs
- Some minor improvements to error handling.
- Removed redundant calls to --clear-env with bubblewrap.
- Scripting no longer outputs ANSI charcodes to unsupported terminals
2024-01-14 20:51:57 -05:00
7ed366f809 Inclusion of GPL headers to declare copyright and licensing
- LICENSE has been included since the incarnation of this project,
  therefore nothing changes except providing prominent notice.
- Cleaned up distribution scripting, with inclusion of updated headers
2024-01-03 18:21:04 -05:00
da113e8824 Some bug fixes, and some tidying up.
- Since pacwrap-dist is now being executed within a containerised
  environment, when called upon by the associated libalpm hook, it is no
  longer at liberty to obtain a valid GID and UID with libfakechroot
  preloaded in memory. Thus the introduction of a set of proxy variables
  is required to pass a valid UID and GID to distribution scripting.
- Environment variables have been moved to the constant module out of
  the display permissions module and exec utils module.
- Utilty functions in the utils module tidied up.
2023-12-27 02:07:47 -05:00
dc7363d02e Release 0.5.2 - Distribution packaging changes
- To help establish reproducible builds, the expectation is that every
  packaged artefact is to be determinist. Therefore repose is now
  invoked with pacwrap-dist.install via the post_install hook
- SOURCE_DATE_EPOCH is now set when building distribution packages
- Fixed libalpm hook blacklist in pacwrap-base-dist
2023-12-26 18:55:22 -05:00
6740ed3b93 Release 0.5.0 2023-12-24 00:33:39 -05:00
f3b2b3861d Redundant 2023-12-23 20:00:47 -05:00
3cff477830 New and updated dist scripts, dist package, and build-environment
configuration

- makepkg.conf for building dist-package in build chroot
- runtime.sh to package a lightweight runtime image for pacwrap-agent
- Link to flatpak-xdg-utils binaries to /usr/local/bin in
  pacwrap-base-dist package.
2023-11-16 01:03:53 -05:00
1ceaf8b072 Release 0.4.3 2023-10-27 06:22:44 -04:00
78c91105b6 Release 0.4.2
- go-md2man is no longer a required build-time dependency for manpage
  generation
- Improved input validation for exec module
- Improved target handle validation and error handling.
2023-10-25 05:52:05 -04:00
c0bb7f80d1 Release 0.4.1 - Compatibility bug and improved error handling.
- Disallow multiple type parameters applied to --create
- Provide the ROOT type in pacwrap-utils replicate function
- Updated help manual.
2023-10-22 07:13:41 -04:00
37dbdd1cdd Release 0.4.0 -- Newly integrated CLI arguments parser with a native
help manual.
2023-10-22 02:24:20 -04:00
d285b152ac Generate en_US.UTF-8 by default or otherwise in addition to system locale 2023-10-11 03:29:25 -04:00
d0d191d705 Updated echo statements and changed verbiage, as well as fixed broken conditional. 2023-10-09 09:47:51 -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