New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fedora package executables do not have the correct mode #5122
Comments
Is this a new issue with 2.0.7.101? The spec file that sets permissions has not change recently: |
I'm thinking 2.0.7.100 was OK, but it's sort of an indirect observation via tools, e.g. |
I downgraded the package on one server and it installed the files with the correct permissions. So I'd agree that it wasn't an issue in the previous version. |
This issue has been mentioned on Duplicati. There might be relevant details there: https://forum.duplicati.com/t/release-2-0-7-101-canary-2024-03-08/17514/3 |
Saw this on the forum, I only have one system running Duplicati on Fedora, but it's v38 and I didn't get the error, running ok - neither of my FC38 installs can be upgraded to FC39 yet, and probably not for a few months as I wait for various packages get updated. |
Weirdly, the file permissions are correctly set in the package. I'll try to find out what's changing the modes under F39.
|
Sorry, I had checked the wrong package and have only just realised. Those results were for 2.0.7.100 not 101. It seems the file permissions are not correct in the package after all. Also, the binary files in both packages have the same creation date - that's very unusual when building binary packages so maybe the build failed in some way.
|
Although I think I saw the odd times on 2.0.7.100 (as above), what's setting all these file modification times so evenly?
@Taomyn can you try some testing like the above? We seem to have several oddities going on. Which are you seeing? EDIT:
https://manpages.ubuntu.com/manpages/noble/man5/cpio.5.html
|
@ts678 I ran the same commands on my Fedora server:
|
Are you running Duplicati as a systemd service, typically start at boot, run as root? Have you restarted Duplicati since that install? |
I always stop Duplicati before the upgrade and if necessary manually start it afterwards. Upgraded using "dnf update ./,,,,,,"
|
I'm not a systemd expert, but I don't know why the above run is seemingly managing to Become a systemd guru has what might be the file, and uses
but if you also have an Regardless of how systemd is managing to work, I'm tentatively going to say thank you for confirming permissions went wrong... |
FYI, I have updated one of my Fedora 38 servers to 39, procedure went smoothly and everything is still working like before. The Duplicati service looks fine but I won't know about backups until tomorrow. |
Are the /usr/bin/duplicati* working manually? I assume no, but typing Regarding the (probably less important) source of the Jan 21 2021 file timestamp, I did notice:
Is this just a coincidence? The spec file has changed a little, but the changelog has not updated. |
Correct
|
I updated two things: change license and do not delete a non-existing file. |
I think that is because the binary files are really just shell-script launchers, so they rarely change: |
I don't either, but I was talking about the less important date set -- which happens somehow to be changelog date.
I can't concur on that idea, as all of the files had that date set, as I showed in my post on If you don't like my
Aliyun is a 2024 addition, right, not a 2021? If you can get a look at the files in the build area, you might be able to isolate actions on files using various stamps:
|
More clues. Whatever is setting a bad mode set a few others wrong:
EDIT: but we can't say it set all the
|
I see, I was not paying close enough attention to the dates. It certainly looks wrong. But since "nothing" has changed in the Duplicati build (it is done on the same machine), it could be something related to RPM, either the build tools (installed fresh via Docker) or the install tool on the machine. |
I don't know what it is. Looking for clues. One other (to continue from edit of last post) is that the
I don't see them on an older (and non-RPM) installtion, so I'm not sure what's correct for whatever these files mean to be for. duplicati/Installer/fedora/duplicati-binary.spec Lines 14 to 15 in fc5289b
|
I think those files are an artifact of building on MacOS. They should be deleted from the builds before packaging. The mangler could be causing trouble, if the exclusion will also prevent them from being executable. |
maybe maps to this: duplicati/Installer/fedora/duplicati-binary.spec Lines 131 to 134 in fc5289b
and (though the folder is different, and I'm not up on spec files)
I'm searching for The previous note on timestamps might (if action times are known) be able to distinguish between file birth date and changes (possibly lack of changes too) at some later point in the process. |
To the best of my knowledge:
Should copy the source file Based on your post with cpio, it looks like the bundle is not being created with the correct permissions (assuming it is not done at install time). |
After a ton of debugging while creating the new installer system, I think I have found the problem. It is because Docker deskop (i.e. Docker on MacOS) is not correctly handling permissions with mounted folders. I have made a workaround that copies the contents to a native Docker folder (i.e. not mounted), building there, and then copying the result back to the mounted folder, and this seems to work. |
Wow. These strange and unpredictable quirks are a pain. I'm happy you devised a workaround to get the permissions set up right. |
This issue is unsurprisingly happening on openSUSE (and very possibly SUSE) too. KDE 6 alerts that file isn't executable when clicked from "start menu", when you just make it executable it will still fail, making all duplicati* on /usr/bin makes no difference. |
The title of this issue is that the executables do not have correct mode. Based on the comments by @Taomyn & @simontuckwell , manually setting the executable bits fixes the problem. @IlgazC What errors do you see when you make the files executable manually? |
Reported in No duplicati.service file on Centos 7 install #2540, and I'm surprised it's not reported much.
How about doing a test from terminal shell, say type |
Description
The executables in duplicati-2.0.7.101-2.0.7.101_canary_20240308.noarch.rpm do not have read and executable file permissions.
A temporary fix is to alter the permissions using chmod after installing the package.
Steps to reproduce
Debug log
The text was updated successfully, but these errors were encountered: