What do I do with pacman pacnew and rust pacnew

I don’t have any idea what to do here. Simply merging the pacnew for pacman is going to write over some things from the looks of it. I admitedly haven’t looked at the rust pacnew yet.

Yeah, you need to look at each line and decide what you want to do. You definitely shouldn’t overwrite pacman.conf with the new file. You need to do a line by line merge.

If you want help, share a diff.

here’s the pacman pacnew


[cc@computer ~]$ diff /etc/pacman.conf /etc/pacman.conf.pacnew 
22d21
< #UseDelta    = 0.7
34,35c33
< Color
< ILoveCandy
---
> #Color
37,40c35,39
< #CheckSpace
< VerbosePkgLists
< DisableDownloadTimeout
< ParallelDownloads = 5
---
> CheckSpace
> #VerbosePkgLists
> #ParallelDownloads = 5
> DownloadUser = alpm
> #DisableSandbox
75,78d73
< [endeavouros]
< SigLevel = PackageRequired
< Include = /etc/pacman.d/endeavouros-mirrorlist
< 
97,98c92,93
< [multilib]
< Include = /etc/pacman.d/mirrorlist
---
> #[multilib]
> #Include = /etc/pacman.d/mirrorlist

If you want to keep things mostly the same, I would add these two lines to your pacman.conf

CheckSpace
DownloadUser = alpm
1 Like

I uncommented CheckSpace and added DownloadUser = alpm under ParallelDownloads = 5

1 Like

here’s the diff for the rust pacnew


[cc@computer ~]$ diff /etc/makepkg.conf.d/rust.conf /etc/makepkg.conf.d/rust.conf.pacnew 
1a2,3
> # shellcheck disable=2034
> 
12c14
< #RUSTFLAGS="-C opt-level=3"
---
> RUSTFLAGS="-Cforce-frame-pointers=yes"
17c19
< #DEBUG_RUSTFLAGS="-C debuginfo=2"
---
> DEBUG_RUSTFLAGS="-C debuginfo=2"

just for the record I don’t use the AUR at all if that matters for either one of these pacnews

I am not a rust expert, but it looks safe to take the new rust file to me.

I sent over all the changes from the rust pacnew. Do I need to do a sudo pacman -Syyu now that i changed the pacman.conf file similar to if i had changed my mirrorlist file?

No.

Those changes only change the user that is used to download files and tell pacman to check space available.

Ok. Thanks for the help @dalto

You should also have a pacnew for /etc/makepkg.conf, which previously had these flags set by default but now they are removed.

If it helps to clarify what I am trying to say, here is a visual comparison with Meld:

/etc/makepkg.conf.pacnew on the left with the two rust flags now removed:

/etc/makepkg.conf.d/rust.conf.pacnew on the left with those same two rust flags now replacing some commented lines:

Basically the flags are moving from the main makepkg.conf file to the Rust-specific drop-in file.

2 Likes

I had two pacnew files. The two pacnew files were /etc/makepkg.conf.d/rust.conf.pacnew and /etc/pacman.conf.pacnew. I used the meld program from the welcome application.

here is /etc/makepkg.conf.d/rust.conf file

[cc@computer makepkg.conf.d]$ cat rust.conf 
#!/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"

here is the /etc/makepkg.conf file

[cc@computer etc]$ cat makepkg.conf
#!/hint/bash
# shellcheck disable=2034

#
# /etc/makepkg.conf
#

#########################################################################
# SOURCE ACQUISITION
#########################################################################
#
#-- The download utilities that makepkg should use to acquire sources
#  Format: 'protocol::agent'
DLAGENTS=('file::/usr/bin/curl -qgC - -o %o %u'
          'ftp::/usr/bin/curl -qgfC - --ftp-pasv --retry 3 --retry-delay 3 -o %o %u'
          'http::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'https::/usr/bin/curl -qgb "" -fLC - --retry 3 --retry-delay 3 -o %o %u'
          'rsync::/usr/bin/rsync --no-motd -z %u %o'
          'scp::/usr/bin/scp -C %u %o')

# Other common tools:
# /usr/bin/snarf
# /usr/bin/lftpget -c
# /usr/bin/wget

#-- The package required by makepkg to download VCS sources
#  Format: 'protocol::package'
VCSCLIENTS=('bzr::breezy'
            'fossil::fossil'
            'git::git'
            'hg::mercurial'
            'svn::subversion')

#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
#
CARCH="x86_64"
CHOST="x86_64-pc-linux-gnu"

