Please don’t create multiple topics for the same issue. I’ve merged the two together.
It seems all of this is because you’re trying to use an NTFS filesystem on Linux and expecting permissions to work right. They won’t. Use an ext4 filesystem to write to.
FYI, your post would have been binned on the Arch forums by now.
So, then it’s the drives partition name/label which is the problem. It’s not thunar that is causing the problem, it is the drive which has a label that makes a weird path which causes makepkg break
It’s a very special use case but might as well report it. but I agree the makepkg should be able to handle it (even though it is not the right way to have a path)
Nope. Arch is not Manjaro; Manjaro is not Arch. makepkg is part of pacman which is Arch’s package manager. Manjaro is of course based on Arch, but Arch does not support anything but pure Arch.
gvfs mount a device using the device label as path and if no label it mount using partition’s UUID.
When your devices is labelled like this - you are effectively escaping the path character as a literal char
which then makes the system understand the path as aaa/D:/aur/ which of course doesn’t exit because it actually contain a backslash too.
Since everything is a file - you can without risc play with creating folders and files with or without escaped characters - and you will find how Linux behaves different than Windows.
makepkg
There is no problem with makepkg - it does what it is supposed to.
The problem is the name/label of your stick’s partition. Change the label and problem goes away.
sudo e2label /dev/sdy1 'd-drive'
experiment
Open a terminal and create a temp folder and cd into the folder (my prompt looks like this ➜ followed by the current folder)
➜ ~ mkdir temp
➜ ~ cd temp
Now type in mkdir D:\ and press Enter - note what happens
➜ temp mkdir D:\
>
As you have a backslash as the last char before Enter - the system expects more - indicated by the gt sign - so press enter one more time.
Repeat the above - this time type E:\Enter - press fEnter
➜ temp mkdir E:\
> f
➜ temp
Now list the content
➜ temp ls
D: E:f
Now you have two folders - but they have no \ - because the backslash is an escape character in Linux.
Now try to create a folder containing a backslash and list the content
➜ temp mkdir G:\\
➜ temp ls
D: E:f 'G:\'
now lets create a sub folder inside one of our folders
➜ temp mkdir D:\/aur
➜ temp ls D:
aur
one more time with E:f
➜ temp mkdir E:f/aur
➜ temp ls E:f
aur
now a third time with G:\
➜ temp mkdir G:\/aur
mkdir: cannot create directory ‘G:/aur’: No such file or directory
Ups - this is not possible - obvious the folder exist - so what is happening?
➜ temp ls
D: E:f 'G:\'
The escape char is happening - let’s try one more time
➜ temp mkdir G:\\/aur
➜ temp ls G:\
>
zsh: correct 'G:' to 'G:\' [nyae]? n
ls: cannot access 'G:': No such file or directory
Ups - lets list it again
➜ temp ls G:\\
aur
Can you see the pattern here? Let’s take a look at your initial problem - the folder structure
aaa/D:\/aur/
The mountpoint is only containing one backslash and following our experiment - for the shell to be able to navigate that specific path you would need it to look like this aaa/D:\\/aur/.
Now you can argue it is bug - but I don’t see like that - I see your label is containing an - for a Linux system - illegal char sequence.