Commit graph

262 commits

Author SHA1 Message Date
fbd925f1b0 pacwrap 0.1.2
- Further changes to configuration structure
- Cleaned up execute_container function.
- Print warning when session retainment is enabled for the console/tty.
- ExecutionArgs no longer requires variables for instantiation.
- Multiple paths or env vars are now specifiable under one
  permission/filesystem entry.
- Now passing the arguments --unshare-user and --disable-userns to
  bubblewrap
- bin/pacwrap has been deprecated by pacwrap-rust.
2023-06-18 21:10:14 -04:00
f283e0206c pacwrap 0.1.1
- Block until dbus is active and fail in the event of a time-out.
- Fixed version string
2023-06-18 04:34:01 -04:00
d361820622 Removed pacwrap-exec. Functionality is now provided by pacwrap-rust. 2023-06-18 00:08:50 -04:00
ecab602dab Initial commit of pacwrap-rust. 2023-06-18 00:07:56 -04:00
e855232848 Removal of pacwrap-exec from build script as pacwrap's Rust port now
provides this functionality.
2023-06-18 00:06:17 -04:00
5344e13f58 Compatibility for integration of pacwrap's initial port to Rust. 2023-06-18 00:05:10 -04:00
3c6fc32bab pacwrap 0.9.18
Major overhaul of container execution script; bubblewrap containers are now configurable through pacwrap, alongside support for xdg-dbus-proxy

    pacwrap-sync: Minor cleanup
    pacwrap-common: Changed instance configuration directory from root to instance
    pacwrap-common: Generated pacman.conf now includes LogFile entry pointing to pacwrap's log file.
    pacwrap-utils: Replication script now supports LINK roots.
    pacwrap-utils: Refresh configuration function
    pacwrap-ps: Process groups can now be selected via PID with an argument
    pacwrap-exec: Forked bwrap processes will now be terminated on exit.
    pacwrap-exec: Implemented D-Bus proxy with job control.
    pacwrap-exec: Configuration parsers for building bubblewrap containers.
2023-06-05 09:26:24 -04:00
c9b471c07f pacwrap 0.9.17
Misceallenous clean up, refactoring, fixes, and optimisations.

