[Pkg-electronics-devel] Bug#1127368: kicad: KiCad changes files without reason or authorization
Carsten Schoenert
c.schoenert at t-online.de
Sun Mar 15 08:21:11 GMT 2026
Hello Matthias,
Am 07.02.26 um 14:28 schrieb Matthias Brennwald:
> KiCad changes files without reason or authorization.
>
> Steps to reproduce:
> * Open a KiCad file
> * Double click on an element to see details
> * Close the file
> * --> KiCad asks if the changes should be saved, although nothing was
> changed.
> * --> User clicks "Discard" to prevent changing the file anyway.
> * --> The file gets changed (new timestamp), although KiCad was told to not
> change it.
Has the content of the file changed? I guess no.
If not than the behavior isn't issue and a normal thing that is happen
due how filesystems do work.
An example.
Given we create a new file 'testfile.txt' and we look at the low level
file properties which are created by the tool stat.
> $ echo -e "Current time: $(date '+%F %H:%M:%S.%N')\n" && echo "test data" > testfile.txt && LANG= stat testfile.txt
> Current time: 2026-03-15 10:04:20.999735307 <--- The output of the date call.
>
> File: testfile.txt <--- The output of the stat command.
> Size: 10 Blocks: 8 IO Block: 4096 regular file
> Device: 259,3 Inode: 1713991 Links: 1
> Access: (0664/-rw-rw-r--) Uid: ( 1000/ carsten) Gid: ( 1000/ carsten)
> Access: 2026-03-15 10:04:20.997852751 +0200
> Modify: 2026-03-15 10:04:20.997852751 +0200
> Change: 2026-03-15 10:04:20.997852751 +0200
> Birth: 2026-03-15 10:04:20.997852751 +0200
You can see the file is created with four dedicated values about
different times. As the file was just created all the parameters have
the same timestamp!
Now do just using the cat command, means we will read the file.
> $ echo -e "Current time: $(date '+%F %H:%M:%S.%N')\n" && cat testfile.txt && LANG= stat testfile.txt
> Current time: 2026-03-15 10:04:49.073065930
>
> test data
> File: testfile.txt
> Size: 10 Blocks: 8 IO Block: 4096 regular file
> Device: 259,3 Inode: 1713991 Links: 1
> Access: (0664/-rw-rw-r--) Uid: ( 1000/ carsten) Gid: ( 1000/ carsten)
> Access: 2026-03-15 10:04:49.071198334 +0200 <-----
> Modify: 2026-03-15 10:04:20.997852751 +0200
> Change: 2026-03-15 10:04:20.997852751 +0200
> Birth: 2026-03-15 10:04:20.997852751 +0200
The timestamp has only changed for the Access entry as it was a read
only access.
Now open the file in a editor, change nothing but save the file while
closing.
> $ echo -e "Current time: $(date '+%F %H:%M:%S.%N')\n" && LANG= stat testfile.txt
> Current time: 2026-03-15 10:07:46.117659114
>
> File: testfile.txt
> Size: 10 Blocks: 8 IO Block: 4096 regular file
> Device: 259,3 Inode: 1713991 Links: 1
> Access: (0664/-rw-rw-r--) Uid: ( 1000/ carsten) Gid: ( 1000/ carsten)
> Access: 2026-03-15 10:05:07.320072273 +0200 <-----
> Modify: 2026-03-15 10:05:05.683993944 +0200 <-----
> Change: 2026-03-15 10:05:05.687994136 +0200 <-----
> Birth: 2026-03-15 10:04:20.997852751 +0200
Now it is visible that the timestamp for the Access, Modify and Change
has been changed. But the content is still the same.
If you still think the behavior is a bug you will need to address this
issue upstream, Debian is not doing any special things, we do just
package the upstream data with just some minor modifications about the
apptsream data and the string of the Release version.
Further information can be found also here.
https://linuxconfig.org/check-file-access-and-modification-time-in-linux
--
Regards
Carsten
More information about the Pkg-electronics-devel
mailing list