Archinstall

Latest version: v2.8.3

Safety actively analyzes 682449 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 9 of 12

2.0.6rc3

Not secure
Description
=======

Final release candidate before release.<br>
All features for this releaser have now been included in individual RC steps.

New features
========

* Logging has been improved, and installation log files are now created under `~/.cache/archinstall`. This is also where individual worker-logs are stored in case more detailed information needs to be gathered for support cases. Logs contain a "snapshot" of the configuration chosen as well as the individual outputs by the client *(this will be improved over time, but should serve as a good starting point)*.

Minor fixes
=======

* Issue/Help documentation has been updated to contain the latest changes in terms of logs and submitting issues.

2.0.6rc2

New features
=========

* Modified the Arch Linux package `archinstall` so that `python -m archinstall $` is being called instead of hardcoding it to `python -m archinstall guided`.
* Calling archinstall with argument `<profile>` which can be a remote URL or a full path *(not strictly hardcoded to look in ./examples)* is now supported.

2.0.6rc1

Placeholder release!

Bug fixes
=======

43 / 55 - Added a configuration overview before formatting *(the formatting can be paused with Ctrl-C to paus and view the config)*
57 - Fix minor issues like typos and code style violations.
59 - Relative paths causing issues, should be fixed with a `os.chdir()` in module mode.

New features
==========

