manjaro version of `mkarchroot` does not behave as the original, breaks e.g. aurutils

#1

I'm running into a problem with the manjaro devtools version of mkarchroot together with aurutils from AUR. I have create an issue in devtools gitlab but wanted to cross post here to discuss with the broader community:

mkmanjaroroot is a symlink to mkarchroot , but mkarchroot does not behave as the original Arch version: it creates a file .manjaro-chroot instead of .arch-chroot (see mkarchroot.in Line 109 )

This essentially breaks the API of mkarchroot and other programs depending on this file break. My problem was with aurutils: they check for the correctly created chroot file system by looking for .arch-chroot , which does not exist when using the Manjaro devtools and aurutils fail.

Possible solutions IMHO, depending on why the new file was needed in the first place:

  1. make mkarchroot behave as Arch equivalent, only create .arch-chroot and keep symlink from mkmanjaroroot : this could possibly break some code as manjaro packages now don't find the .manjaro-chroot file anymore.
  2. make mkmanjaroroot create .manjaro-chroot and mkarchroot .arch-chroot (separating the two programs): this could break code that relies on the wrong behavior
  3. make mkarchroot create both files .arch-chroot and .manjaro-chroot and keep symlink: possibly best backward compatibility (but maybe side effects?)

Any thoughts on this?

1 Like

#2

we use manjaro-chroot

0 Likes

#3

Why wouldn't the right thing to be to patch aurutils to work with Manjaro?

I don't think this is the only place where Manjaro's devtools is different than arch's.

0 Likes

#4

Oh ho hoo ho. :joy:

I'm sure Alad would love that PR!

5 Likes

#5

I was thinking more in a local PKGBUILD but it would be fun to submit it upstream.

2 Likes

#6

I discussed this with on the aur irc channel already :slight_smile: That's where the statement about "breaking the API" came from. Anyway - what's the position towards Manjaro/Arch compatibility with respect to this? Why does mkarchroot create .manjaro-chroot file and not .arch-chroot?

I do have another problem with an other community package and got quiet directly told that Arch doesn't support "any other distribution". So how is Manjaro and Arch really related, I mean with respect to cooperation. And further how to deal/address this type of issues ultimately?

0 Likes

#7

I know how to solve this locally, but what is the best way for ultimately getting rid of this issue?

0 Likes

#8

I don't know, it's not my package. But I'll answer just so you get an answer. :slight_smile:

Ensure it's not a Manjaro-specific issue, ideally by replicating the issue on Arch. Iff it's an Arch issue then report it to Arch. Otherwise this forum is where to get support for Manjaro.

1 Like

#9

Thanks :slight_smile:

That's what I did :blush: mkarchroot behaves different on Manajaro compared to Arch, that's what causes the problem. So we'll see what comes up here.

0 Likes

#10

What do you mean by

?

0 Likes

#11

for chroot we use manjaro-chroot or mwhd-choot , this is tools from manjaro , not coming from archlinux

0 Likes

#12

Thanks, sorry, didn't get this before. Then the question is why there is a mkarchroot that behaves so different? Or better: is there a chance to change the behavior of it so that other Arch packages could work better? Or is this out of scope?

0 Likes

#13

It may be an unforeseen dependency

Probably not

Kind of.

mkarchroot is kind of tied into Arch. The equivalents has been mentioned by @stephane

0 Likes

#14

... and this is why I'd ask whether it can behave as in Arch, and have the other scripts behave differently as needed within Manjaro, as @stephane mentioned. Am I missing technical knowledge why this is not possible?
I just don't understand why we have two scripts that behave ultimately the same, but one is (by name and usage) coming from Arch, the other is adopted for Manjaro.
Thanks for helping me to understand this.

0 Likes

#15

..thats the point.

Debian made a thing. Then Ubuntu (a derivative of debian) wanted a similar tool, but the naming and structure is slightly different so they forked the tool.

Same thing here. We are from Arch, but we are not Arch.
Why is the arch tool available? because it gets ported in to our repos just like every other upstream package. But also in our repos is the tool that more directly applies to manjaro. If you use manjaro, are devloping on manjaro, and using these tools for manjaro ... use the manjaro version of the toolset.

The "why do they both exist" is making a problem out of nothing.

I like firefox .. but just because midori is another browser that doesnt fit my need does not mean that midori should be removed from the repos .. let alone does it mean that I must or even should use it.
(further .. when we get these things directly from Arch, we dont build them ourselves .. it costs nothing. so it is arguably more work to remove than just leave it)

1 Like

#16

Open an issue on our gitlab and I'll take a look at it later.

1 Like

#17

Package sync from Arch Stable -> Manjaro Unstable. Most Manjaro repo packages are Arch maintained upstream.

Manjaro maintains its own repos ... unstable -> testing -> stable.

Manjaro builds and maintains its own kernels and drivers, including purpose built tools for their management ... mhwd-kernel and mhwd.

Manjaro has a set of packages it builds and maintains separate to Arch, in addition to custom kernels.

https://gitlab.manjaro.org/packages

Manjaro develops, maintains and builds its own set of management tools ... including Manjaro Settings Manager, Pamac, mhwd, mhwd-kernel, mhwd-chroot, buildiso, etc.

https://gitlab.manjaro.org/tools

So Manjaro really is its own entity, building upon a solid & reliable Arch package base, but the Manjaro toolset means management of a Manjaro installation is syntactically a little different.

2 Likes

#18

Thanks!

0 Likes