Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages
@ 2022-10-08 15:09 ahesford
  2022-10-08 15:11 ` ahesford
                   ` (11 more replies)
  0 siblings, 12 replies; 13+ messages in thread
From: ahesford @ 2022-10-08 15:09 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 932 bytes --]

There is a new pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages base
https://github.com/void-linux/void-packages/pull/39814

[RFC] base-{minimal,voidstrap,system}: unify base packages
Unifying the three alternative base packages makes it easier to manage dependencies consistently, and having successively more featureful packages depend on the next more spartan package makes the additional inclusions more obvious.

If there is any real reason not to have a `base-system -> base-voidstrap -> base-minimal` dependency chain, we can still preserve dependency maintainability by defining, *e.g.*,

```sh
_minimal_depends="[...]"
_voidstrap_depends="${_minimal_depends} [...]"
```

in the header.

#### Testing the changes
- I tested the changes in this PR: **NO**

A patch file from https://github.com/void-linux/void-packages/pull/39814.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-base-39814.patch --]
[-- Type: text/x-diff, Size: 4886 bytes --]

From f9dad14c330a38018ec59e0f9904ddd07f770c94 Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Sat, 8 Oct 2022 11:05:51 -0400
Subject: [PATCH] base-{minimal,voidstrap,system}: unify base packages

---
 srcpkgs/base-minimal/template   | 32 +++++++++++++++++++++++++-------
 srcpkgs/base-system             |  1 +
 srcpkgs/base-system/template    | 26 --------------------------
 srcpkgs/base-voidstrap          |  1 +
 srcpkgs/base-voidstrap/template | 21 ---------------------
 5 files changed, 27 insertions(+), 54 deletions(-)
 create mode 120000 srcpkgs/base-system
 delete mode 100644 srcpkgs/base-system/template
 create mode 120000 srcpkgs/base-voidstrap
 delete mode 100644 srcpkgs/base-voidstrap/template

diff --git a/srcpkgs/base-minimal/template b/srcpkgs/base-minimal/template
index f43f0c3ccc35..2eb7f26d5d38 100644
--- a/srcpkgs/base-minimal/template
+++ b/srcpkgs/base-minimal/template
@@ -1,19 +1,37 @@
 # Template file for 'base-minimal'
 pkgname=base-minimal
-version=0.3
+version=0.115
 revision=1
 build_style=meta
-short_desc="Void Linux base system meta with minimal tools"
+depends="base-files>=0.77 coreutils findutils diffutils dash grep gzip sed
+ gawk util-linux which tar shadow procps-ng iana-etc xbps nvi tzdata
+ runit-void removed-packages"
+short_desc="Void Linux base system meta package with core tools"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="Public Domain"
 homepage="https://www.voidlinux.org/"
 
-depends="
- base-files coreutils findutils diffutils dash grep gzip sed gawk
- util-linux which tar shadow procps-ng iana-etc xbps nvi tzdata
- runit-void removed-packages"
-
 case "$XBPS_TARGET_MACHINE" in
 	*-musl) depends+=" musl";;
 	*) depends+=" glibc-locales";;
 esac
