Error updating with yay

When updating with yay “yay -Syyu --noconfirm --devel” I get this error:

:: (1/1) Analizando SRCINFO: balena-etcher
/usr/share/makepkg/util/util.sh: línea 108: /etc/makepkg.conf.d/rust: No existe el fichero o el directorio
==> ERROR: Hubo fallos al obtener la fuente /etc/makepkg.conf.d/rust
 -> error compilando: archlinux-tweak-tool-git-exit status 6
/usr/share/makepkg/util/util.sh: línea 108: /etc/makepkg.conf.d/rust: No existe el fichero o el directorio
==> ERROR: Hubo fallos al obtener la fuente /etc/makepkg.conf.d/rust
 -> error compilando: balena-etcher-exit status 6
 -> Ha fallado al instalar los siguientes paquetes. Una intervención manual es requerida:
archlinux-tweak-tool-git - exit status 6
balena-etcher - exit status 6

I use kde plasma and I have not modified any of the files referred to in the error:

/usr/share/makepkg/util/util.sh
/etc/makepkg.conf.d/rust

This happens to me after doing the last major update. I treated the pacnew files that were in the last major update as always, backup and then replace them with the new files, because I have never modified those files and therefore I understand that I can put them as they come.

Thanks for your help.

That is not correct - at least some of them cannot be simply replaced
There might be still be differences to what you had.
It might be important to at least see and know what the differences are.

This seems to say that the file/directory doesn’t exist.
But it should exist.

I’d think that reinstalling pacman will “fix” that.

LANG=C pacman -F /etc/makepkg.conf.d/rust.conf 
etc/makepkg.conf.d/rust.conf is owned by core/pacman 6.1.0-7

and:
why are you using -Syuu and --noconfirm and --devel ?
instead of simply:
-Syu
or just:
-S

make sure you are fully up to date before you try building from AUR

How could you come to the conclusion this would be a proper way to update? It is not.

Usually, first update Manjaro repos via

sudo pacman -Syu

If there is something to confirm, read and make an educated decision.

Only, if everything is done with the repo packages, incl. merging pacnews where needed and a successful reboot, focus on AUR packages.
If you want to use an AUR helper like yay, this is fine, buth then you should use for the second step:

yay -Sua --devel

as this will only focus on updating the AUR packages.

3 Likes

Thanks for your reply, I did what you told me: LANG=C pacman -F /etc/makepkg.conf.d/rust.conf prto I still get the same error.
As for why it updates with -Syyu I thought that to update aur applications it was updated the same way as when you update with pacman.

Thanks for answering me. To update the system I use pacman -Syyu and after updating the system and checking the pacnews files, in which I have never modified anything, so I understand that I can replace them directly, because the truth is that I look inside them, but I repeat I have never modified anything, if I think that the system needs to be restarted I do it and that is when I update the applications that I have installed from the aur repository.

That was just to tell you how I know that this file belongs to pacman.
That command doesn’t “do” anything - it just can tell you which file belongs to which package.
(LANG=C simply ensures that the output will be in english)

/etc/makepkg.conf.d/rust.conf is part of the package core/pacman

For some reason …, it is missing from your installation.
And that is the direct source of the error you got.

If you want to have it back - install pacman again.

To be perfectly clear this time:
sudo pacman -Syu pacman

This should bring it back
and update the system as well.

But:
that is not how you are supposed to update with pacman.
It simply isn’t. :man_shrugging:

-Syu is.

A recent update produced an /etc/makepkg.conf.d/rust.conf.pacnew file:

I wonder if the OP’s unusual method of dealing with pacnew files has somehow resulted in the deletion or incorrect naming of their rust.conf file (if the change has made it through to Stable branch)?

2 Likes

No need to wonder, I think we can be pretty sure about that. :zipper_mouth_face:

3 Likes

I reinstalled pacman as you told me, then I updated the system, but this time I did it with -Syu and then I ran “LANG=C pacman -F /etc/makepkg.conf.d/rust.conf” again and it returned "etc/makepkg.conf.d/rust.conf is contained in core/pacman 6.1.0-7
" then I ran “yay -Syu --noconfirm --devel” and the same error appeared again.