pacwrap-sync: Caching of difference between revisions of link stores in memory during transaction.
pacwrap-sync: Only diff between two revisions of a link store if there are changes to the filesystem tree.
pacwrap-sync: Further reduction of log verbosity.
pacwrap-sync: Cleaned up script_init(), implemented proper resolution of specified targets.
pacwrap-sync: Removed pacman-mirrorlist from generated package ignore lists.
pacwrap-common: Changed INSTANCE_DB_DIR to INSTANCE_LC_DIR, and changed location to $PACWRAP_RUNTIME_DIR/hlds.
pacwrap-common: Generated pacman.conf no longer includes CheckSpace with the addition of two NoExtract entries
pacwrap-common: Global variables for root arrays.
pacwrap-common: get_foreign_packages() now caches package list arrays
pacwrap-common: check_root() check for existant root filesystems
pacwrap-utils: Introduction of --desktop-entry option to create desktop entries for applications.
pacwrap-utils: Cleaned up output with --list; introduced --disk-depth, --disk-util, and --disk-sum options.
pacwrap-utils: Size column for --list is no longer displayed without --disk-util.
pacwrap-utils: edit_file() function can now edit pacwrap-associated desktop entries.
pacwrap-utils: Additional human-parsable options.
pacwrap-utils: --delete argument refactored to --remove.
pacwrap-utils: --force option to disable and bypass check_active_instances
pacwrap-utils: --show-bytes option to disable size formatting.
pacwrap-utils: --open function, which allows the user to open the container's filesystem directory in their preferred file manager.
pacwrap-man: No longer display summary when --help=topic is specified.
pacwrap-man: Further documentation efforts.
2023-05-29 00:32:09 -04:00
fc33f40c0d pacwrap 0.9.16
pacwrap-sync: Optimised container configurator.
pacwrap-sync: Reduced log verbosity.
pacwrap-ps: Fixed direct invocation.
pacwrap-ps: Replaced UTF-8 characters with proper, dynamic escape sequences.
pacwrap-common: Updated pacman_conf() to conform with the changes announced on 16/05/2023.
pacwrap-common: Fixed typo in pacman_conf()
pacwrap-utils: Cleaned up edit_file() function
pacwrap-utils: Fixed file not found errors when editing non-existant file.
pacwrap-utils: Replaced tab with escape sequence.
2023-05-19 12:55:39 -04:00
36608a02cc pacwrap v0.9.15
pacwrap-sync: Don't ask for confirmation unless arguments are otherwise specified for target.
pacwrap-ps: Full process tree enumeration with parent process traversal.
pacwrap-ps: Forking detection no longer relies on runtime metadata stored in $XDG_RUNTIME_DIR.
pacwrap-ps: Proper instance argument algorithm.
pacwrap-ps: -c, --children which invoked the 'Child PIDs' column has been deprecated and removed.
pacwrap-ps: Process list enumeration output code overhauled. Displays child processes in chronological order.
pacwrap-ps: Formatting is no longer applied to non-summary output.
pacwrap-ps: Shell execution warning to notify user of potential errata.
pacwrap-ps: Instance name parsing algorithm.
pacwrap-ps: Removal of time-based runtime metadata check.
pacwrap-ps: Refactored summary to process_status and --summary to --status.
pacwrap-utils: check_active_instances() to verify it is safe to perform dangerous operations on containers.
pacwrap-exec: Runtime configuration replaced with runtime lock.
pacwrap-create; Fixed package install confirmation.
pacwrap-man: Updated to reflect changes in pacwrap-ps, as well as other miscellaneous changes.
2023-05-17 19:26:08 -04:00
6fb340223e pacwrap v0.9.14
pacwrap-sync: Use PACWRAP_PASSTHROUGH_CMD for passthrough to system package manager.
pacwrap-exec: Concurrenct instance limiter. Set $CONCURRENT_LIMIT in container configuration to limit the amount of concurrently running containers.
pacwrap-common: Query PACWRAP_PASSTHROUGH_CMD environment variable to customise passthrough for alternate package management wrapper.
pacwrap-common: CONCURRENT_LIMIT configuration option
pacwrap-ps: process tree enumeration and saved ~4ms of time per process
pacwrap-ps: --enumerate-tree, and --enumerate-bwrap options to enumerate process tree
pacwrap-ps: --arg and --exec arguments which split up arguments and executable columns into two distinct columns.p
pacwrap-ps: Column formatting rework; --wrap will wrap the arguments column. Default behaviour is now to truncate.
pacwrap-ps: Log only -Pk invocations.
pacwrap-ps: Proper long-form process arguments display.
pacwrap-man: Additions and clarifications to documentation.
pacwrap-sync: Fixed order of root amount conditional.
pacwrap-sync: Added $VERBOSITY for foreign database synchronization to sterrout
pacwrap-common: Reverted idiotic mistake.
pacwrap, pacwrap-create, pacwrap-utils: Human parsable --verbose flag.

Replaced all pipes to cut with KSH93 string truncation
2023-05-16 01:32:08 -04:00
80ac7528c6 pacwrap v0.9.13
pacwrap-ps: Human parsable command switches
pacwrap-ps: Ability to enumerate bubblewrap processes associated with pacwrap
pacwrpa-ps: Abandoned children processes are now enumerated with a warning
pacwrap-man: --help=process documentation
pacwrap-common: Pipe warnings and errors to stderr
2023-05-14 04:27:38 -04:00
7ee1462085 pacwrap v0.9.12
pacwrap-sync: -g and -p options to manually invoke container configuration
pacwrap-sync: Setting the environment variable PACWRAP_PASSTHROUGH will passthrough pacwrap-sync parameters to 'sudo pacman' at the end of transaction.
pacwrap-sync: Renamed --explicit to --explicit-foreign to diambiguate and differentiate from pacwrap --explicit
pacwrap: --explicit to passthrough -S, -Q, and -R to pacwrap-exec
pacwrap-exec: -p/--pacman option to execute pacman in specificed instance with stated arguments
pacwrap-common: PACWRAP_PACCACHE_ARGUMENTS variable. It can be set in the environment to override.
pacwrap-man: Updated documentation to reflect current feature sets.
pacwrap-man: Fixed distro_check() to not output garbage when being packaged.

