From 00b0ae7ba439a5a420095175b3bedd52c569db51 Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Wed, 19 Apr 2023 20:55:42 +1000 Subject: PyParted and a large rewrite of the underlying partitioning (#1604) * Invert mypy files * Add optional pre-commit hooks * New profile structure * Serialize profiles * Use profile instead of classmethod * Custom profile setup * Separator between back * Support profile import via url * Move profiles module * Refactor files * Remove symlink * Add user to docker group * Update schema description * Handle list services * mypy fixes * mypy fixes * Rename profilesv2 to profiles * flake8 * mypy again * Support selecting DM * Fix mypy * Cleanup * Update greeter setting * Update schema * Revert toml changes * Poc external dependencies * Dependency support * New encryption menu * flake8 * Mypy and flake8 * Unify lsblk command * Update bootloader configuration * Git hooks * Fix import * Pyparted * Remove custom font setting * flake8 * Remove default preview * Manual partitioning menu * Update structure * Disk configuration * Update filesystem * luks2 encryption * Everything works until installation * Btrfsutil * Btrfs handling * Update btrfs * Save encryption config * Fix pipewire issue * Update mypy version * Update all pre-commit * Update package versions * Revert audio/pipewire * Merge master PRs * Add master changes * Merge master changes * Small renaming * Pull master changes * Reset disk enc after disk config change * Generate locals * Update naming * Fix imports * Fix broken sync * Fix pre selection on table menu * Profile menu * Update profile * Fix post_install * Added python-pyparted to PKGBUILD, this requires [testing] to be enabled in order to run makepkg. Package still works via python -m build etc. * Swaped around some setuptools logic in pyproject Since we define `package-data` and `packages` there should be no need for: ``` [tool.setuptools.packages.find] where = ["archinstall", "archinstall.*"] ``` * Removed pyproject collisions. Duplicate definitions. * Made sure pyproject.toml includes languages * Add example and update README * Fix pyproject issues * Generate locale * Refactor imports * Simplify imports * Add profile description and package examples * Align code * Fix mypy * Simplify imports * Fix saving config * Fix wrong luks merge * Refactor installation * Fix cdrom device loading * Fix wrongly merged code * Fix imports and greeter * Don't terminate on partprobe error * Use specific path on partprobe from luks * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update github workflow to test archinstall installation * Update sway merge * Generate locales * Update workflow --------- Co-authored-by: Daniel Girtler Co-authored-by: Anton Hvornum Co-authored-by: Anton Hvornum Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> --- PKGBUILD | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD index 08c2001b..69f81f49 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -13,6 +13,7 @@ license=(GPL3) depends=( 'python' 'systemd' + 'python-pyparted' ) makedepends=( 'python-setuptools' @@ -48,7 +49,6 @@ prepare() { # use real directories for examples and profiles, as symlinks do not work rm -fv $pkgname/{examples,profiles} - mv -v examples profiles $pkgname/ } build() { -- cgit v1.2.3-70-g09d2 From eb23b2d7c991829fc1b4c3aa16fc6a6290aef3e0 Mon Sep 17 00:00:00 2001 From: Daniel Girtler Date: Sun, 7 May 2023 16:38:29 +1000 Subject: Update version 2.5.6 (#1791) Co-authored-by: Daniel Girtler --- PKGBUILD | 2 +- archinstall/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD index 69f81f49..03160a1c 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,7 +4,7 @@ # Contributor: demostanis worlds pkgname=archinstall -pkgver=2.5.4 +pkgver=2.5.6 pkgrel=1 pkgdesc="Just another guided/automated Arch Linux installer with a twist" arch=(any) diff --git a/archinstall/__init__.py b/archinstall/__init__.py index 29b70b7a..6f67d20f 100644 --- a/archinstall/__init__.py +++ b/archinstall/__init__.py @@ -30,7 +30,7 @@ from .lib.configuration import * parser = ArgumentParser() -__version__ = "2.5.4" +__version__ = "2.5.6" storage['__version__'] = __version__ # add the custome _ as a builtin, it can now be used anywhere in the -- cgit v1.2.3-70-g09d2 From 5b102b0228e8ffce81341bb2bf771a082d8263c4 Mon Sep 17 00:00:00 2001 From: Anton Hvornum Date: Wed, 28 Jun 2023 14:22:07 +0200 Subject: Adding python-simple-term-menu to the dependency list (#1901) * Adding python-simple-term-menu to the dependency list * Added dependencies to all binaries we call, such as 'ps' and 'mkfs' etc * Sorted the depends list - just for peace of mind * Bumped version in prep for release of rc1, also updated README a bit * Removed older python versions from classifiers --- PKGBUILD | 14 ++++++++++++-- README.md | 11 ++++++++--- archinstall/__init__.py | 2 +- pyproject.toml | 8 +++----- 4 files changed, 24 insertions(+), 11 deletions(-) (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD index 03160a1c..315256e3 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -4,16 +4,26 @@ # Contributor: demostanis worlds pkgname=archinstall -pkgver=2.5.6 +pkgver=2.6.0 pkgrel=1 pkgdesc="Just another guided/automated Arch Linux installer with a twist" arch=(any) url="https://github.com/archlinux/archinstall" license=(GPL3) depends=( + 'arch-install-scripts' + 'btrfs-progs' + 'coreutils' + 'cryptsetup' + 'e2fsprogs' + 'kbd' + 'pciutils' + 'procps-ng' 'python' - 'systemd' 'python-pyparted' + 'python-simple-term-menu' + 'systemd' + 'util-linux' ) makedepends=( 'python-setuptools' diff --git a/README.md b/README.md index 9d6fecd9..9ec40d17 100644 --- a/README.md +++ b/README.md @@ -17,15 +17,20 @@ The installer also doubles as a python library to install Arch Linux and manage $ sudo pacman -S archinstall -Or simply `git clone` the repo as it has no external dependencies *(but there are optional ones)*.
-Or use `pip install --upgrade archinstall` to use as a library. +Alternative ways to install are `git clone` the repository or `pip install --upgrade archinstall`. ## Running the [guided](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py) installer -Assuming you are on an Arch Linux live-ISO: +Assuming you are on an Arch Linux live-ISO or installed via `pip`: # archinstall +## Running the [guided](https://github.com/archlinux/archinstall/blob/master/archinstall/scripts/guided.py) installer using `git` + + # cd archinstall-git + # cp archinstall/scripts/guided.py + # python guided.py + #### Advanced Some additional options that are not needed by most users are hidden behind the `--advanced` flag. diff --git a/archinstall/__init__.py b/archinstall/__init__.py index e5ec462a..af811465 100644 --- a/archinstall/__init__.py +++ b/archinstall/__init__.py @@ -39,7 +39,7 @@ if TYPE_CHECKING: _: Any -__version__ = "2.5.6" +__version__ = "2.6.0rc1" storage['__version__'] = __version__ diff --git a/pyproject.toml b/pyproject.toml index f67f1eca..83c68e1d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,12 +11,10 @@ authors = [ ] license = {text = "GPL-3.0-only"} readme = "README.md" -requires-python = ">=3.10" +requires-python = ">=3.11" keywords = ["linux", "arch", "archinstall", "installer"] classifiers = [ - "Programming Language :: Python :: 3.8", - "Programming Language :: Python :: 3.9", - "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", "Operating System :: POSIX :: Linux", ] dependencies = [ @@ -60,7 +58,7 @@ packages = ["archinstall"] # where = ["archinstall"] [tool.mypy] -python_version = "3.10" +python_version = "3.11" files = "archinstall/" exclude = "tests" #check_untyped_defs=true -- cgit v1.2.3-70-g09d2 From 33d084f16a9055df0327930abe43f7b91429cf24 Mon Sep 17 00:00:00 2001 From: codefiles <11915375+codefiles@users.noreply.github.com> Date: Tue, 19 Sep 2023 16:51:20 -0400 Subject: Use `SUPPORTED` file for locale options (#2069) * Use `SUPPORTED` file for locale options * Add glibc to `PKGBUILD` depends --- PKGBUILD | 1 + archinstall/lib/locale/locale.py | 23 ++++++++--------------- 2 files changed, 9 insertions(+), 15 deletions(-) (limited to 'PKGBUILD') diff --git a/PKGBUILD b/PKGBUILD index 315256e3..c332d043 100644 --- a/PKGBUILD +++ b/PKGBUILD @@ -16,6 +16,7 @@ depends=( 'coreutils' 'cryptsetup' 'e2fsprogs' + 'glibc' 'kbd' 'pciutils' 'procps-ng' diff --git a/archinstall/lib/locale/locale.py b/archinstall/lib/locale/locale.py index c3294e83..90f20cc6 100644 --- a/archinstall/lib/locale/locale.py +++ b/archinstall/lib/locale/locale.py @@ -11,21 +11,14 @@ def list_keyboard_languages() -> Iterator[str]: def list_locales() -> List[str]: - with open('/etc/locale.gen', 'r') as fp: - locales = [] - # before the list of locales begins there's an empty line with a '#' in front - # so we'll collect the localels from bottom up and halt when we're donw - entries = fp.readlines() - entries.reverse() - - for entry in entries: - text = entry.replace('#', '').strip() - if text == '': - break - locales.append(text) - - locales.reverse() - return locales + locales = [] + + with open('/usr/share/i18n/SUPPORTED') as file: + for line in file: + if line != 'C.UTF-8 UTF-8\n': + locales.append(line.rstrip()) + + return locales def list_x11_keyboard_languages() -> Iterator[str]: -- cgit v1.2.3-70-g09d2