Pamac logs? Fails and analyzing is hard without logs

I use pamac to build the very few aur packages I use, proton-ge-custom-bin is one of them, and it has been working flawlessly since I started using it a long time ago.

I use @linux-aarhus script to inform me via notification when there are updates.

For the last 3-4 days I have not been able to update proton-ge with the pamac error: (I figured I wait in case this was an error on the aur side that might be fixed, but a few days has passed and still not working)

$ pamac build proton-ge-custom-bin

Preparing...
Cloning proton-ge-custom-bin build files...
Generating proton-ge-custom-bin information...
==> ERROR: install file (pleasenote.install) does not exist or is not a regular file.
Error: Failed to prepare transaction: Failed to generate proton-ge-custom-bin information

I can not find any pamac.log anywhere and the pacman logs shows nothing because pamac fails before pacman is even called (it seems, the logs show nothing about this at least, but cura from aur shows after a successful build with pamac)

I checked the aur page (AUR (en) - proton-ge-custom-bin) and read the PKGBUILD page (PKGBUILD - aur.git - AUR Package Repositories), but I am no expert in this.
On line 58 install=pleasenote.install but how do I check that the file actually exists like pamac complains about?

It also seems to not clone anything unless I suddenly have a 1000Tbit connection and it downloads in 0.1s. Maybe there is a cache somewhere that is messing things up?

Thanks in advance.

The file should exist next to the PKGBUILD and according to aur.git - AUR Package Repositories it exist alright.

I use the native method as I use repoctl to maintain a repo (Index of /nixrepo) and pamac doesn’t store the package in my repo folder like makepkg does.

git clone https://aur.archlinux.org/<pkgname>

When I need rebuilding - it usually goes like this

cd <pkgname>
git pull
makepkg -i

I don’t know what the equivalent is for pamac.

According to the content of the file - it is only an install message telling you to add yourself to the games group

clone check
 $ git clone https://aur.archlinux.org/proton-ge-custom-bin.git
Cloning into 'proton-ge-custom-bin'...
remote: Enumerating objects: 777, done.
remote: Counting objects: 100% (777/777), done.
remote: Compressing objects: 100% (388/388), done.
remote: Total 777 (delta 388), reused 776 (delta 387), pack-reused 0
Receiving objects: 100% (777/777), 402.60 KiB | 5.30 MiB/s, done.
Resolving deltas: 100% (388/388), done.

 $ cd proton-ge-custom-bin/
/home/fh/proton-ge-custom-bin

[master] $ ls
changelog.md  launcher.sh  pam_limits.conf  PKGBUILD  pleasenote.install  user_settings.py

[master] $ cat pleasenote.install 
post_install() {
    ## Wine wants to adjust niceness of a process up to -10. It will complain if RLIMIT_NICE will not allow this.
    ## Since niceness is limited to 0 by default on arch, we make this work with pam login by setting nice limit to -10 for users in group games.
    ## See file /etc/security/limits.d/10-games.conf.
    echo ""
    echo "The wine executable used by proton can automatically set the niceness of a process;"
    echo "Consider adding yourself to the games group to make this work by issuing: usermod -a -G games"
    echo ""
}

post_upgrade() {
  post_install
}

This text will be hidden

this file display only test TODO after install

with pamac, we can edit plgbuild (and comment line install=pleasenote.install)

Are you saying I should comment OUT the line with a #?
Then where is this file on my computer (noob question, sry)? :open_mouth:

I think it has to do with caching somehow, since the cloning goes sooo fast?

If i run pamac clean -b -d -v it shows me my built aur packages:

/var/tmp/pamac-build-bedna/rar
/var/tmp/pamac-build-bedna/spotify
/var/tmp/pamac-build-bedna/usbimager
/var/tmp/pamac-build-bedna/cura-bin
/var/tmp/pamac-build-bedna/manly-git
/var/tmp/pamac-build-bedna/proton-ge-custom-bin
/var/tmp/pamac-build-bedna/vmware-workstation

Can I remove ONLY the prtoton-ge somehow or should I maybe uninstall and then reinstall instead?
(should I just sudo rm /var/tmp/pamac-build-bedna/proton-ge-custom-bin?)

I know extra/protonup-qt exists, but I’d rather just build directly since it has been working flawlessly so far.
Besides, I should probably learn/understand these things.

It works for me with paru -S proton-ge-custom-bin