#-- Compiler and Linker Flags
#CPPFLAGS=""
CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
        -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
        -fstack-clash-protection -fcf-protection \
        -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
         -Wl,-z,pack-relative-relocs"
LTOFLAGS="-flto=auto"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
DEBUG_CFLAGS="-g"
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"

#########################################################################
# BUILD ENVIRONMENT
#########################################################################
#
# Makepkg defaults: BUILDENV=(!distcc !color !ccache check !sign)
#  A negated environment option will do the opposite of the comments below.
#
#-- distcc:   Use the Distributed C/C++/ObjC compiler
#-- color:    Colorize output messages
#-- ccache:   Use ccache to cache compilation
#-- check:    Run the check() function if present in the PKGBUILD
#-- sign:     Generate PGP signature file
#
BUILDENV=(!distcc color !ccache check !sign)
#
#-- If using DistCC, your MAKEFLAGS will also need modification. In addition,
#-- specify a space-delimited list of hosts running in the DistCC cluster.
#DISTCC_HOSTS=""
#
#-- Specify a directory for package building.
#BUILDDIR=/tmp/makepkg

#########################################################################
# GLOBAL PACKAGE OPTIONS
#   These are default values for the options=() settings
#########################################################################
#
# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
#  A negated option will do the opposite of the comments below.
#
#-- strip:      Strip symbols from binaries/libraries
#-- docs:       Save doc directories specified by DOC_DIRS
#-- libtool:    Leave libtool (.la) files in packages
#-- staticlibs: Leave static library (.a) files in packages
#-- emptydirs:  Leave empty directories in packages
#-- zipman:     Compress manual (man and info) pages in MAN_DIRS with gzip
#-- purge:      Remove files specified by PURGE_TARGETS
#-- debug:      Add debugging flags as specified in DEBUG_* variables
#-- lto:        Add compile flags for building with link time optimization
#-- autodeps:   Automatically add depends/provides
#
OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto)

#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(sha256)
#-- Options to be used when stripping binaries. See `man strip' for details.
STRIP_BINARIES="--strip-all"
#-- Options to be used when stripping shared libraries. See `man strip' for details.
STRIP_SHARED="--strip-unneeded"
#-- Options to be used when stripping static libraries. See `man strip' for details.
STRIP_STATIC="--strip-debug"
#-- Manual (man and info) directories to compress (if zipman is specified)
MAN_DIRS=({usr{,/local}{,/share},opt/*}/{man,info})
#-- Doc directories to remove (if !docs is specified)
DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
#-- Files to be removed from all packages (if purge is specified)
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug"
#-- Prefix and directories for library autodeps
LIB_DIRS=('lib:usr/lib' 'lib32:usr/lib32')

#########################################################################
# PACKAGE OUTPUT
#########################################################################
#
# Default: put built package and cached source in build directory
#
#-- Destination: specify a fixed directory where all packages will be placed
#PKGDEST=/home/packages
#-- Source cache: specify a fixed directory where source files will be cached
#SRCDEST=/home/sources
#-- Source packages: specify a fixed directory where all src packages will be placed
#SRCPKGDEST=/home/srcpackages
#-- Log files: specify a fixed directory where all log files will be placed
#LOGDEST=/home/makepkglogs
#-- Packager: name/email of the person or organization building packages
#PACKAGER="John Doe <john@doe.com>"
#-- Specify a key to use for package signing
#GPGKEY=""

#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
#
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
COMPRESSZST=(zstd -c -T0 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
COMPRESSLZ4=(lz4 -q)
COMPRESSLZ=(lzip -c -f)

#########################################################################
# EXTENSION DEFAULTS
#########################################################################
#
PKGEXT='.pkg.tar.zst'
SRCEXT='.src.tar.gz'

#########################################################################
# OTHER
#########################################################################
#
#-- Command used to run pacman as root, instead of trying sudo and su
#PACMAN_AUTH=()
# vim: set ft=sh ts=2 sw=2 et:

That file is already the new version.

If I am understanding you correctly, what do I have to do to fix this?

I don’t think you need to do anything except take the new rust.conf changes, since you are already using the new version of makepkg.conf. I am not sure why you would get a pacnew for one and not the other.

Note that debugging is enabled in the “stock” version of /etc/makepkg.conf (which you are using). Unless you specifically want that, you may wish to disable it. *-debug package conflict on system update - #10 by dalto

what do you mean by new rust.conf changes? I already moved those changes over as I said earlier in the thread.

Yes, that’s what I am referring to.

So there isn’t a problem that those options that you mentioned earlier in the thread were removed in /etc/makepkg.conf?