+
+base-voidstrap_package() {
+	build_style=meta
+	short_desc="Void Linux base system meta package for containers/chroots"
+	depends="bash btrfs-progs dhcpcd dosfstools e2fsprogs eudev f2fs-tools
+	 file iproute2 iputils iw kbd kmod less man-pages mdocml>=1.13.3
+	 ncurses openssh pciutils sudo traceroute xfsprogs
+	 base-minimal>=${version}_${revision}"
+}
+
+base-system_package() {
+	build_style=meta
+	short_desc="Void Linux base system meta package"
+	depends="acpid ethtool libgcc usbutils void-artwork wifi-firmware
+	 wpa_supplicant base-voidstrap>=${version}_${revision}"
+
+	 case "$XBPS_TARGET_MACHINE" in
+	 	i686*|x86_64*|ppc*) depends+=" linux" ;;
+	esac
+}
diff --git a/srcpkgs/base-system b/srcpkgs/base-system
new file mode 120000
index 000000000000..b515008202f4
--- /dev/null
+++ b/srcpkgs/base-system
@@ -0,0 +1 @@
+base-minimal
\ No newline at end of file
diff --git a/srcpkgs/base-system/template b/srcpkgs/base-system/template
deleted file mode 100644
index cf3982622059..000000000000
--- a/srcpkgs/base-system/template
+++ /dev/null
@@ -1,26 +0,0 @@
-# Template file for 'base-system'
-pkgname=base-system
-version=0.114
-revision=1
-build_style=meta
-short_desc="Void Linux base system meta package"
-maintainer="Enno Boland <gottox@voidlinux.org>"
-license="Public Domain"
-homepage="https://www.voidlinux.org"
-
-depends="
- base-files>=0.77 ncurses coreutils findutils diffutils libgcc
- dash bash grep gzip file sed gawk less util-linux which tar man-pages
- mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools
- procps-ng tzdata pciutils usbutils iana-etc openssh dhcpcd
- kbd iproute2 iputils iw wpa_supplicant xbps nvi sudo wifi-firmware
- void-artwork traceroute ethtool kmod acpid eudev runit-void removed-packages"
-
-case "$XBPS_TARGET_MACHINE" in
-	*-musl) depends+=" musl";;
-	*) depends+=" glibc-locales";;
-esac
-
-case "$XBPS_TARGET_MACHINE" in
-	i686*|x86_64*|ppc*) depends+=" linux";;
-esac
diff --git a/srcpkgs/base-voidstrap b/srcpkgs/base-voidstrap
new file mode 120000
index 000000000000..b515008202f4
--- /dev/null
+++ b/srcpkgs/base-voidstrap
@@ -0,0 +1 @@
+base-minimal
\ No newline at end of file
diff --git a/srcpkgs/base-voidstrap/template b/srcpkgs/base-voidstrap/template
deleted file mode 100644
index 563f950d5d7d..000000000000
--- a/srcpkgs/base-voidstrap/template
+++ /dev/null
@@ -1,21 +0,0 @@
-# Template file for 'base-voidstrap'
-pkgname=base-voidstrap
-version=0.11
-revision=1
-build_style=meta
-short_desc="Void Linux base system meta package for containers/chroots"
-maintainer="Enno Boland <gottox@voidlinux.org>"
-license="Public Domain"
-homepage="https://www.voidlinux.org/"
-
-depends="
- base-files ncurses coreutils findutils diffutils
- dash bash grep gzip file sed gawk less util-linux which tar man-pages
- mdocml>=1.13.3 shadow e2fsprogs btrfs-progs xfsprogs f2fs-tools dosfstools kbd
- procps-ng tzdata pciutils iana-etc eudev runit-void openssh dhcpcd
- iproute2 iputils iw xbps nvi sudo traceroute kmod removed-packages"
-
-case "$XBPS_TARGET_MACHINE" in
-	*-musl) depends+=" musl";;
-	*) depends+=" glibc-locales";;
-esac

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
@ 2022-10-08 15:11 ` ahesford
  2022-10-08 15:28 ` classabbyamp
                   ` (10 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: ahesford @ 2022-10-08 15:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 192 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1272339733

Comment:
Seeking comments from @void-linux/pkg-committers 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
  2022-10-08 15:11 ` ahesford
@ 2022-10-08 15:28 ` classabbyamp
  2022-10-10 10:03 ` Duncaen
                   ` (9 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2022-10-08 15:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 298 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1272342644

Comment:
I like the idea.

I think having multiple `base-` packages installed might be confusing to people, so maybe the alternative approach would be better.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
  2022-10-08 15:11 ` ahesford
  2022-10-08 15:28 ` classabbyamp
@ 2022-10-10 10:03 ` Duncaen
  2022-10-10 10:03 ` Duncaen
                   ` (8 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Duncaen @ 2022-10-10 10:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 245 bytes --]

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273073711

Comment:
This means building `base-minima` requires a lot more dependencies, not sure how useful this really is.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (2 preceding siblings ...)
  2022-10-10 10:03 ` Duncaen
@ 2022-10-10 10:03 ` Duncaen
  2022-10-10 10:11 ` Duncaen
                   ` (7 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Duncaen @ 2022-10-10 10:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 246 bytes --]

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273073711

Comment:
This means building `base-minima;` requires a lot more dependencies, not sure how useful this really is.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (3 preceding siblings ...)
  2022-10-10 10:03 ` Duncaen
@ 2022-10-10 10:11 ` Duncaen
  2022-10-10 10:12 ` Duncaen
                   ` (6 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Duncaen @ 2022-10-10 10:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 273 bytes --]

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273083426

Comment:
Also not a fan of having the base packages depend on other base packages, this just obfuscates the dependencies for no good reason.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (4 preceding siblings ...)
  2022-10-10 10:11 ` Duncaen
@ 2022-10-10 10:12 ` Duncaen
  2022-10-10 14:02 ` classabbyamp
                   ` (5 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: Duncaen @ 2022-10-10 10:12 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 246 bytes --]

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273073711