Yeah, that was going to be my next question, if I should use another application, I have never used paru but I do know and have yay.

But again, I would like to know how pamac would react with that.

As I showed above, pamac KNOWS about the installation, I do not want to risk breaking things further but rather repair what is broken now.

PedroHLC commented on 2021-07-27 19:39 (UTC)

The “chaotic-aur” co-maintainer is a bot that pulls any merged PR in GitHub - chaotic-aur/pkgbuild-proton-ge-custom-bin: PKGBUILD for "pkgbuild-proton-ge-custom-bin". As seen in AUR. back to this package. So if you guys have contributions or bump versions earlier than the maintainer, please share them as PRs. The commits will keep your authorship.

which would be in that folder

great idea - this will ensure you get a fresh clone

Don’t worrry - you don’t

1 Like

Yepp, after removing the files a fresh install commenced.

Thank you! <3

However:

It did not.

  -rw-r--r-- 1 bedna bedna      2408 Nov 28 20:00 .SRCINFO
  drwxr-xr-x 1 bedna bedna       168 Nov 29 17:13 .git
  -rw-r--r-- 1 bedna bedna 442775618 Oct 31 14:52 GE-Proton8-22_1.tar.gz
  -rw-r--r-- 1 bedna bedna 442887536 Nov  8 17:32 GE-Proton8-23_1.tar.gz
  -rw-r--r-- 1 bedna bedna 428720199 Nov 20 16:06 GE-Proton8-24_1.tar.gz
  -rw-r--r-- 1 bedna bedna      4006 Nov 28 20:00 PKGBUILD
  -rw-r--r-- 1 bedna bedna    107844 Nov 28 20:00 changelog.md
  -rwxr-xr-x 1 bedna bedna      7297 Oct 16 20:15 launcher.sh
  -rw-r--r-- 1 bedna bedna        18 Oct 16 20:15 pam_limits.conf
  -rwxr-xr-x 1 bedna bedna      5238 Oct 16 20:15 user_settings.py

Edit
And in the new cache, there it is (and a file called .gitignore):

  -rw-r--r-- 1 bedna bedna      2408 Nov 29 17:10 .SRCINFO
  drwxr-xr-x 1 bedna bedna       152 Nov 29 17:17 .git
  -rw-r--r-- 1 bedna bedna        62 Nov 29 17:10 .gitignore
  -rw-r--r-- 1 bedna bedna 428716716 Nov 29 17:16 GE-Proton8-25_1.tar.gz
  -rw-r--r-- 1 bedna bedna      4006 Nov 29 17:10 PKGBUILD
  -rw-r--r-- 1 bedna bedna    107844 Nov 29 17:10 changelog.md
  -rwxr-xr-x 1 bedna bedna      7297 Nov 29 17:10 launcher.sh
  -rw-r--r-- 1 bedna bedna        18 Nov 29 17:10 pam_limits.conf
  -rw-r--r-- 1 bedna bedna       591 Nov 29 17:10 pleasenote.install
  -rwxr-xr-x 1 bedna bedna      5238 Nov 29 17:10 user_settings.py

Pamac bug?

no - the .gitignore - is a file added by the maintainer of the repo.

It contains info on which files to ignore when changes to a repo is commited.

But why is that not getting synced?

Preparing...
Cloning proton-ge-custom-bin build files...
Generating proton-ge-custom-bin information...
==> ERROR: install file (pleasenote.install) does not exist or is not a regular file.
Error: Failed to prepare transaction: Failed to generate proton-ge-custom-bin information

I mean, “Cloning proton-ge-custom-bin build files…”, that looks like a bug to me. :smiley:

Why would you think that?

pamac uses the git clone command - so there is something else going on.

I just did a make -s in the repo I cloned earlier (I will recheck in moment using pamac build)

build result
[master] $ makepkg -s
==> Making package: proton-ge-custom-bin 1:GE_Proton8_25-1 (ons 29 nov 2023 18:06:27 CET)
==> Checking runtime dependencies...
==> Installing missing dependencies...
[sudo] password for fh: 
resolving dependencies...
looking for conflicting packages...

Package (14)                          New Version  Net Change  Download Size

