Today I ran into an issue which prevented me from installing updates. See snippet below.

xxxx@xxxx ~ $ sudo eopkg up
Updating repositories
Updating repository: Solus
eopkg-index.xml.xz.sha1sum (40.0 B)100% 630.15 KB/s [00:00:00] [complete]
Solus repository information is up-to-date.
System error. Program terminated.
[Errno 2] No such file or directory: '/var/lib/eopkg/package/libinput-1.18.1-36/metadata.xml'
Please use 'eopkg help' for general help.
Use --debug to see a traceback.

Because of this, I can't do a full system update.

I discovered this when I opened discord and it started trying to get me to download a .deb to update. I closed the discord window, went to the Software Center, and waited for the updates tab to load. It was taking a bit longer than usual, so I decided to just go for command line. The result is the error above.

I did a bit of research and found this but unforturnately their solution didn't work for me. sudo eopkg rdb fails with the following output:

xxxx@xxxx ~ $ sudo eopkg rdb
Rebuild eopkg databases? (yes/no)yes
Adding 'gnome-themes-extra' to db... OK.
Adding 'pam-devel' to db... OK.
... (Lots of things going OK) ...
Adding 'libsoxr' to db... OK.
Adding 'libinput' to db... No handlers could be found for logger "pisi"
Program terminated.
Unable to read file (/var/lib/eopkg/package/libinput-1.18.1-36/files.xml): [Errno 2] No such file or directory: '/var/lib/eopkg/package/libinput-1.18.1-36/files.xml'
Please use 'eopkg help' for general help.

I took a look at the path specified. It turns out /var/lib/eopkg/libinput-1.18.1-36/ does exist, but is an empty directory.

I also tried 'sudo usysconf run -f` per this reddit post but no luck here either. All the checks pass, but I still have the same issue when trying to update.

I've tried sudo eopkg it --reinstall libinput but this fails with the same error. Also tried downloading the libinput official .eopkg file, but this fails as well. It seems that eopkg can't uninstall the package because files.xml and metadata.xml don't exist.

Anybody got any ideas?

(P.S. I was able to get discord updated using sudo eopkg up discord, but I still kinda need to be able to update my system otherwise)

    infinitymdm It seems that eopkg can't uninstall the package because files.xml and metadata.xml don't exist.

    You can create manually those files, just empty files and then try to reinstall libinput sudo eopkg it --reinstall libinput.

      algent I actually already started down this path as well. I created files.xml and metadata.xml as empty files and tried doing the reinstall, but got "invalid XML" errors. So I looked at the files for another package and started adding tags, but I kept getting "missing tag" errors. I admit I didn't go very deep, but I really wasn't sure whether this was the right course of action.

      Is there a standard format for these XML files? If so, is it reasonable for me to just copy them from another package and remove/modify the data?

        An update on the state of my system: last night I was having some new issues with Steam failing to recognize my Xbox controller. I could connect it using Bluetooth just fine, but it would not show up in Steam's controller configuration page and games did not respond to input. To be fair, I didn't really try to troubleshoot this very much, but I suspect it may be related considering it's libinput that's messing up here. I'll do some real troubleshooting this evening and put my results here.

        infinitymdm You can exctract manually the files of libinput that you have donwloaded here:
        https://packages.getsol.us/shannon/libi/libinput/libinput-1.18.1-36-1-x86_64.eopkg
        Create a directory test and then extract the eopkg there with this command:
        uneopkg libinput-1.18.1-36-1-x86_64.eopkg test. The extracted files are in test folder to avoid any mess in main folder. Then try to manually copy files.xml and metadata.xml to system folder where it belong.

        After this try to rebuild database. sudo eopkg rdb

          zmaint I have tried sudo eopkg check. Unfortunately this fails with a similar error to those shown in the original post: missing files.xml / metadata.xml.

          I did take a look at the output of eopkg history, as this has helped me fix things in the past. However, the most recent entry was from the 24th, and things were working on the 25th and 26th.

          algent Using this method I was able to get things working again. Apparently libdbusmenu was also having the same problem, but I was able to fix by downloading the official package and reinstalling.

          I rebuilt the database, checked for errors, and was able to update my system once more. Thanks for your help!

            a month later

            Hello. This is the only place I've seen someone experience this issue as well, so I have to grab onto this thread. Today, I've installed Solus Plasma on my SSD while having Windows on a separate NVMe drive. I had trouble with trying to get Solus 4.3 to boot so had to resort to 4.1. After I got it fired up & installed without issues, I've rebooted the system for all the changes to take effect. To my surprise, the system does not boot anymore. It just gets stuck on a black screen with a blinking cursor in the upper left-hand corner, however I am able to change into another TTY session with the F-keys. Trying to update the system by doing sudo eopkg up. it gives me an error about missing file(s), especially metadata.xml. I am unable to do anything update-wise to the system as every similiar command to the one mentioned above results in the aforementioned error.

            What could be the reason for it? Missing GPU drivers? Something not playing well with my mobo? The metadata.xml was related to Kross if I remember correctly

              nolan Sadly, it didn't. Any commands related to packages give me the missing file error which doesn't let me proceed