Comment:
This means building `base-minimal` requires a lot more dependencies, not sure how useful this really is.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (5 preceding siblings ...)
  2022-10-10 10:12 ` Duncaen
@ 2022-10-10 14:02 ` classabbyamp
  2022-10-10 14:11 ` sgn
                   ` (4 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: classabbyamp @ 2022-10-10 14:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 330 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273362619

Comment:
> This means building `base-minimal` requires a lot more dependencies, not sure how useful this really is.

what about a build option that disables the subpackages for bootstrapping? 

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (6 preceding siblings ...)
  2022-10-10 14:02 ` classabbyamp
@ 2022-10-10 14:11 ` sgn
  2022-10-10 14:28 ` ahesford
                   ` (3 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: sgn @ 2022-10-10 14:11 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 224 bytes --]

New comment by sgn on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273377450

Comment:
I think it's better to have 3 separated packages. I like the chain dependency, though.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (7 preceding siblings ...)
  2022-10-10 14:11 ` sgn
@ 2022-10-10 14:28 ` ahesford
  2022-10-10 14:47 ` Duncaen
                   ` (2 subsequent siblings)
  11 siblings, 0 replies; 13+ messages in thread
From: ahesford @ 2022-10-10 14:28 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1520 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273403437

Comment:
I don't understand why adding more dependencies to the build of `base-minimal` is a concern. We don't use it for bootstrapping; that's what `base-chroot` is for, and that's still a separate template. Maybe it adds a little more time to the build, but:
1. As far as CI and official builds are concerned, we ought to keep these dependencies in sync anyway, so any update to `base-minimal` ought to include corresponding updates to `-voidstrap` and `-system`; in that case, the build time is actually *reduced* by avoiding triple package installations.
2. Are people really building custom `base-minimal` on their own enough that we should be concerned that sombody winds up fetching the Linux kernel when building the package from the merged template? Meh.

Regarding the dependency chain: I recognize the potential for confusion or annoyance when trying to understand the full list of dependencies of the more featureful bases, but I'm not sure whether that's offset by the fact that chained dependencies makes it more obvious how the packages are related. We've seen a few questions asking for clarity about the differences, and `run_depends: base-minimal [...]` is pretty obvious in that regard. Either way, I can switch to the alternative approach (common variables in a common template to satisfy DRY while avoiding nested dependencies) if there is strong support there.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (8 preceding siblings ...)
  2022-10-10 14:28 ` ahesford
@ 2022-10-10 14:47 ` Duncaen
  2022-10-11 17:46 ` [PR PATCH] [Closed]: " ahesford
  2022-10-11 17:47 ` ahesford
  11 siblings, 0 replies; 13+ messages in thread
From: Duncaen @ 2022-10-10 14:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 542 bytes --]

New comment by Duncaen on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1273429882

Comment:
I don't really see a strong reason to unify those templates and more reason to not change anything.

- Additional build dependencies for smaller `base-*` packages.
- Changing one of the `base-*` packages requiring an "update" for all.
- More confusing to keep the order of dependencies right (important for example `gawk` being before any other dependency that pulls in the `awk` virtual package.

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PR PATCH] [Closed]: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (9 preceding siblings ...)
  2022-10-10 14:47 ` Duncaen
@ 2022-10-11 17:46 ` ahesford
  2022-10-11 17:47 ` ahesford
  11 siblings, 0 replies; 13+ messages in thread
From: ahesford @ 2022-10-11 17:46 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 782 bytes --]

There's a closed pull request on the void-packages repository

[RFC] base-{minimal,voidstrap,system}: unify base packages
https://github.com/void-linux/void-packages/pull/39814

Description:
Unifying the three alternative base packages makes it easier to manage dependencies consistently, and having successively more featureful packages depend on the next more spartan package makes the additional inclusions more obvious.

If there is any real reason not to have a `base-system -> base-voidstrap -> base-minimal` dependency chain, we can still preserve dependency maintainability by defining, *e.g.*,

```sh
_minimal_depends="[...]"
_voidstrap_depends="${_minimal_depends} [...]"
```

in the header.

#### Testing the changes
- I tested the changes in this PR: **NO**

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [RFC] base-{minimal,voidstrap,system}: unify base packages
  2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
                   ` (10 preceding siblings ...)
  2022-10-11 17:46 ` [PR PATCH] [Closed]: " ahesford
@ 2022-10-11 17:47 ` ahesford
  11 siblings, 0 replies; 13+ messages in thread
From: ahesford @ 2022-10-11 17:47 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 249 bytes --]

New comment by ahesford on void-packages repository

https://github.com/void-linux/void-packages/pull/39814#issuecomment-1275059846

Comment:
I can't strongly defend against the criticisms here, so we might as well just persist with the status quo.

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-10-11 17:47 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-08 15:09 [PR PATCH] [RFC] base-{minimal,voidstrap,system}: unify base packages ahesford
2022-10-08 15:11 ` ahesford
2022-10-08 15:28 ` classabbyamp
2022-10-10 10:03 ` Duncaen
2022-10-10 10:03 ` Duncaen
2022-10-10 10:11 ` Duncaen
2022-10-10 10:12 ` Duncaen
2022-10-10 14:02 ` classabbyamp
2022-10-10 14:11 ` sgn
2022-10-10 14:28 ` ahesford
2022-10-10 14:47 ` Duncaen
2022-10-11 17:46 ` [PR PATCH] [Closed]: " ahesford
2022-10-11 17:47 ` ahesford

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).