Among other miscallenous fixes and cleanup.
2023-05-11 21:54:17 -04:00
ee803d01e0 pacwrap v0.9.11
- Miscellaneous cleanup and fixes
- Interpretation of command line switches has been fixed

pacwrap-common: Additional runtime dependency conditionals
pacwrap-common: Universally defined EXEC_SCRIPT variable
pacwrap-common: get_foreign_packages()
pacwrap-common: Fixed typo
pacwrap-sync: Rudimentary argument validation
pacwrap-sync: Forcibly sync explicit packages from foreign databases with --explicit switch
pacwrap-sync: Fixed validation with manual container configuration
pacwrap-utils: Defined human parsable command switches
pacwrap-ps: Defined --kill switch
2023-05-10 23:03:23 -04:00
828c939797 pacwrap v0.9.10
pacwrap: Migrated from process forking to using the bash source command
pacwrap-common: Conditional to only allow one instantiation of this script
pacwrap-common: log_invalid_arguments() and distro_check()
pacwrap-man: Split from pacwrap into its own script
pacwrap-man: Markdown formatting option with man page support
makefile: install/remove pacwrap-man

And other misceallaneous cleanup and fixes.
Code minification resulted in over 100 lines of code shaved off.
2023-05-10 19:31:58 -04:00
2ec08868b5 pacwrap v0.9.9
pacwrap-ps: Initial commit
pacwrap-ps: Process status list and parsable data output for external shell scripting
pacwrap-ps: Kill process function
pacwrap-exec: runtime metadata written to $XDG_RUNTIME_DIR/.pacwrap/PID
pacwrap-common: XDG runtime variables
pacwrap-common: UID conditional in runtime_check()
pacwrap-utils: Cleaned up column invocation
pacwrap-create: Some miscellaenous cleanup
pacwrap-create: Cleaned up finalise() and introduced sync_base_packages() function
pacwrap-sync: Fixed up and updated check_root function and associated calls
makefile: install & remove pacwrap-ps script
2023-05-08 06:49:15 -04:00
8fc54b8da6 pacwrap-sync: Fixed critical bug in invoke_generate_cache()
DEP/BASE updated -> structures linked -> DEP updated -> link cache generated
                                                                  ^
Second invocation of invoke_generate_cache would result in previous changes being truncated
This should be fixed with an addition to a conditional statement in invoke_generate_cache()

Additional unrelated changes:

pacwrap-sync: Merged two for loops in configure_containers
2023-05-05 00:37:45 -04:00
dfc4508912 Array-to-string fix in container log_to_file() call 2023-04-25 08:12:51 -04:00
bf3c0dd903 Few miscellaneous changes and housekeeping
- pacwrap-sync: Reduced verbosity of configuration logging
- pacwrap-sync: Implemented error checks in configuration functions
- pacwrap-common: Localzation helper function localized_text()
2023-04-25 07:57:02 -04:00
8d7d4d1443 Reverted test parameter 2023-04-25 07:03:34 -04:00
754085cb5b Minor bugfixes, cleanup, and update to pacwrap-create
- pacwrap-create: Only check for updated tarball when current year.month mismatches
  with root.x86_64/version in the tarball
