From 1cfff1f624479913d96b7b40671ac9877b81b472 Mon Sep 17 00:00:00 2001
From: Seth Hillbrand <seth@kipro-pcb.com>
Date: Mon, 11 Oct 2021 12:45:08 -0700
Subject: [PATCH] Update KiCad MIME type to kicad6

This avoids conflict with existing kicad installations.  Older version
files are preferentially opened by older KiCad installations while new
KiCad files get opened by version 6
---
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.png => application-x-kicad6-pcb.png} | Bin
 ...t.png => application-x-kicad6-project.png} | Bin
 ...png => application-x-kicad6-schematic.png} | Bin
 ...d-pcb.svg => application-x-kicad6-pcb.svg} |   0
 ...t.svg => application-x-kicad6-project.svg} |   0
 ...svg => application-x-kicad6-schematic.svg} |   0
 .../launchers/org.kicad.eeschema.desktop.in   |   2 +-
 .../launchers/org.kicad.kicad.desktop.in      |   2 +-
 .../launchers/org.kicad.pcbnew.desktop.in     |   2 +-
 .../metainfo/org.kicad.kicad.metainfo.xml.in  |  12 ++++----
 resources/linux/mime/kicad-kicad.xml.in       |  26 ++++++++++--------
 26 files changed, 24 insertions(+), 20 deletions(-)
 rename resources/linux/icons/hicolor/128x128/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/128x128/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/128x128/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/16x16/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/16x16/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/16x16/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/24x24/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/24x24/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/24x24/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/32x32/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/32x32/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/32x32/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/48x48/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/48x48/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/48x48/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/64x64/mimetypes/{application-x-kicad-pcb.png => application-x-kicad6-pcb.png} (100%)
 rename resources/linux/icons/hicolor/64x64/mimetypes/{application-x-kicad-project.png => application-x-kicad6-project.png} (100%)
 rename resources/linux/icons/hicolor/64x64/mimetypes/{application-x-kicad-schematic.png => application-x-kicad6-schematic.png} (100%)
 rename resources/linux/icons/hicolor/scalable/mimetypes/{application-x-kicad-pcb.svg => application-x-kicad6-pcb.svg} (100%)
 rename resources/linux/icons/hicolor/scalable/mimetypes/{application-x-kicad-project.svg => application-x-kicad6-project.svg} (100%)
 rename resources/linux/icons/hicolor/scalable/mimetypes/{application-x-kicad-schematic.svg => application-x-kicad6-schematic.svg} (100%)

diff --git a/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/128x128/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/16x16/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/24x24/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/32x32/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/48x48/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-pcb.png b/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-pcb.png
similarity index 100%
rename from resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-pcb.png
rename to resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-pcb.png
diff --git a/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-project.png b/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-project.png
similarity index 100%
rename from resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-project.png
rename to resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-project.png
diff --git a/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-schematic.png b/resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-schematic.png
similarity index 100%
rename from resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad-schematic.png
rename to resources/linux/icons/hicolor/64x64/mimetypes/application-x-kicad6-schematic.png
diff --git a/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-pcb.svg b/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-pcb.svg
similarity index 100%
rename from resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-pcb.svg
rename to resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-pcb.svg
diff --git a/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-project.svg b/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-project.svg
similarity index 100%
rename from resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-project.svg
rename to resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-project.svg
diff --git a/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-schematic.svg b/resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-schematic.svg
similarity index 100%
rename from resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad-schematic.svg
rename to resources/linux/icons/hicolor/scalable/mimetypes/application-x-kicad6-schematic.svg
diff --git a/resources/linux/launchers/org.kicad.eeschema.desktop.in b/resources/linux/launchers/org.kicad.eeschema.desktop.in
index 6fc88004ac..bd194e2584 100644
--- a/resources/linux/launchers/org.kicad.eeschema.desktop.in
+++ b/resources/linux/launchers/org.kicad.eeschema.desktop.in
@@ -5,7 +5,7 @@ Icon=eeschema
 Type=Application
 Categories=Science;Electronics;
 Exec=eeschema %f
-MimeType=application/x-kicad-schematic;
+MimeType=application/x-kicad6-schematic;
 Name=KiCad Schematic Editor (Standalone)
 GenericName=Schematic Capture Tool
 Comment=Standalone schematic editor for KiCad schematics
diff --git a/resources/linux/launchers/org.kicad.kicad.desktop.in b/resources/linux/launchers/org.kicad.kicad.desktop.in
index cadf381887..62d94c4525 100644
--- a/resources/linux/launchers/org.kicad.kicad.desktop.in
+++ b/resources/linux/launchers/org.kicad.kicad.desktop.in
@@ -5,7 +5,7 @@ Icon=kicad
 Type=Application
 Categories=Science;Electronics;
 Exec=kicad %f
-MimeType=application/x-kicad-project;
+MimeType=application/x-kicad6-project;
 Name=KiCad
 GenericName=EDA Suite
 Comment=Suite of tools for schematic design and circuit board layout