* Added `archinstall.validate_package_list()` to validate a list of package names. This will help early-checks for finding any issue with the given package names from a user. So that we can throw errors early on, and not half way into the installation when the user most likely has stopped watching for output.
* Added `profiles/desktop.py` which acts as a desktop-selector, so users can *slightly* more easily find and install a desktop environment. Currently there's only three supported desktop environments: `[gnome', 'kde', 'awesome']`.
* Added a `archinstall.storage` for session storage. Profiles etc can store things in here, which will persist between executions *(since profiles have a pre-installation import and execution, and a during-installation import and execution to help with asking users questions. But in between, the session is lost on purpose)*.

Minor fixes
========

* Added some more doc-strings
* Added error handling for invalid packages in `examples/guided.py`. Re-asks the user for correct packages rather than crashing half way through the installation
* Added a JSON serializer that can handle *some* of archinstalls objects.

2.0.5

Not secure
New features
==========

* Added `archinstall.list_mirrors()` to list available mirrors upstream
* Added `archinstall.Installer().set_mirrors()` to set mirrors in the installation
* Added `archinstall.service_state()` which checks a `.service` state on the live-medium.
* Added `archinstall.find_package()` which can locate **one** package upstream in the official package database.
* Added `archinstall.find_packages()` which can locate **many** packages, but are a bit slow due to there not being a batch-search in the upstream API, individual packages have to be queried and built into a result structure locally.
* Profiles now have the option to support a magic function called `_prep_function()` which gets called when a profile is loaded *(but not executed)*. If this function exists, it needs to be accompanied by a `if __name__ == "moduleName"` in order to not execute whatever is in the script. This is optional, and simply helps with the early-user-question steps. *(A way to ask users questions before installer actually runs)*
* Removed *AUR* support from this library. It might cause issues and headache upstream, so that functionality will have to become optional in a addon-package/library *(most likely called python-archinstall-aur or something similar)*.

Profile changes
============

* Guided example now waits for `reflector.service` to run it's course before continuing. As it **will** break any mirror changes done by the guided (or other) templates.
* Guided now shows `archinstall.list_profiles()` when asking the user if a profile should be installed.
* `xorg` profile/application is now split out and separated from `awesome` profile to better work with other desktop environments.
* `xorg` now attempts to assist with driver-selection *(this might get split into it's own profile later)*
* `awesome` is now less intrusive and depends on `xorg`.
* `gnome` has been added and auto-starts on boot *(minimal version comes later)*
* `kde` has been added with auto-launch on login *(minimal version comes later)*

Minor fixes
========
* Fixed a lot of documentation and autodoc stuff. Docstrings needs to be added, but the base structure is there now.

Known issues
===========

* This release did not have the latest fix for the `PKGBUILD` of `archinstall`, which is the helper scripts to create `archinstall-guided` which launches the guided template. It's just helper scripts, so the fix will come in the next release. Until then, creating `/usr/bin/archinstall-guided` manually is required *(or executed with `python -m archinstall guided`)*.

2.0.4

Not secure
![screenshot](https://user-images.githubusercontent.com/861439/91829553-e6f3fb00-ec41-11ea-9900-2670f0291ae7.png)


New features
==========

* Added locale helpers in terms of keyboard language/layout.
* `archinstall.list_keyboard_languages()`
* `archinstall.search_keyboard_layout()`
* `archinstall.set_keyboard_language()`

These functions work together to help listing, finding and setting a keyboard layout in terminals. Won't work for X-frontends, but will do for CLI installation methods. Added a language selector-helper-function *(`archinstall.select_language()`)* with a crude search functionality.

Added all this to the guided template.

* Added network helpers in `archinstall.lib.networking`. Mainly adding helpers to detect physical interfaces and MAC-addresses.
* Added a `unattended` example profile
* Support for listing (and filtering) profiles based on MAC-address was added, the `filter_irrelevant_macs` will filter any MAC address profile that doesn't match the current machine.
* `archinstall.Installer()` now has post-installation checks on `__exit__`, so when `Install()` is used in a context manager *(`with archinstall.Installer() as installation`)*, whenever the coder exits that block, the post-installation-steps will run and inform (but not raise) about any missing steps that haven't been completed in order to successfully boot the machine *(checks if the base OS is installed, if root or a super user is created/setup and if a bootloader is installed)*.
* Fixed the `guided` template to check if `root_pw` is set, if it isn't, it will require an additional sudo-user to be created.
* Added `reboot()` as a function *(This is more of a fix, it used to exist but has been re-added)*
* Added `list_profiles()` which lists all current local profiles.
* Profiles now support descriptions by reading the top most comment in the `.py` files.
* Added `enable_service()` to enable services within the installation
* Added a helper function called `activate_ntp()` that simply enables the `ntp.service` and installs the `ntp` package.
* Added `add_custom_mirrors()`. The function appends custom mirrors to `/etc/pacman.conf` based on the syntax:
`{'url': 'http://url.com', 'signcheck': 'Optional', 'signoptions': 'TrustAll', 'name': 'testmirror'}`
* Added `add_custom_mirrors()`. The function appends custom mirrors to `/etc/pacman.conf` based on the syntax:
`{'url': 'http://url.com', 'signcheck': 'Optional', 'signoptions': 'TrustAll', 'name': 'testmirror'}`
* `Application()` profiles now support `.py` scripts as well
* `Application()` and `Profile()` classes now correctly inserts that `archinstall` library path into `sys.path` from where it was installed. This has to be done in order to sub-executed scripts to get the correct version of `archinstall` when doing `import archinstall` in profiles and applications. Otherwise the installed/other libraries might take precedence over `git clone`'d repositories/submodules in projects *(very noticeable in [archinstall_gui](https://github.com/Torxed/archinstall_gui) for instance)*
* Added the `add_AUR_support()` function to enable AUR packages in the mountpoint *(by compiling `yay` and installing it)*
* Added a `yay()` *(and `add_AUR_packages()` pointer to `yay()`)* command for installing AUR packages inside the mountpoint
* Added `enable_AUR()` function to
* Added `run_command` which will run commands inside the installation via `arch-chroot {mountpoint}`
* Added `arch_chroot` which just points to `run_command()`.
* Added a `set_timezone()`
* Fixed `set_locale()` in the `Installer()` class.
* Also added a `mirrors.py` helper to rudimentary set mirror data on the installer host
* `awesome` now has a `.py` profile instead of a `.json`, even tho the `.json` is still there.
* Pre built ISO's are up again
* Examples are now packaged in both pypi and pre-built nuitka3 binary
* Added a `PKGBUILD`
* `archinstall.BlockDevice` now contains a `__dump__` meta function, which can be used with:
py
def json_serial(obj):
elif type(obj) is bytes:
return obj.decode('UTF-8')
elif getattr(obj, "__dump__", None):
return obj.__dump__()
else:
return str(obj)

json.dumps(block_device, default=json_serial)

* Added a `__init__.py` into the main github repo structure, so that cloned repo's can use `from archinstall import *` for instance.

Minor Fixes
=========
* The unattended test-profile reports upstream to inform which commit was installed without user interaction.
* Made `btrfs-progs` optional, won't be installed unless `btrfs` is detected as a filesystem.
* Tweaked the build scripts a bit to fetch a common `VERSION` definition.
* Removed `.json` support, as it's quite convoluted and redundant now that we have *proper* support for `.py` profiles and applications.
* `PKGBUILD` now exists for both `python-archinstall` *(`pip install archinstall` equivilant)* and `archinstall` *(binary compiled version, no need for python to be installed)*
* `set_locale()` now correctly takes the given locale and encoding and hopefully sets locale and encoding separately.
* `add_additional_packages()` now gives a return value from `pacstrap` which it didn't before.
* `install_profile()` now gives a return value from `profile.install()` which it previously didn't.
* `Profile()` and `Application()` now skips looking for the profile/application if absolute paths are given *(hopefully that logic works)*
* Added a `__repr__` for `Application()` so it doesn't look like it's a `Profile()` being installed when printing the object.
* Fixed `desktop.py` which was broken due to string formatting being a bit off.

2.0.4rc8

New features
==========

* Added locale helpers in terms of keyboard language/layout.
* `archinstall.list_keyboard_languages()`
* `archinstall.search_keyboard_layout()`
* `archinstall.set_keyboard_language()`

These functions work together to help listing, finding and setting a keyboard layout in terminals. Won't work for X-frontends, but will do for CLI installation methods. Added a language selector-helper-function *(`archinstall.select_language()`)* with a crude search functionality.

Added all this to the guided template.

Page 9 of 12

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.