- pacwrap-create: Verify mirror returns HTTP 200
- pacwrap-sync: Fixed log formatting bug with check_root()
- pacwrap-sync: Cleaned up log output and fixed ordering
- makefile: Commited bin/pacwrap-common
2023-04-25 02:29:13 -04:00
a16f74191d pacwrap v0.9.8
- Heavy refactor with code cleanup
- Completed common logging infrastructure
- Distribution agnosticism attained!
- pacwrap-common: Initial commit
- pacwrap-common: Dependency check
- pacwrap-utils: Replication functionality
- pacwrap-sync: Increased resolution of linker progress
- pacwrap-sync: Container configuration with explicit package array
- pacwrap-sync: Improved UX, catching erronous exit codes from pacman
- pacwrap-create: Refactor and cleanup
- pacwrap-create: Replaced pacstrap with tarball installer
2023-04-23 06:41:49 -04:00
72e88098c3 Pacwrap v0.9.7 2023-04-11 19:59:50 -04:00
5f7a16c88f Additions to the editor utility and code cleanup/refinements 2023-03-23 18:12:08 -04:00
1e9752d86f Version bump 2023-03-23 16:35:57 -04:00
2552893775 Bug fixes, data directory generation, and paccache invocation 2023-03-23 16:35:02 -04:00
52109b871d Old file removal 2023-03-23 07:16:48 -04:00
d049e14b97 Pacwrap rename, makefile, version increment 2023-03-23 07:14:16 -04:00
b795fbe37f Initial commit of pachwrap-utils scriptlet 2023-03-06 07:10:24 -05:00
2327d1fc6b Version bump, AScII ART for --version, and utils scriptlet
-- Utils scriptlet provides miscellaneous functionality
-- pachwrap provides pachwrap-utils via -U
-- Version AScII art for truecolor terminals
2023-03-06 07:06:55 -05:00
017fe299f9 Delete and linkage functionality 2023-03-06 07:06:14 -05:00
0faf4768cb Inital commit sriptlet pachwrap-manage 2023-03-06 05:24:54 -05:00
60af735ecc Rname to pachwrap -- final name change, hopefully? 2023-03-03 00:47:32 -05:00
dd5cc3c1ec Last typo fix 2023-03-03 00:39:03 -05:00
f8f3e73035 Typo 2023-03-03 00:34:50 -05:00
ab1c380a79 Typo 2023-03-03 00:32:54 -05:00
aa92bd0b95 Cleanup and further refactoring 2023-03-02 22:40:28 -05:00
7b252fc0c3 The great refactoring 2023-03-02 21:07:31 -05:00
a564c92ff0 Frontend implementation and UX improvements 2023-03-02 20:49:06 -05:00
d2bb2ec2ba Initial Commit of Frontend 2023-03-02 20:48:05 -05:00
3082fc88ad Last minute tweak to previous commit 2023-01-31 21:46:04 -05:00
91a4cb9173 Fixed bugs with previous commit and further improved performance.
-- It actually works this time. "-links +1" parameter was removed in
find, since we're no longer looking for hardlinks specifically. duh
-- Link cache reordered.
-- Miscellaneous refactoring.
2023-01-31 21:11:07 -05:00
77315a9782 Synchronisation overhaul
-- Support for selectively deleting orphaned files
-- Performance improvement of at least 50% or more.
2023-01-30 17:16:36 -05:00
6cba2de7d0 Code optimisation, clean up of code and output
-- Output straightend out some, clarity added to verbiage
-- invoke_update_link() and invoke_update_link_list() subroutines optimised
-- invoke_update_link_list() was created to clean up update_link_lists()
2023-01-30 08:06:18 -05:00
500326be39 Last minute cleanup 2023-01-30 04:34:40 -05:00
f301fe6e1a Removal of unused variable 2023-01-30 04:28:07 -05:00
6abd0a44a4 Indentation fix 2023-01-30 04:21:33 -05:00
a1246d3551 Fixed pacman.conf generation bug, consolidation of subroutines and
further housekeeping
2023-01-30 04:11:11 -05:00
4eb4078a46 Rewrote package sorting subroutine, fixed bugs and erata
-- Rewrote package sorting subroutine to fix a catastrophic bug
   -- Reordered pacman.conf generation to occur before package sync
-- Removed pacman.conf edit shorcut in sbexecute
-- Cleaned up code
2023-01-30 01:54:46 -05:00
9cd614f5da Implemented vertical dependency resolution
-- Root dependencies and their hierarchies are automatically resolved.
-- Code cleanup, regular expressions optimised, redundant function
removal, etc.
-- pacman.conf generator now resolves package blacklists through each
dependency in its hierarchy.
2023-01-26 20:33:05 -05:00