This just tells you that that file

is provided by the package “pacman”.

I would have expected it to be there after reinstalling pacman

Can you verify - look whether it is or is not there?
ls -al /etc/makepkg.conf.d/

If it is not, then there are other ways to restore it.
Perhaps we need to force the reinstallation of pacman - we’ll see …

Your error in the first post states that it isn’t there - and if the error is the same
it still isn’t there.

… and why in the world do you insist on using --noconfirm --devel ?

The file /etc/makepkg.conf.d/rust.conf
is there and this is the content:

#!/hint/bash
# shellcheck disable=2034

#
# /etc/makepkg.conf.d/rust.conf
#

#########################################################################
# RUST LANGUAGE SUPPORT
#########################################################################

# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
# linkman:rustc[1] for more details on the available flags.
RUSTFLAGS="-Cforce-frame-pointers=yes"

# Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
# more details on the available flags.
DEBUG_RUSTFLAGS="-C debuginfo=2"

But in my first post I already said that /etc/makepkg.conf.d/rust.conf
was present, in fact I said that I made a backup before changing /etc/makepkg.conf.d/rust.conf.pacnew to /etc/makepkg.conf.d/rust.conf and this is the content of the backup:

#!/hint/bash
#
# /etc/makepkg.conf.d/rust.conf
#

#########################################################################
# RUST LANGUAGE SUPPORT
#########################################################################

# Flags used for the Rust compiler, similar in spirit to CFLAGS. Read
# linkman:rustc[1] for more details on the available flags.
#RUSTFLAGS="-C opt-level=3"

# Additional compiler flags appended to `RUSTFLAGS` for use in debugging.
# Usually this would include: ``-C debuginfo=2''. Read linkman:rustc[1] for
# more details on the available flags.
#DEBUG_RUSTFLAGS="-C debuginfo=2"

And I still use --noconfirm --devel out of laziness, but because of your insistence I understand that it is not good to use it since I have to read the messages that yay gives me and respond to them accordingly and not let yay respond to them for me.

No, you didn’t say that.

The output you posted in your first post was in spanish.
My interpretation of what the messages mean may have been incorrect.

What does it mean?

No existe el fichero o el directorio
==> ERROR: Hubo fallos al obtener la fuente /etc/makepkg.conf.d/rust

I thought it meant:
the file doesn't exist

… anyway:
I just tried it myself:

yay -S balena-etcher

It builds.:man_shrugging:
It works. :man_shrugging:

What more can I say?

You should treat yourself to the fun of watching the many depreciation warnings during the build process
which took quite some time.

I’d suggest using Ventoy instead, if what you want to do can be done using it as well,
instead of using balena-etcher.

1 Like
Ha fallado al instalar los siguientes paquetes. Una intervención manual es requerida:
archlinux-tweak-tool-git - exit status 6
balena-etcher - exit status 6

Translates as:

You have failed to install the following packages. A manual intervention is required:

I do not use KDE or yay or --no-confirm option
IMO failure to install archlinux-tweak-tool-git is probably a good thing for system reliability
and failure to install balena-etcher might be good for protecting personal information

3 Likes

Balena has an appimage, if i remember correctly.

1 Like

Etcher – AppImages

Warning: Some disk image writing tools are known to be adware, for example etcher.

https://wiki.archlinux.org/title/List_of_applications/Utilities#Disk_image_writing

There are dozens, if not hundreds, of options.

From dd to mintstick to imagewriter to ventoy and multibootusb.

No need to use crapware.

4 Likes

might have been the actual goal

Who knows?

right

simply cat of the iso file to the device will work just as well

the dd command syntax seems so complicated and intimidating and “important”
cat will do just as well

as root:
cat isofile > /dev/sdx

for instance …

1 Like

Ah yes, though maybe sync would be good.

cat some.iso > /dev/sdx && sync

the command will return
(to the prompt)
when the task is actually finished.

… I even just verified that :wink:

Depends on the system … but by default theres often cache.

( The original process may be complete … but the cache may not have been fully written to disk )