-
Notifications
You must be signed in to change notification settings - Fork 626
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
base: master
Are you sure you want to change the base?
Conversation
…etimes have breaking changes - this is a small step in trying to help us track these breaking changes
…can hit HTTP limits
There was a problem hiding this 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' |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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
.
There was a problem hiding this comment.
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!
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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() { |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
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" |
There was a problem hiding this comment.
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) |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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' |
There was a problem hiding this comment.
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?
There was a problem hiding this comment.
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.
It's because:
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. |
This PR mainly aims to conform with Arch's best practices surrounding PKGBUILD's.
check()
hook for future test suit - https://wiki.archlinux.org/title/Creating_packages#check()optdepends
as they are optional dependencies and used when the user selects a relevant profile. This should be a good step for future fail-safe's regarding package name changes etc. As we can cross-reference from other packages back to archinstall when we change other packages.