Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package fastfetch for openSUSE:Factory 
checked in at 2024-03-02 23:24:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fastfetch (Old)
 and      /work/SRC/openSUSE:Factory/.fastfetch.new.1770 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "fastfetch"

Sat Mar  2 23:24:11 2024 rev:18 rq:1154306 version:2.8.7

Changes:
--------
--- /work/SRC/openSUSE:Factory/fastfetch/fastfetch.changes      2024-02-28 
19:47:42.603098174 +0100
+++ /work/SRC/openSUSE:Factory/.fastfetch.new.1770/fastfetch.changes    
2024-03-02 23:24:30.693641970 +0100
@@ -1,0 +2,12 @@
+Sat Mar  2 13:13:39 UTC 2024 - Gordon Leung <piratec...@protonmail.com>
+
+- update to version 2.8.7:
+  Bugfixes:
+    * Fix max CPU frequency detection for some cases (CPU, Linux)
+    * Fix some memory leaks
+    * Fix ddcutil 2.1 compatibility (Brightness, Linux)
+  Features:
+    * Support zellij version detection (Linux, Terminal)
+
+
+-------------------------------------------------------------------

Old:
----
  fastfetch-2.8.6.tar.gz

New:
----
  fastfetch-2.8.7.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ fastfetch.spec ++++++
--- /var/tmp/diff_new_pack.0qOk6j/_old  2024-03-02 23:24:32.013689787 +0100
+++ /var/tmp/diff_new_pack.0qOk6j/_new  2024-03-02 23:24:32.029690366 +0100
@@ -17,7 +17,7 @@
 
 
 Name:           fastfetch
-Version:        2.8.6
+Version:        2.8.7
 Release:        0
 Summary:        Neofetch-like tool written mostly in C
 License:        MIT

++++++ fastfetch-2.8.6.tar.gz -> fastfetch-2.8.7.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/CHANGELOG.md 
new/fastfetch-2.8.7/CHANGELOG.md
--- old/fastfetch-2.8.6/CHANGELOG.md    2024-02-27 17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/CHANGELOG.md    2024-03-02 12:14:35.000000000 +0100
@@ -1,3 +1,17 @@
+# 2.8.7
+
+Bugfixes:
+* Fix max CPU frequency detection for some cases (CPU, Linux)
+* Fix some memory leaks
+* Fix ddcutil 2.1 compatibility (Brightness, Linux)
+* Workaround `permission denied` error when reading `/proc/uptime` (Uptime, 
Android)
+
+Features:
+* Support zellij version detection (Linux, Terminal)
+
+Logo:
+* Fix PostMarketOS
+
 # 2.8.6
 
 Changes:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/CMakeLists.txt 
new/fastfetch-2.8.7/CMakeLists.txt
--- old/fastfetch-2.8.6/CMakeLists.txt  2024-02-27 17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/CMakeLists.txt  2024-03-02 12:14:35.000000000 +0100
@@ -1,7 +1,7 @@
 cmake_minimum_required(VERSION 3.12.0) # target_link_libraries with OBJECT 
libs & project homepage url
 
 project(fastfetch
-    VERSION 2.8.6
+    VERSION 2.8.7
     LANGUAGES C
     DESCRIPTION "Fast neofetch-like system information tool"
     HOMEPAGE_URL "https://github.com/fastfetch-cli/fastfetch";
@@ -122,7 +122,7 @@
     set(FASTFETCH_FLAGS_DEBUG "${FASTFETCH_FLAGS_DEBUG} -fsanitize=address")
 endif()
 set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${FASTFETCH_FLAGS_DEBUG}")
-set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} 
${FASTFETCH_FLAGS_DEBUG}")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} 
${FASTFETCH_FLAGS_DEBUG} -fstack-protector-all -fno-delete-null-pointer-checks")
 if(NOT WIN32)
     set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} 
