Re: [aur-general] Is base an implicit dependency?
Hi, On 2021-07-27 11:20, Marcin Wieczorek wrote:
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes: Without base you wouldn't be building the package on a system that can be called Arch Linux. What's the point then?
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools? Regards, -- Cedric Girard
Hi, Le 27/07/2021 à 11:26, Cedric Girard via aur-general a écrit :
Hi,
On 2021-07-27 11:20, Marcin Wieczorek wrote:
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes: Without base you wouldn't be building the package on a system that can be called Arch Linux. What's the point then?
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools?
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong. systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment). Also, I would still keep base content in dependencies (when required) in any case, because we could drop packages from base at any point (they are open tickets for some of them already). Regards, Bruno/Archange
On 21/07/27 13:17, Archange wrote:
systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment). If you remind yourself please let us know.
Also, I would still keep base content in dependencies (when required) in any case, because we could drop packages from base at any point (they are open tickets for some of them already). A lesson for me too, as I always use implicit base dependencies in my packages. An assumption that never caused me trouble, but it doesn't mean it won't in the future. Thanks!
Marcin Wieczorek
Hi, On 2021-07-27 13:17, Archange wrote:
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools?
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong.
systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment).
Also, I would still keep base content in dependencies (when required) in any case, because we could drop packages from base at any point (they are open tickets for some of them already).
Thank you for your clear answer. This concurs with what I thought. Regards, -- Cedric Girard
On 27/07/21 at 01:17pm, Archange via aur-general wrote:
Hi,
Le 27/07/2021 à 11:26, Cedric Girard via aur-general a écrit :
Hi,
On 2021-07-27 11:20, Marcin Wieczorek wrote:
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes: Without base you wouldn't be building the package on a system that can be called Arch Linux. What's the point then?
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools?
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong.
I'm the maintainer[0], and I'm not wrong. The package builds fine in a chroot, using the classic way[1] with makechrootpkg.
systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment).
It would good to see this actually documented somewhere.
Also, I would still keep base content in dependencies (when required) in any case, because we could drop packages from base at any point (they are open tickets for some of them already).
If you are going to drop systemd, I suspect there would be sufficient lead time for people to make the necessary changes to their PKGBUILDS. 0. https://aur.archlinux.org/packages/mpdscribble/ 1. https://wiki.archlinux.org/title/DeveloperWiki:Building_in_a_clean_chroot#Cl... -- // jwr
Le 27/07/2021 à 20:26, Jason Ryan via aur-general a écrit :
On 27/07/21 at 01:17pm, Archange via aur-general wrote:
Le 27/07/2021 à 11:26, Cedric Girard via aur-general a écrit :
On 2021-07-27 11:20, Marcin Wieczorek wrote:
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes: Without base you wouldn't be building the package on a system that can be called Arch Linux. What's the point then?
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools?
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong.
I'm the maintainer[0], and I'm not wrong. The package builds fine in a chroot, using the classic way[1] with makechrootpkg.
It does not, results in: install: cannot stat 'build/systemd/system/mpdscribble.service': No such file or directory I’ve just tried right now. Did you also try setting up a new chroot (starting from scratch)? My guess is that your root chroot is old (i.e. from before 2020) and includes systemd (packages never get removed from the base chroot). But a new chroot would not, which is partly why some issues regarding systemd leaving base-devel only appeared after a while. So for now, please add systemd to makedepends. And while you’re at it, you can add 'aarch64' to the `arch` array as asked by an user. ;)
systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment). It would good to see this actually documented somewhere.
See the bug report mentioned in my previous email to this thread. As WorMzy said, not having base in base-devel/chroots seems to be an oversight. The topic will likely be discussed more in depth soon, but in the mean time the solution is adding systemd to makedepends. Regards, Bruno/Archange
On 27/07/21 at 09:13pm, Archange wrote:
Le 27/07/2021 à 20:26, Jason Ryan via aur-general a écrit :
On 27/07/21 at 01:17pm, Archange via aur-general wrote:
Le 27/07/2021 à 11:26, Cedric Girard via aur-general a écrit :
On 2021-07-27 11:20, Marcin Wieczorek wrote:
The most important meta package is base. It contains a minimal package set that defines a basic Arch Linux installation. It includes: Without base you wouldn't be building the package on a system that can be called Arch Linux. What's the point then?
I am misusing devtools feature to build in a clean chroot, then? Or is there a bug in those tools?
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong.
I'm the maintainer[0], and I'm not wrong. The package builds fine in a chroot, using the classic way[1] with makechrootpkg.
It does not, results in:
install: cannot stat 'build/systemd/system/mpdscribble.service': No such file or directory
I’ve just tried right now. Did you also try setting up a new chroot (starting from scratch)? My guess is that your root chroot is old (i.e. from before 2020) and includes systemd (packages never get removed from the base chroot). But a new chroot would not, which is partly why some issues regarding systemd leaving base-devel only appeared after a while.
My bad: I had no idea that I needed to replace the chroot directory. Birth: 2013-04-15 15:52:13.023713756 +1200
So for now, please add systemd to makedepends. And while you’re at it, you can add 'aarch64' to the `arch` array as asked by an user. ;)
systemd is not part of base-devel, and base is not part of official building chroots (they were reasons for this, but I don’t remember them at the moment). It would good to see this actually documented somewhere.
See the bug report mentioned in my previous email to this thread. As WorMzy said, not having base in base-devel/chroots seems to be an oversight. The topic will likely be discussed more in depth soon, but in the mean time the solution is adding systemd to makedepends.
I'll update the PKGBUILD, but I really do not understand why this is necessary. If you are running Arch, you have base installed: that has always been an explicit expectation. People are free to deviate, obviously, but on their own recognizance. The tooling should reflect that, IMO. -- // jwr
On 2021-07-27 23:10, Jason Ryan via aur-general wrote:
My bad: I had no idea that I needed to replace the chroot directory.
Birth: 2013-04-15 15:52:13.023713756 +1200
Hats off to you for using chroots to build even before the practice was so strongly encouraged as it is now. Perhaps updates to the dev tools should occasionally require resetting these chroots? You may not be the only one affected even after years...
If you are running Arch, you have base installed: that has always been an explicit expectation.
This was true, and I think it still is true but only for when the installation is the host system on bare metal. Running Arch in containers is a bit different. The current devtools chroots are a good example why: for some virtual/container environments you don't want or need the child system to do everything that a bare metal system would do. I have to give props to the Microsoft engineer that once said: "Besides: you guys have systemd, which if I'm going to treat it the same way I treated NTFS, is an all-devouring octopus monster about crawl out of the sea and eat Tokyo and spit it out as a giant binary logfile." But even if you don't like systemd, if you use it as a virtual container host, you don't run itself inside itself, you just let it take over and pass things through to itself. Hence it's possible to have a very much orthodox Arch system (running systemd even) without the systemd package installed. Caleb
On 2021-07-27 21:26, Jason Ryan via aur-general wrote:
On 27/07/21 at 01:17pm, Archange via aur-general wrote:
No, you’re not, and systemd must be added to makedepends if required at build time. The maintainer is wrong.
I'm the maintainer[0], and I'm not wrong. The package builds fine in a chroot, using the classic way[1] with makechrootpkg.
<begin irony alert, sung to the obnoxious ska tune by the W's "the devil is bad"> Hi, you are the maintainer and you are wrong! <end irony alert> I don't know if humor will help here. That's certainly not my taste in music, it's just one of those things one can't forget. But in all seriousness it would be nice to bring the tone down a little across the board. Your response here and in AUR comments does come off a bit abrasive for something that (at the very least) is clearly a point of confusion. I just checked your package myself and it does *not* build in a clean chroot the classic way with makechrootpkg ... assuming the chroot is setup the way the Wiki currently suggests using `base-devel`. If you have setup your chroot(s) with `base` in the mix that is something you did and not what is currently standardized across both the preconfigured devtools roots and the Wiki manual instructions. This whole thread is discussing whether that is correct and whether `base` *should* be included in `base-devel`, but at the moment it is pretty evidently not. Personally I think this does need to change and `base` should be assumed — but that only make sense after more things are stripped out of `base` that only apply to physical systems and not containers.
systemd is not part of base-devel, and base is not part of official building chroots It would good to see this actually documented somewhere.
Thy _why_ could use some documentation, but it's pretty self evident that this is not currently the case. You can check for yourself by spawning one of the devtools roots or my running makearchroot with the arguments suggested on the wiki (which does not mention `base`). Regards, Caleb
participants (5)
-
Archange
-
Caleb Maclennan
-
Cedric Girard
-
Jason Ryan
-
Marcin Wieczorek