diff --git a/resources/linux/launchers/org.kicad.pcbnew.desktop.in b/resources/linux/launchers/org.kicad.pcbnew.desktop.in
index 844ba42b3f..46dc1c45c3 100644
--- a/resources/linux/launchers/org.kicad.pcbnew.desktop.in
+++ b/resources/linux/launchers/org.kicad.pcbnew.desktop.in
@@ -5,7 +5,7 @@ Icon=pcbnew
 Type=Application
 Categories=Science;Electronics;
 Exec=pcbnew %f
-MimeType=application/x-kicad-pcb;
+MimeType=application/x-kicad6-pcb;
 Name=KiCad PCB Editor (Standalone)
 GenericName=PCB layout editor
 Comment=Standalone circuit board editor for KiCad boards
diff --git a/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in b/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
index 6173ccc76f..2cfd78e3f7 100644
--- a/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
+++ b/resources/linux/metainfo/org.kicad.kicad.metainfo.xml.in
@@ -22,9 +22,9 @@
         <binary>pcb_calculator</binary>
         <mediatype>application/x-gerber</mediatype>
         <mediatype>application/x-excellon</mediatype>
-        <mediatype>application/x-kicad-project</mediatype>
-        <mediatype>application/x-kicad-schematic</mediatype>
-        <mediatype>application/x-kicad-pcb</mediatype>
+        <mediatype>application/x-kicad6-project</mediatype>
+        <mediatype>application/x-kicad6-schematic</mediatype>
+        <mediatype>application/x-kicad6-pcb</mediatype>
     </provides>
 
     <translation type="gettext">kicad</translation>
@@ -76,10 +76,10 @@
     </screenshots>
 
     <url type="homepage">https://www.kicad.org/</url>
-    <url type="bugtracker">https://www.kicad.org/help/report-an-issue/</url>
-    <url type="help">https://docs.kicad.org/</url>
+    <url type="bugtracker">https://go.kicad.org/issue</url>
+    <url type="help">https://go.kicad.org/docs/6</url>
     <url type="donation">https://go.kicad.org/donate</url>
-    <url type="translate">https://hosted.weblate.org/projects/kicad/</url>
+    <url type="translate">https://go.kicad.org/translate</url>
 
     <update_contact>kicad-developers@lists.launchpad.net</update_contact>
     <developer_name>The KiCad Developers</developer_name>
diff --git a/resources/linux/mime/kicad-kicad.xml.in b/resources/linux/mime/kicad-kicad.xml.in
index ae1e286f73..5febf38aea 100644
--- a/resources/linux/mime/kicad-kicad.xml.in
+++ b/resources/linux/mime/kicad-kicad.xml.in
@@ -1,33 +1,37 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
-    <mime-type type="application/x-kicad-project">
+    <mime-type type="application/x-kicad6-project">
         <sub-class-of type="text/plain"/>
-        <comment>KiCad Project</comment>
-        <generic-icon name="application-x-kicad-project"/>
-        <glob pattern="*.pro" weight="50"/>
+        <comment>KiCad 6 Project</comment>
+        <generic-icon name="application-x-kicad6-project"/>
+        <glob pattern="*.pro" weight="40"/>
         <glob pattern="*.kicad_pro" weight="50"/>
     </mime-type>
-    <mime-type type="application/x-kicad-schematic">
+    <mime-type type="application/x-kicad6-schematic">
         <sub-class-of type="text/plain"/>
-        <comment>KiCad Schematic</comment>
-        <generic-icon name="application-x-kicad-schematic"/>
-        <glob pattern="*.sch" weight="50"/>
+        <comment>KiCad 6 Schematic</comment>
+        <generic-icon name="application-x-kicad6-schematic"/>
+        <glob pattern="*.sch" weight="40"/>
         <glob pattern="*.kicad_sch" weight="50"/>
         <magic priority="50">
             <!--The new schematic file (.kicad_sch) header-->
             <match type="string" offset="0" value="(kicad_sch"/>
+        </magic>
+        <magic priority="40">
             <!--The old schematic file (.sch) header-->
             <match type="string" offset="0" value="EESchema Schematic File"/>
         </magic>
     </mime-type>
-    <mime-type type="application/x-kicad-pcb">
+    <mime-type type="application/x-kicad6-pcb">
         <sub-class-of type="text/plain"/>
-        <comment>KiCad Printed Circuit Board</comment>
-        <generic-icon name="application-x-kicad-pcb"/>
+        <comment>KiCad 6 Printed Circuit Board</comment>
+        <generic-icon name="application-x-kicad6-pcb"/>
         <glob pattern="*.kicad_pcb" weight="50"/>
         <magic priority="50">
             <!--The new board file (.kicad_pcb) header-->
             <match type="string" offset="0" value="(kicad_pcb"/>
+        </magic>
+        <magic priority="40">
             <!--The old board file (.brd) header-->
             <match type="string" offset="0" value="PCBNEW-BOARD"/>
         </magic>