-rdynamic")
 endif()
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/debian/changelog 
new/fastfetch-2.8.7/debian/changelog
--- old/fastfetch-2.8.6/debian/changelog        2024-02-27 17:04:20.000000000 
+0100
+++ new/fastfetch-2.8.7/debian/changelog        2024-03-02 12:14:35.000000000 
+0100
@@ -1,3 +1,9 @@
+fastfetch (2.8.6) jammy; urgency=medium
+
+  * Update to 2.8.6
+
+ -- Carter Li <zhangsong...@live.cn>  Wed, 28 Feb 2024 10:01:40 +0800
+
 fastfetch (2.8.4) jammy; urgency=medium
 
   * Update to 2.8.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/debian/files 
new/fastfetch-2.8.7/debian/files
--- old/fastfetch-2.8.6/debian/files    2024-02-27 17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/debian/files    2024-03-02 12:14:35.000000000 +0100
@@ -1 +1 @@
-fastfetch_2.8.4_source.buildinfo universe/utils optional
+fastfetch_2.8.6_source.buildinfo universe/utils optional
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/doc/json_schema.json 
new/fastfetch-2.8.7/doc/json_schema.json
--- old/fastfetch-2.8.6/doc/json_schema.json    2024-02-27 17:04:20.000000000 
+0100
+++ new/fastfetch-2.8.7/doc/json_schema.json    2024-03-02 12:14:35.000000000 
+0100
@@ -30,6 +30,7 @@
         "percent": {
             "description": "Threshold of percentage colors",
             "type": "object",
+            "additionalProperties": false,
             "properties": {
                 "green": {
                     "type": "integer",
@@ -54,6 +55,7 @@
                 },
                 {
                     "type": "object",
+                    "additionalProperties": false,
                     "properties": {
                         "green": {
                             "type": "integer",
@@ -73,6 +75,7 @@
         }
     },
     "type": "object",
+    "additionalProperties": false,
     "title": "JSON config",
     "description": "JSON config file for fastfetch. Usually be 
`~/.config/fastfetch.jsonc`",
     "properties": {
@@ -95,6 +98,7 @@
                 {
                     "description": "Fastfetch logo configurations",
                     "type": "object",
+                    "additionalProperties": false,
                     "properties": {
                         "type": {
                             "description": "Set the type of the logo given",
@@ -122,6 +126,7 @@
                         },
                         "color": {
                             "type": "object",
+                            "additionalProperties": false,
                             "description": "Overwrite a color in the logo",
                             "properties": {
                                 "1": {
@@ -160,8 +165,7 @@
                                     "description": "Color 9",
                                     "$ref": "#/$defs/colors"
                                 }
-                            },
-                            "additionalProperties": false
+                            }
                         },
                         "width": {
                             "type": "integer",
@@ -175,6 +179,7 @@
                         },
                         "padding": {
                             "type": "object",
+                            "additionalProperties": false,
                             "description": "Set the padding of the logo",
                             "properties": {
                                 "top": {
@@ -192,8 +197,7 @@
                                     "description": "Set the right padding of 
the logo",
                                     "minimum": 0
                                 }
-                            },
-                            "additionalProperties": false
+                            }
                         },
                         "printRemaining": {
                             "type": "boolean",
@@ -217,6 +221,7 @@
                         },
                         "chafa": {
                             "type": "object",
+                            "additionalProperties": false,
                             "description": "Chafa configuration. See chafa 
document for details",
                             "properties": {
                                 "fgOnly": {
@@ -259,17 +264,16 @@
                                         "DIFFUSION"
                                     ]
                                 }
-                            },
-                            "additionalProperties": false
+                            }
                         }
-                    },
-                    "additionalProperties": false
+                    }
                 }
             ]
         },
         "general": {
             "description": "Fastfetch general configurations",
             "type": "object",
+            "additionalProperties": false,
             "properties": {
                 "multithreading": {
                     "type": "boolean",
@@ -325,12 +329,12 @@
                     "description": "Set the timeout (ms) when waiting for 
child processes, `-1` for no timeout",
                     "default": 1000
                 }
-            },
-            "additionalProperties": false
+            }
         },
         "display": {
             "description": "Configure how things to be displayed",
             "type": "object",
+            "additionalProperties": false,
             "properties": {
                 "stat": {
                     "type": "boolean",
@@ -371,6 +375,7 @@
                         },
                         {
                             "type": "object",
+                            "additionalProperties": false,
                             "properties": {
                                 "keys": {
                                     "description": "Set the color of the keys",
@@ -380,8 +385,7 @@
                                     "description": "Set the color of the 
title",
                                     "$ref": "#/$defs/colors"
                                 }
-                            },
-                            "additionalProperties": false
+                            }
                         }
                     ]
                 },