multilib/lib32-colord                 1.4.6-1        0,38 MiB       0,11 MiB
multilib/lib32-gstreamer              1.22.7-1       3,38 MiB       1,01 MiB
multilib/lib32-gtk3                   1:3.24.38-1   10,30 MiB       2,85 MiB
multilib/lib32-lcms2                  2.15-1         0,42 MiB       0,16 MiB
multilib/lib32-libepoxy               1.5.10-1       1,09 MiB       0,21 MiB
multilib/lib32-librsvg                2:2.57.0-1     4,41 MiB       1,53 MiB
multilib/lib32-libxkbcommon           1.6.0-1        0,33 MiB       0,13 MiB
multilib/lib32-libxv                  1.0.12-1       0,02 MiB       0,01 MiB
multilib/lib32-orc                    0.4.34-1       0,72 MiB       0,19 MiB
extra/ffmpeg4.4                       4.4.4-3       24,50 MiB       8,65 MiB
multilib/lib32-gst-plugins-base-libs  1.22.7-1       5,44 MiB       1,56 MiB
multilib/lib32-libgudev               238-1          0,04 MiB       0,01 MiB
multilib/lib32-speex                  1.2.1-1        0,10 MiB       0,05 MiB
multilib/lib32-vkd3d                  1.9-1          1,09 MiB       0,40 MiB

Total Download Size:   16,87 MiB
Total Installed Size:  52,23 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 lib32-gstreamer-1.22.7-1-x86_64      1038,8 KiB  2,36 MiB/s 00:00 [------------------------------------] 100%
 lib32-vkd3d-1.9-1-x86_64              410,8 KiB  3,89 MiB/s 00:00 [------------------------------------] 100%
 lib32-libepoxy-1.5.10-1-x86_64        217,1 KiB  3,37 MiB/s 00:00 [------------------------------------] 100%
 lib32-librsvg-2:2.57.0-1-x86_64      1562,6 KiB  1953 KiB/s 00:01 [------------------------------------] 100%
 lib32-orc-0.4.34-1-x86_64             191,7 KiB  2,67 MiB/s 00:00 [------------------------------------] 100%
 lib32-lcms2-2.15-1-x86_64             164,6 KiB  2,68 MiB/s 00:00 [------------------------------------] 100%
 lib32-gst-plugins-base-libs-1.22...  1592,8 KiB  1695 KiB/s 00:01 [------------------------------------] 100%
 lib32-gtk3-1:3.24.38-1-x86_64           2,8 MiB  3,02 MiB/s 00:01 [------------------------------------] 100%
 lib32-libxkbcommon-1.6.0-1-x86_64     133,1 KiB  1372 KiB/s 00:00 [------------------------------------] 100%
 lib32-colord-1.4.6-1-x86_64           116,6 KiB  2,11 MiB/s 00:00 [------------------------------------] 100%
 lib32-speex-1.2.1-1-x86_64             54,3 KiB  1234 KiB/s 00:00 [------------------------------------] 100%
 lib32-libgudev-238-1-x86_64            14,1 KiB   157 KiB/s 00:00 [------------------------------------] 100%
 lib32-libxv-1.0.12-1-x86_64             9,9 KiB   114 KiB/s 00:00 [------------------------------------] 100%
 ffmpeg4.4-4.4.4-3-x86_64                8,6 MiB  6,03 MiB/s 00:01 [------------------------------------] 100%
 Total (14/14)                          16,9 MiB  11,6 MiB/s 00:01 [------------------------------------] 100%
(14/14) checking keys in keyring                                   [------------------------------------] 100%
(14/14) checking package integrity                                 [------------------------------------] 100%
(14/14) loading package files                                      [------------------------------------] 100%
(14/14) checking for file conflicts                                [------------------------------------] 100%
(14/14) checking available disk space                              [------------------------------------] 100%
:: Processing package changes...
( 1/14) installing lib32-vkd3d                                     [------------------------------------] 100%
( 2/14) installing ffmpeg4.4                                       [------------------------------------] 100%
Optional dependencies for ffmpeg4.4
    avisynthplus: AviSynthPlus support
    intel-media-sdk: Intel QuickSync support
    ladspa: LADSPA filters
    nvidia-utils: Nvidia NVDEC/NVENC support
