You are not logged in.
Please help me to understand why - when running daily yay - a new package "yay-bin-debug" wants to be installed together with regular "yay-bin" update?
I have noticed it recently, not only with "yay-bin" package but also with other AUR packages.
Is it necessary to install the "*-debug" packages?
If not - how to get rid of them when running yay? I mean - not to be downloaded, prepared and proposed to be added?
Last edited by papavlos (2024-02-20 23:33:22)
Offline
A live example of the above:
Package (2) Old Version New Version Net Change
gmrender-resurrect-git 1:r345.3a1234f-1 1:r345.3a1234f-1 -0.01 MiB
gmrender-resurrect-git-debug 1:r345.3a1234f-1 0.43 MiB
Total Installed Size: 0.55 MiB
Net Upgrade Size: 0.43 MiB
:: Proceed with installation? [Y/n]
Here even version number remains the same, simply the same package got rebuilt and split (?) into two, then proposed to be reinstalled/installed.
Is it the new default behavior for AUR?
Offline
Please see makepkg.conf.5#OPTIONS and [SOLVED] Cannot disable debug symbol packages with makepkg.conf also https://bbs.archlinux.org/viewtopic.php … 0#p2150180.
Please do not bump a thread. If you post is the last in a thread edit that existing post instead of creating a new one.
Offline
Thanks @loqs ! As usual - pointing to the solution.
Modifying the "makepkg.conf" by adding exclamation mark before "debug" in "OPTIONS" line and cleaning the ~/.cache/yay contents fixes my issue.
Next time I will not bump threads and will follow recommended rules.
Offline
For building packages using PKGBUILD from AUR (or created myself), I use following command which prevents makepkg to create and install debug package.
No need to modify any config file:
makepkg -si OPTIONS=-debug
The minus (-) sign at start of "debug" means "do NOT create and install debug package
EDIT:
Above solution does not build a debug package, but includes the debug symbol in the main package itself..
Another solution, which does NOT build debug package, as well as does NOT includes the debug symbol in the main package itself is given below:
Edit file PKGBUILD and add following line:
options=('!debug')
Then issue command:
makepkg -si
.
Last edited by abcd567 (2025-02-10 04:28:45)
Offline
For building packages using PKGBUILD from AUR (or created myself), I use following command which prevents makepkg to create and install debug package.
No need to modify any config file:
makepkg -si OPTIONS=-debug
The minus (-) sign at start of "debug" means "do NOT create and install debug package
Unlike changing the /etc/makepkg.conf or the OPTIONS array in the PKGBUILD your solution includes the debug symbol in the package itself.
Offline
Unlike changing the /etc/makepkg.conf or the OPTIONS array in the PKGBUILD your solution includes the debug symbol in the package itself.
You are right.
I have edited my post and added method to include options=('!debug') in PKGBUILD.
Building package this way, I saw following output:
Stripping unneeded symbols from binaries and libraries...
However I do not see any harm if the main package includes debug symbols, as long as it does not build a separate debug package. The difference in size of package with and without debug symbols is less than 3 Mb. I feel using command "makepkg -si OPTIONS=-debug" is better and easier than modifying the file PKGBUILD and adding "options=('!debug')".
Last edited by abcd567 (2025-02-10 04:42:37)
Offline
The difference in size of package with and without debug symbols is less than 3 Mb.
The size of the debug symbols is package dependent.
I feel using command "makepkg -si OPTIONS=-debug" is better and easier than modifying the file PKGBUILD and adding "options=('!debug')".
That still leaves changing /etc/makepkg.conf if you do not want to build debug packages or include debug symbols by default. The following prevents debug symbols being added on the command line:
OPTIONS=(\!debug) makepkg
Offline
That still leaves changing /etc/makepkg.conf if you do not want to build debug packages or include debug symbols by default. The following prevents debug symbols being added on the command line:
OPTIONS=(\!debug) makepkg
The PKGBUILD files I created are for use by a group of my friends. I cannot edit everyone's file /etc/makepkg.conf.
Some of these friends are not proficient enough to do it safely, even if I tell them how to do it.
A simpler thing is to tell them to use the command makepkg -si OPTIONS=-debug, OR makepkg -si OPTIONS='!debug'.
This also has advantage that debug symbols are included inside the main package, so we don't loose facility to debug any runtime errors.
Now the reason why I want to avoid creation of separate debug packages is that the package I want to build requires some dependencies which are not available from Arch repo. These required to be built from AUR. After building & installing the dependencies (packages+debug packages), I ran makepackage -si on the PKGBUID which waswritten by me as the main app. This created the package and debug packages OK, and tried to install these but failed due to conflict between debug package of one of dependecies, and the main package of the app. I tried to install main app's package alone without installing it's associated debug package, but that also failed. Only when I removed the debug package of dependency, I succeeded in installing the main app. That made me to find out a way to stop building a separate debug package.
Offline
This also has advantage that debug symbols are included inside the main package, so we don't loose facility to debug any runtime errors.
Getting_traces#Compilation_options
options=(debug !strip)
This has the advantage of being documented / supported.
Offline
Getting_traces#Compilation_options
options=(debug !strip)
This has the advantage of being documented / supported.
Thank you. This is great.
Offline
Now the reason why I want to avoid creation of separate debug packages is that the package I want to build requires some dependencies which are not available from Arch repo. These required to be built from AUR. After building & installing the dependencies (packages+debug packages), I ran makepackage -si on the PKGBUID which waswritten by me as the main app. This created the package and debug packages OK, and tried to install these but failed due to conflict between debug package of one of dependecies, and the main package of the app. I tried to install main app's package alone without installing it's associated debug package, but that also failed. Only when I removed the debug package of dependency, I succeeded in installing the main app. That made me to find out a way to stop building a separate debug package.
This should not be happening but without the PKGBUILD and reltad pacman output's it is not possible to understand the cause. Almost all binary packages in arch are split debug and I am not aware of a similar report to yours.
Offline
There are, in fact, issues with debug packages conflicting with each other. When packages bundle the same binaries, the symbols from those binaries end up conflicting even though the binaries themselves are installed to different places.
Offline
There are, in fact, issues with debug packages conflicting with each other. When packages bundle the same binaries, the symbols from those binaries end up conflicting even though the binaries themselves are installed to different places.
abcd567 switched from split debug packages to including debug symbols in the main package. Would that not move that issue to the main package as well?
Offline
No, because that leaves the symbols as part of the binaries instead of stripping them into detached symbols.
Offline