@@ -416,6 +420,7 @@
                 },
                 "size": {
                     "type": "object",
+                    "additionalProperties": false,
                     "description": "Set how a size value should be displayed",
                     "properties": {
                         "maxPrefix": {
@@ -435,6 +440,7 @@
                 },
                 "temp": {
                     "type": "object",
+                    "additionalProperties": false,
                     "description": "Set how temperature values should be 
displayed",
                     "properties": {
                         "unit": {
@@ -452,6 +458,7 @@
                         },
                         "color": {
                             "type": "object",
+                            "additionalProperties": false,
                             "description": "Set color used in different states 
of temperature values",
                             "properties": {
                                 "green": {
@@ -472,6 +479,7 @@
                 },
                 "bar": {
                     "type": "object",
+                    "additionalProperties": false,
                     "description": "Set the bar configuration",
                     "properties": {
                         "charElapsed": {
@@ -499,6 +507,7 @@
                 },
                 "percent": {
                     "type": "object",
+                    "additionalProperties": false,
                     "description": "Set how a percentage value should be 
displayed",
                     "properties": {
                         "type": {
@@ -517,6 +526,7 @@
                         },
                         "color": {
                             "type": "object",
+                            "additionalProperties": false,
                             "description": "Set color used in different states 
of percentage bars and numbers",
                             "properties": {
                                 "green": {
@@ -540,12 +550,12 @@
                     "description": "Whether to disable the stdout application 
buffer",
                     "default": false
                 }
-            },
-            "additionalProperties": false
+            }
         },
         "library": {
             "description": "Set the path of a library to load",
             "type": "object",
+            "additionalProperties": false,
             "properties": {
                 "pci": {
                     "type": "string",
@@ -647,8 +657,7 @@
                     "description": "Used for brightness detection of external 
displays (Linux)",
                     "type": "string"
                 }
-            },
-            "additionalProperties": false
+            }
         },
         "modules": {
             "description": "Fastfetch modules to run",
@@ -721,6 +730,7 @@
                     },
                     {
                         "type": "object",
+                        "additionalProperties": false,
                         "description": "Run module with custom configurations",
                         "required": [
                             "type"
@@ -733,16 +743,20 @@
                         "oneOf": [
                             {
                                 "title": "Break",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "break",
                                         "description": "Print a empty line"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
+                                "title": "module",
                                 "description": "No additional properties",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "anyOf": [
@@ -880,11 +894,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Battery",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "battery",
@@ -913,11 +928,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Bluetooth",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "List bluetooth 
devices",
@@ -943,11 +959,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Brightness",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "brightness",
@@ -967,6 +984,8 @@
                             },
                             {
                                 "title": "Chassis",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "chassis",
@@ -988,6 +1007,8 @@
                             },
                             {
                                 "title": "CPU",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print CPU name, 
frequency, etc",
@@ -1015,11 +1036,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "CPU Usage",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "cpuusage",
@@ -1037,6 +1059,8 @@
                             },
                             {
                                 "title": "Colors",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print some colored 
blocks",
@@ -1064,6 +1088,7 @@
                                     "block": {
                                         "description": "Set behavior of block 
printing",
                                         "type": "object",
+                                        "additionalProperties": false,
                                         "properties": {
                                             "width": {
                                                 "description": "Set the block 
width in spaces",
@@ -1088,6 +1113,8 @@
                             },
                             {
                                 "title": "Command",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Running custom shell 
scripts",
@@ -1113,11 +1140,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Custom",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print a custom string, 
with or without key",
@@ -1140,11 +1168,12 @@
                                 },
                                 "required": [
                                     "format"
-                                ],
-                                "additionalProperties": false
+                                ]
                             },
                             {
                                 "title": "Display",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print resolutions, 
refresh rates, etc",
@@ -1187,11 +1216,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Disk",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print partitions, 
space usage, disk type, etc",
@@ -1246,11 +1276,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "DiskIO",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print physical disk 
I/O throughput",
@@ -1277,11 +1308,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "DE",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "de",
@@ -1308,6 +1340,8 @@
                             },
                             {
                                 "title": "Gamepad",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "gamepad",
@@ -1328,11 +1362,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "GPU",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print GPU names, 
graphic memory size, type, etc",
@@ -1372,11 +1407,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Local IP",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "List local IP 
addresses (v4 or v6), MAC addresses, etc",
@@ -1428,11 +1464,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Memory",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "memory",
@@ -1453,11 +1490,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "NetIO",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print network I/O 
throughput",
@@ -1489,11 +1527,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "OpenGL",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print highest OpenGL 
version supported by the GPU",
@@ -1521,11 +1560,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Packages",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "packages",
@@ -1552,6 +1592,8 @@
                             },
                             {
                                 "title": "Physical Disk",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print physical disk 
information",
@@ -1576,11 +1618,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Public IP",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print your public IP 
address, etc",
@@ -1610,11 +1653,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Separator",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print a separator 
line",
@@ -1625,11 +1669,12 @@
                                         "type": "string",
                                         "default": "-"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Sound",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print sound devices, 
volume, etc",
@@ -1660,11 +1705,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Swap",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "swap",
@@ -1685,11 +1731,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Title",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print title, which 
contains your user name, hostname",
@@ -1702,6 +1749,8 @@
                                     },
                                     "color": {
                                         "description": "Set colors of the 
different part of title",
+                                        "type": "object",
+                                        "additionalProperties": false,
                                         "properties": {
                                             "user": {
                                                 "description": "Set color of 
the user name (left part)",
@@ -1715,8 +1764,7 @@
                                                 "description": "Set color of 
the host name (right part)",
                                                 "$ref": "#/$defs/colors"
                                             }
-                                        },
-                                        "additionalProperties": false
+                                        }
                                     },
                                     "key": {
                                         "$ref": "#/$defs/key"
@@ -1730,11 +1778,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "Weather",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "description": "Print weather 
information",
@@ -1767,11 +1816,12 @@
                                     "format": {
                                         "$ref": "#/$defs/format"
                                     }
-                                },
-                                "additionalProperties": false
+                                }
                             },
                             {
                                 "title": "WM",
+                                "type": "object",
+                                "additionalProperties": false,
                                 "properties": {
                                     "type": {
                                         "const": "wm",
@@ -1801,6 +1851,5 @@
                 ]
             }
         }
-    },
-    "additionalProperties": false
+    }
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fastfetch-2.8.6/src/detection/brightness/brightness_linux.c 
new/fastfetch-2.8.7/src/detection/brightness/brightness_linux.c
--- old/fastfetch-2.8.6/src/detection/brightness/brightness_linux.c     
2024-02-27 17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/detection/brightness/brightness_linux.c     
2024-03-02 12:14:35.000000000 +0100
@@ -114,7 +114,7 @@
     {
         FF_SUPPRESS_IO();
         // Ref: https://github.com/rockowitz/ddcutil/issues/344
-        if (ffddca_init("--disable-watch-displays", -1 
/*DDCA_SYSLOG_NOT_SET*/, 1 /*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/) < 0)
+        if (ffddca_init(NULL, -1 /*DDCA_SYSLOG_NOT_SET*/, 1 
/*DDCA_INIT_OPTIONS_DISABLE_CONFIG_FILE*/) < 0)
             return "ddca_init() failed";
     }
     else
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/src/detection/cpu/cpu_linux.c 
new/fastfetch-2.8.7/src/detection/cpu/cpu_linux.c
--- old/fastfetch-2.8.6/src/detection/cpu/cpu_linux.c   2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/detection/cpu/cpu_linux.c   2024-03-02 
12:14:35.000000000 +0100
@@ -85,30 +85,58 @@
     return NULL;
 }
 
-static double getGHz(const char* file)
+static double getFrequency(FFstrbuf* basePath, const char* cpuinfoFileName, 
const char* scalingFileName, FFstrbuf* buffer)
 {
-    FF_STRBUF_AUTO_DESTROY content = ffStrbufCreate();
-    if(ffAppendFileBuffer(file, &content))
-    {
-        double herz = ffStrbufToDouble(&content);
+    uint32_t baseLen = basePath->length;
+    ffStrbufAppendS(basePath, cpuinfoFileName);
+    bool ok = ffReadFileBuffer(basePath->chars, buffer);
+    ffStrbufSubstrBefore(basePath, baseLen);
+    if (ok)
+        return ffStrbufToDouble(buffer) / 1e6;
 
-        //ffStrbufToDouble failed
-        if(herz != herz)
-            return 0;
+    ffStrbufAppendS(basePath, scalingFileName);
+    ok = ffReadFileBuffer(basePath->chars, buffer);
+    ffStrbufSubstrBefore(basePath, baseLen);
+    if (ok)
+        return ffStrbufToDouble(buffer) / 1e6;
 
-        herz /= 1000.0; //to MHz
-        return herz / 1000.0; //to GHz
-    }
-    return 0;
+    return 0.0/0.0;
 }
 
-static double getFrequency(const char* info, const char* scaling)
+static bool detectFrequency(FFCPUResult* cpu)
 {
-    double frequency = getGHz(info);
-    if(frequency > 0.0)
-        return frequency;
+    FF_STRBUF_AUTO_DESTROY path = 
ffStrbufCreateS("/sys/devices/system/cpu/cpufreq/");
+    FF_AUTO_CLOSE_DIR DIR* dir = opendir(path.chars);
+    FF_STRBUF_AUTO_DESTROY buffer = ffStrbufCreate();
+    uint32_t baseLen = path.length;
+    bool flag = false;
+
+    struct dirent* entry;
+    while((entry = readdir(dir)) != NULL)
+    {
+        if (ffStrStartsWith(entry->d_name, "policy") && 
isdigit(entry->d_name[strlen("policy")]))
+        {
+            ffStrbufAppendS(&path, entry->d_name);
+            double fmin = getFrequency(&path, "/cpuinfo_min_freq", 
"/scaling_min_freq", &buffer);
+            if (fmin != fmin) continue;
+            double fmax = getFrequency(&path, "/cpuinfo_max_freq", 
"/scaling_max_freq", &buffer);
+            if (fmax != fmax) continue;
 
-    return getGHz(scaling);
+            if (flag)
+            {
+                cpu->frequencyMin = cpu->frequencyMin < fmin ? 
cpu->frequencyMin : fmin;
+                cpu->frequencyMax = cpu->frequencyMax > fmax ? 
cpu->frequencyMax : fmax;
+            }
+            else
+            {
+                cpu->frequencyMin = fmin;
+                cpu->frequencyMax = fmax;
+                flag = true;
+            }
+            ffStrbufSubstrBefore(&path, baseLen);
+        }
+    }
+    return flag;
 }
 
 static double detectCPUTemp(void)
@@ -204,16 +232,8 @@
     cpu->coresOnline = (uint16_t) get_nprocs();
     cpu->coresPhysical = (uint16_t) ffStrbufToUInt(&physicalCoresBuffer, 
cpu->coresLogical);
 
-    #define BP "/sys/devices/system/cpu/cpufreq/policy0/"
-    if(ffPathExists(BP, FF_PATHTYPE_DIRECTORY))
-    {
-        cpu->frequencyMin = getFrequency(BP"cpuinfo_min_freq", 
BP"scaling_min_freq");
-        cpu->frequencyMax = getFrequency(BP"cpuinfo_max_freq", 
BP"scaling_max_freq");
-    }
-    else
-    {
+    if (!detectFrequency(cpu))
         cpu->frequencyMin = cpu->frequencyMax = ffStrbufToDouble(&cpuMHz) / 
1000;
-    }
 
     if(cpuUarch.length > 0)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/src/detection/gpu/gpu_linux.c 
new/fastfetch-2.8.7/src/detection/gpu/gpu_linux.c
--- old/fastfetch-2.8.6/src/detection/gpu/gpu_linux.c   2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/detection/gpu/gpu_linux.c   2024-03-02 
12:14:35.000000000 +0100
@@ -78,7 +78,7 @@
     //https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci
     const char* pciDirPath = "/sys/bus/pci/devices/";
 
-    DIR* dirp = opendir(pciDirPath);
+    FF_AUTO_CLOSE_DIR DIR* dirp = opendir(pciDirPath);
     if(dirp == NULL)
         return "Failed to open `/sys/bus/pci/devices/`";
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fastfetch-2.8.6/src/detection/terminalshell/terminalshell.c 
new/fastfetch-2.8.7/src/detection/terminalshell/terminalshell.c
--- old/fastfetch-2.8.6/src/detection/terminalshell/terminalshell.c     
2024-02-27 17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/detection/terminalshell/terminalshell.c     
2024-03-02 12:14:35.000000000 +0100
@@ -437,6 +437,15 @@
     return version->length > 0;
 }
 
+static bool getTerminalVersionZellij(FFstrbuf* exe, FFstrbuf* version)
+{
+    if(!getExeVersionRaw(exe, version)) return false;
+
+    // zellij 0.39.2
+    ffStrbufSubstrAfterFirstC(version, ' ');
+    return version->length > 0;
+}
+
 #ifdef _WIN32
 
 static bool getTerminalVersionWindowsTerminal(FFstrbuf* exe, FFstrbuf* version)
@@ -554,6 +563,9 @@
     if(ffStrbufStartsWithIgnCaseS(processName, "screen"))
         return getTerminalVersionScreen(exe, version);
 
+    if(ffStrbufStartsWithIgnCaseS(processName, "zellij"))
+        return getTerminalVersionZellij(exe, version);
+
     const char* termProgramVersion = getenv("TERM_PROGRAM_VERSION");
     if(termProgramVersion)
     {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/src/detection/uptime/uptime_linux.c 
new/fastfetch-2.8.7/src/detection/uptime/uptime_linux.c
--- old/fastfetch-2.8.6/src/detection/uptime/uptime_linux.c     2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/detection/uptime/uptime_linux.c     2024-03-02 
12:14:35.000000000 +0100
@@ -6,20 +6,32 @@
 
 const char* ffDetectUptime(FFUptimeResult* result)
 {
+    #ifndef __ANDROID__ // cat: /proc/uptime: Permission denied
+    
     // #620
     char buf[64];
     ssize_t nRead = ffReadFileData("/proc/uptime", sizeof(buf) - 1, buf);
-    if(nRead < 0)
-        return "ffReadFileData(\"/proc/uptime\", sizeof(buf) - 1, buf) failed";
-    buf[nRead] = '\0';
-
-    char *err = NULL;
-    double sec = strtod(buf, &err);
-    if(err != buf)
-        result->uptime = (uint64_t) (sec * 1000);
-    else
-        return "strtod(buf, &err) failed";
+    if(nRead > 0)
+    {
+        buf[nRead] = '\0';
 
+        char *err = NULL;
+        double sec = strtod(buf, &err);
+        if(err != buf)
+        {
+            result->uptime = (uint64_t) (sec * 1000);
+            result->bootTime = ffTimeGetNow() + result->uptime;
+            return NULL;
+        }
+    }
+
+    #endif
+
+    struct timespec uptime;
+    if (clock_gettime(CLOCK_BOOTTIME, &uptime) != 0)
+        return "clock_gettime(CLOCK_BOOTTIME) failed";
+
+    result->uptime = (uint64_t) uptime.tv_sec * 1000 + (uint64_t) 
uptime.tv_nsec / 1000000;
     result->bootTime = ffTimeGetNow() + result->uptime;
 
     return NULL;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/fastfetch-2.8.6/src/logo/ascii/postmarketos.txt 
new/fastfetch-2.8.7/src/logo/ascii/postmarketos.txt
--- old/fastfetch-2.8.6/src/logo/ascii/postmarketos.txt 2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/logo/ascii/postmarketos.txt 2024-03-02 
12:14:35.000000000 +0100
@@ -1,18 +1,18 @@
-                 /\\
-                /  \\
-               /    \\
-              /      \\
-             /        \\
-            /          \\
-            \\           \\
-          /\\ \\____       \\
-         /  \\____ \\       \\
-        /       /  \\       \\
-       /       /    \\    ___\\
-      /       /      \\  / ____
-     /       /        \\/ /    \\
-    /       / __________/      \\
-   /        \\ \\                 \\
-  /          \\ \\                 \\
- /           / /                  \\
-/___________/ /____________________\\
+                 /\
+                /  \
+               /    \
+              /      \
+             /        \
+            /          \
+            \           \
+          /\ \____       \
+         /  \____ \       \
+        /       /  \       \
+       /       /    \    ___\
+      /       /      \  / ____
+     /       /        \/ /    \
+    /       / __________/      \
+   /        \ \                 \
+  /          \ \                 \
+ /           / /                  \
+/___________/ /____________________\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fastfetch-2.8.6/src/logo/ascii/postmarketos_small.txt 
new/fastfetch-2.8.7/src/logo/ascii/postmarketos_small.txt
--- old/fastfetch-2.8.6/src/logo/ascii/postmarketos_small.txt   2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/logo/ascii/postmarketos_small.txt   2024-03-02 
12:14:35.000000000 +0100
@@ -1,9 +1,9 @@
-        /\\
-       /  \\
-      /    \\
-      \\__   \\
-    /\\__ \\  _\\
-   /   /  \\/ __
-  /   / ____/  \\
- /    \\ \\       \\
-/_____/ /________\\
+        /\
+       /  \
+      /    \
+      \__   \
+    /\__ \  _\
+   /   /  \/ __
+  /   / ____/  \
+ /    \ \       \
+/_____/ /________\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/fastfetch-2.8.6/src/modules/physicaldisk/physicaldisk.c 
new/fastfetch-2.8.7/src/modules/physicaldisk/physicaldisk.c
--- old/fastfetch-2.8.6/src/modules/physicaldisk/physicaldisk.c 2024-02-27 
17:04:20.000000000 +0100
+++ new/fastfetch-2.8.7/src/modules/physicaldisk/physicaldisk.c 2024-03-02 
12:14:35.000000000 +0100
@@ -130,6 +130,7 @@
         ffStrbufDestroy(&dev->interconnect);
         ffStrbufDestroy(&dev->devPath);
         ffStrbufDestroy(&dev->serial);
+        ffStrbufDestroy(&dev->revision);
     }
 }
 
@@ -244,6 +245,8 @@
         ffStrbufDestroy(&dev->name);
         ffStrbufDestroy(&dev->interconnect);
         ffStrbufDestroy(&dev->devPath);
+        ffStrbufDestroy(&dev->serial);
+        ffStrbufDestroy(&dev->revision);
     }
 }
 

Reply via email to