( 3/14) installing lib32-speex                                     [------------------------------------] 100%
( 4/14) installing lib32-lcms2                                     [------------------------------------] 100%
( 5/14) installing lib32-colord                                    [------------------------------------] 100%
( 6/14) installing lib32-libepoxy                                  [------------------------------------] 100%
( 7/14) installing lib32-librsvg                                   [------------------------------------] 100%
( 8/14) installing lib32-libxkbcommon                              [------------------------------------] 100%
( 9/14) installing lib32-gtk3                                      [------------------------------------] 100%
(10/14) installing lib32-gstreamer                                 [------------------------------------] 100%
(11/14) installing lib32-orc                                       [------------------------------------] 100%
(12/14) installing lib32-libxv                                     [------------------------------------] 100%
(13/14) installing lib32-gst-plugins-base-libs                     [------------------------------------] 100%
(14/14) installing lib32-libgudev                                  [------------------------------------] 100%
:: Running post-transaction hooks...
(1/4) Arming ConditionNeedsUpdate...
(2/4) Refreshing PackageKit...
(3/4) Probing 32-bit GDK-Pixbuf loader modules...
(4/4) Probing 32-bit GTK3 input method modules...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GE-Proton8-25_1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  408M  100  408M    0     0  13.0M      0  0:00:31  0:00:31 --:--:-- 13.3M
  -> Found user_settings.py
  -> Found launcher.sh
  -> Found pam_limits.conf
==> Validating source files with sha512sums...
    GE-Proton8-25_1.tar.gz ... Passed
    user_settings.py ... Passed
    launcher.sh ... Passed
    pam_limits.conf ... Passed
==> Extracting sources...
  -> Extracting GE-Proton8-25_1.tar.gz with bsdtar
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "proton-ge-custom-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding changelog file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: proton-ge-custom-bin 1:GE_Proton8_25-1 (ons 29 nov 2023 18:07:17 CET)
pamac build proton-ge-custom-bin
pamac build result
 $ pamac build proton-ge-custom-bin
Preparing...
Checking proton-ge-custom-bin dependencies...
Resolving dependencies...
Checking inter-conflicts...

To build (1):
  proton-ge-custom-bin  1:GE_Proton8_16-1    AUR


Edit build files : [e] 
Apply transaction ? [e/y/N] y

Cloning proton-ge-custom-bin build files...
Generating proton-ge-custom-bin information...
==== AUTHENTICATING FOR org.manjaro.pamac.commit ====
Authentication is required to install, update, or remove packages
Authenticating as: FH (fh)
Password: 
==== AUTHENTICATION COMPLETE ====

Building proton-ge-custom-bin...
==> Making package: proton-ge-custom-bin 1:GE_Proton8_25-1 (ons 29 nov 2023 18:09:19 CET)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Downloading GE-Proton8-25_1.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100  408M  100  408M    0     0  13.3M      0  0:00:30  0:00:30 --:--:-- 13.3M
  -> Found user_settings.py
  -> Found launcher.sh
  -> Found pam_limits.conf
==> Validating source files with sha512sums...
    GE-Proton8-25_1.tar.gz ... Passed
    user_settings.py ... Passed
    launcher.sh ... Passed
    pam_limits.conf ... Passed
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Extracting GE-Proton8-25_1.tar.gz with bsdtar
==> Starting build()...
==> Entering fakeroot environment...
==> Starting package()...
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "proton-ge-custom-bin"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Adding changelog file...
  -> Adding install file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: proton-ge-custom-bin 1:GE_Proton8_25-1 (ons 29 nov 2023 18:09:59 CET)
==> Cleaning up...

Checking keyring...                                                                                                         [1/1]
Checking integrity...                                                                                                       [1/1]
Loading packages files...                                                                                                   [1/1]
Checking file conflicts...                                                                                                  [1/1]
Checking available disk space...                                                                                            [1/1]
Installing proton-ge-custom-bin (1:GE_Proton8_25-1)...                                                                      [1/1]

The wine executable used by proton can automatically set the niceness of a process;
Consider adding yourself to the games group to make this work by issuing: usermod -a -G games

Running post-transaction hooks...
Arming ConditionNeedsUpdate...                                                                                              [1/2]
Refreshing PackageKit...                                                                                                    [2/2]
Transaction successfully finished.

So thinking - are you by any chance using btrfs ?

1 Like

Yeah I don’t know buddy. You have the same info I have.
If the clone failed because a cache exists, I want to call that a bug, but idk what the actual clone command is that pamac uses, I can’t find any logs. xD

But it worked if I remove the cache so… that’s where we are… :smiley:

I have seen - and experienced - btrfs go bonkers before …

I do, but what has that got to do with anything?
The files are fine, I can timeshift back and redo to make 100% sure that is the reason if you want?

I even still have the old cache file dir, I just renamed it. xD
(I actually rather timeshift back than remove proton-ge and try to reinstall with the old cache dir)

