8000 Adding nvchecker conf, listing most (or all) optional package dependencies and fixed license identifier by Torxed · Pull Request #2406 · archlinux/archinstall · GitHub
[go: up one dir, main page]

Skip to content

Adding nvchecker conf, listing most (or all) optional package dependencies and fixed license identifier #2406

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: master
Choose a base branch
from

Conversation

Torxed
Copy link
Member
@Torxed Torxed commented Mar 11, 2024

This PR mainly aims to conform with Arch's best practices surrounding PKGBUILD's.

@Torxed Torxed requested a review from grazzolini as a code owner March 11, 2024 09:26
@Torxed Torxed requested a review from dvzrv March 11, 2024 10:00
Copy link
Member
@dvzrv dvzrv left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Generally I am wondering why these files live in here at all and why this has not been a merge request towards the package repository instead:
https://gitlab.archlinux.org/archlinux/packaging/packages/archinstall/-/merge_requests

@@ -34,7 +36,135 @@ makedepends=(
'python-wheel'
)
optdepends=(
'linux: Used when linux kernel is selected'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The newly added optdepends are not really needed for running archinstall though.
They will be installed on-the-fly into a newly setup system (which is not the same system as the one running archinstall).
Therefore they should not be added. Only optional dependencies required for additional features of archinstall should be added here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For anyone reading -> Ongoing discussion internally about how to solve the core need of why I've attempted to add them here.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I need to re-visit this, and get feedback from other packages.
Because it happens from time to time, and today it struck again: https://gitlab.archlinux.org/archlinux/packaging/packages/xf86-video-vmware/-/issues/3#note_277232

There's no other way for me to link "indirect" package ties between a package like xf86-video-vmware to archinstall is there?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even if you created a metapackage with depends on all the things archinstall can try to install, I'm not sure it would have helped. Anyone removing a package from our repos must still manually double-check for depends, just as for optdepends.

I think what we want is for dbscripts to disallow removing packages that are still referenced by any {,make,opt,check}depends.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In such a case, this list still makes sense? But in a meta package and then enhance dbscripts? This sounds like a very viable option tbh!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If dbscripts can be enhanced, either way should work.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That said, having metapackages like archinstall-meta-desktop-budgie that define what gets installed when the budgie desktop is selected (instead of archinstall's code) has some appeal, IMO.

'util-linux'
'base'
'base-devel'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is base-devel added?
If archinstall now depends on particular build tools to do its job, those need to be listed here instead.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I agree.

@@ -24,7 +23,10 @@ depends=(
'python-pyparted'
'python-simple-term-menu'
'systemd'
'mkinitcpio'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does archinstall use mkinitcpio on the system running archinstall or in the new system?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It also triggers mkinitcpio inside the system, to make sure modifications to HOOKS etc are updated before rebooting.

python -m installer --destdir="$pkgdir" dist/*.whl
install -vDm 644 docs/_build/man/archinstall.1 -t "$pkgdir/usr/share/man/man1/"
}

check() {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If check() does nothing, it should not be here.
Once it calls something, it should be ordered before package() as that is when it is called.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To not forget that we want tests, is it fine if I comment it out instead of removing it?

[nvchecker]
source = "git"
git = "https://github.com/archlinux/archinstall"
prefix = "v"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems your editor does not like newlines at the end of the file.
Might be worth changing, since PKGBUILDs usually use that by default as well and it will turn into a non-needed change every time otherwise.

pkgrel=1
pkgdesc="Just another guided/automated Arch Linux installer with a twist"
arch=(any)
url="https://github.com/archlinux/archinstall"
license=(GPL3)
license=(GPL-3.0-or-later)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

According to the project information it is GPL-3.0-only though?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hmm, let me double check. if that's the case I'll change.

depends=(
'arch-install-scripts'
'btrfs-progs'
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does archinstall no longer support btrfs or is support for the filesystem achieved in another way?

786A Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

humm, crap you're right. It needs it in the ISO to also be able to do mkfs.btrfs. Good catch! I was thinking it just needed it to be installed inside the system.

@Torxed
Copy link
Member Author
Torxed commented Mar 11, 2024

Generally I am wondering why these files live in here at all and why this has not been a merge request towards the package repository instead:

It's because:

git clone https://github.com/archlinux/archinstall.git
cd archinstall
makepkg -s

To get the latest code for testing, we have archinstall-git option too but this was added way back before that existed as an option.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
4910 Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
0