Just a thought - as the system complains about the install file not being a regular file - if it is not a problem then let be …

Naa, you can see in the ls command that the file is simply not there. The maintainer might have added it as you say. I can check in an old timeshift if you want.

Edit
@linux-aarhus
Ok, pleasenote.install just randomly dissapears on nov 23. I have no explanation.
I checked every snapshot back and found it on nov 22 but not 23.

Then I guess it’s not a bug, but why not just clone even if one file is gone in the cache? I still feel that is a bug. but the disappearance, that’s the BIG mystery!

Edit 2. Or wait, was that maybe the date the lates version of proton-ge-custom-bin was released and the initial pamac build failed or something?
I would really LOVE some logs here since this is the ONLY thing I ever do with pamac. xD xD xD

Edit 3
proton-ge-custom-bin AUR

Last Updated: 2023-11-27 22:13 (UTC)

My memory is excellent, just very short… xD

Perhaps it helps to understand the issue when one knows what is going on during the build.

As pamac uses libalpm most of the process is the same whether produced by makepkg or pamac (apart from the authentication, installation, cleanup etc.)

  1. source(s) gets downloaded into the PKBBUILD folder
  2. source(s) gets validated using checksum and using gpg (if valid keys array has content)
  3. source(s) gets unpacked into $srcdir (./src)
  4. additional files in the PKGBUILD root folder is symlinked into $srcdir
  5. functions from PKGBUILD is executed
  6. process result is copied to $pkgdir (./pkg)
  7. various files required to install is generated in $pkgdir
    • .BUILDINFO
    • .MTREE
    • .PKGINFO
    • .CHANGELOG (if defined)
    • .INSTALL (if defined)
    • perhaps more - these are just the ones I know of
  8. $pkgdir is compressed into package (in case of split packaging several packages)
  9. The lot is installed using libalpm

Your issue revolves around the symlinking of the .install file to the $srcdir.

For reasons unknown the symlinking fails and libalpm complains that the file defined in the PKGBUILD is not there or empty.

I suspect this is caused by btrfs. I vaguely recollect a memory of my incidents with btrfs - they back 3-4 years - it was little things - my .zshrc went haywire - other small files got corrupted - I had no understanding of btrfs and the documentation was hard to read - perhaps my incidents was caused by ignorance - I don’t know.

The /var/tmp folder is not on a separate subvol with a Manjaro default btrfs filesystem - perhaps it should be - just like /var/log and /var/cache.

If you have the option - I suggest you create a pamac build folder on an ext4 filesystem - then adjust /etc/pamac.conf to use the new folder - either manually edit or use Preferences to move the build folder.

I am fairly certain your issue disappears like summer morning fog.

If that is the case - I suggest you take precautionary measures - housekeeping for your filesystem. You can find relevant info within the Btrfs Maintenance - Manjaro page.

As I recall the incidents - where my btrfs went bonkers - I had to wipe the disk.

Yes - my whole setup is derived from two incidents where btrfs puked the filesystem - I have no important data on btrfs - entirely on ext4, as a precaution - my personal files stored with my proton drive and all source code is hosted external on github, codeberg and my personal scm. The projects on behalf om my employer is stored on yet a fourth git instance on their network.


Just some interesting reading

1 Like

I am a bit conservative with running scrubs on my system, but I have a timer that runs it once per month. The next one is in a few days, will be interesting to see if it reports anything.

Last run reported no errors.

UUID:             700d034d-b99a-482b-880b-9060acf3a6b3
Scrub started:    Thu Nov  9 13:25:55 2023
Status:           finished
Duration:         0:03:28
Total to scrub:   58.86GiB
Rate:             242.40MiB/s
Error summary:    no errors found

Thank you for the lenghty explanation.
I guess we have to blame this on gremlins in the system, but it will be interesting to see if btrfs scrub detects this.

That is not a bad idea. I have ONE ext4 partition for my games… But then on the other hand, this is the first time it has happened, but if it happens again I will def keep this in mind. Thank you.

Oh, so that’s where all the btrfs “hate” comes from. :yum:

I have backups on multiple locations (on top of snapshots) so I do not feel particularly worried about this, even if you try to scare me away from btrfs. :stuck_out_tongue_winking_eye:

Oh - I wouldn’t - that is entirely your decision - but you likely know a similar saying ‘brændt barn skyr ilden’

1 Like