summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorjavum2020-05-04 21:47:37 +0700
committerjavum2020-05-04 21:47:37 +0700
commit7e48f988c9f6adadbfe923ab0c62ed7bb5a490b3 (patch)
tree7ded05e7dab7575c952fb7d425742738c822ae9e
downloadaur-7e48f988c9f6adadbfe923ab0c62ed7bb5a490b3.tar.gz
Initial upload: seatools-ssd-gui 4.1.81-1
SeaTools SSD GUI
-rw-r--r--.SRCINFO43
-rw-r--r--LICENSE208
-rw-r--r--PKGBUILD97
-rwxr-xr-xbitrock-unpacker.tcl126
-rw-r--r--icon128.pngbin0 -> 12020 bytes
-rw-r--r--icon16.pngbin0 -> 969 bytes
-rw-r--r--icon256.pngbin0 -> 28154 bytes
-rw-r--r--icon32.pngbin0 -> 1697 bytes
-rw-r--r--icon48.pngbin0 -> 3974 bytes
-rw-r--r--icon64.pngbin0 -> 5447 bytes
-rw-r--r--org.archlinux.pkexec.seatools-ssd-gui.policy19
-rw-r--r--seatools-ssd-gui7
-rw-r--r--seatools-ssd-gui-hidpi7
-rw-r--r--seatools-ssd-gui-hidpi.desktop11
-rw-r--r--seatools-ssd-gui.desktop11
15 files changed, 529 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..9c9998848a22
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,43 @@
+pkgbase = seatools-ssd-gui
+ pkgdesc = Graphical dashboard and diagnostic tools optimized for Seagate Solid State Drives (SSD).
+ pkgver = 4.1.81
+ pkgrel = 1
+ url = https://www.seagate.com/support/downloads/seatools/
+ arch = x86_64
+ license = custom:Seagate EULA
+ makedepends = sdx
+ makedepends = tclkit
+ depends = gcc-libs
+ optdepends = polkit: to run SeaToolsSSD GUI directly from menu
+ options = !strip
+ source = https://www.seagate.com/files/old-support-files/seatools/SeaToolsSSD-GUI.zip
+ source = bitrock-unpacker.tcl
+ source = LICENSE
+ source = icon16.png
+ source = icon32.png
+ source = icon48.png
+ source = icon64.png
+ source = icon128.png
+ source = icon256.png
+ source = seatools-ssd-gui.desktop
+ source = seatools-ssd-gui
+ source = seatools-ssd-gui-hidpi.desktop
+ source = seatools-ssd-gui-hidpi
+ source = org.archlinux.pkexec.seatools-ssd-gui.policy
+ md5sums = 3873967b56ef74a83d35bc4f1a71cfad
+ md5sums = d92ae37baa475b2d7b8cddd0e862f85a
+ md5sums = 090c762796dccd4db8103e2f62a5210e
+ md5sums = a336e165fc8d9fc6a04bcff50de3f0b7
+ md5sums = 0078bc12d4e0f0b0598734a555213016
+ md5sums = 5f10d7c074b2d8aae6768307f0392da3
+ md5sums = 0dd4702d5ba3a42878d11fe515466f85
+ md5sums = 40bdce39aa3598cae21aea34307173a1
+ md5sums = 729e82f9296c501b7e2a21b2ef0b882b
+ md5sums = f5f8b1715864405a4022561a6ab5028a
+ md5sums = 0489d5e2f04cd5e4e19dbe28edc100cf
+ md5sums = 5f61883de9b5f29a254be29586c85893
+ md5sums = cf630a96ea6c96f1dc7baba416133875
+ md5sums = 4693684f78e1c2d81876d37200a37dd6
+
+pkgname = seatools-ssd-gui
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 000000000000..831a29b5c90b
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,208 @@
+ END USER LICENSE AGREEMENT
+ FOR SEAGATE SOFTWARE
+
+
+PLEASE READ THIS END USER LICENSE AGREEMENT ("EULA") CAREFULLY. BY CLICKING
+"I AGREE" OR TAKING ANY STEP TO DOWNLOAD, SET-UP, INSTALL OR USE ALL OR ANY
+PORTION OF THIS PRODUCT (INCLUDING, BUT NOT LIMITED TO, THE SOFTWARE AND
+ASSOCIATED FILES (THE "SOFTWARE"), HARDWARE ("HARDWARE"), DISK (S), OR OTHER
+MEDIA) (COLLECTIVELY, THE "PRODUCT") YOU AND YOUR COMPANY ACCEPT ALL THE
+TERMS AND CONDITIONS OF THIS EULA. IF YOU ACQUIRE THIS PRODUCT FOR YOUR
+COMPANYS USE, YOU REPRESENT THAT YOU ARE AN AUTHORIZED REPRESENTATIVE WHO
+HAS THE AUTHORITY TO LEGALLY BIND YOUR COMPANY TO THIS EULA. IF YOU DO NOT
+AGREE, DO NOT CLICK "I AGREE" AND DO NOT DOWNLOAD, SET-UP, INSTALL OR USE THE
+SOFTWARE.
+
+
+1. Ownership. This EULA applies to the Software and Products of Seagate
+Technology LLC and the affiliates controlled by, under common control with,
+or controlling Seagate Technology LLC, including but not limited to
+affiliates operating under the LaCie name or brand, (collectively, "Seagate",
+"we", "us", "our"). Seagate and its suppliers own all right, title, and
+interest in and to the Software, including all intellectual property rights
+therein. The Software is licensed, not sold. The structure, organization,
+and code of the Software are the valuable trade secrets and confidential
+information of Seagate and its suppliers. The Software is protected by
+copyright and other intellectual property laws and treaties, including,
+without limitation, the copyright laws of the United States and other
+countries. The term "Software" does not refer to or include "Third-Party
+Software". "Third-Party Software" means certain software licensed by Seagate
+from third parties that may be provided with the specific version of Software
+that you have licensed. The Third-Party Software is generally not governed
+by the terms set forth below but is subject to different terms and conditions
+imposed by the licensors of such Third-Party Software. The terms of your use
+of the Third-Party Software are subject to and governed by the respective
+license terms, except that this Section 1 and Sections 5 and 6 of this
+Agreement also govern your use of the Third-Party Software. You may identify
+and view the relevant licenses and/or notices for such Third-Party Software
+for the Software you have received pursuant to this EULA at
+http://www.seagate.com/support/by-topic/downloads/ , or at
+http://www.lacie.com/support/ for LaCie branded product. You agree to comply
+with the terms and conditions contained in all such Third-Party Software
+licenses with respect to the applicable Third-Party Software. Where
+applicable, the URLs for sites where you may obtain source code for the Third
+Party Software can be found at
+http://www.seagate.com/support/by-topic/downloads/, or at
+http://www.lacie.com/support/ for LaCie branded product.
+
+2. Product License. Subject to your compliance with the terms of this EULA,
+Seagate grants you a personal, non-exclusive, non-transferable, limited
+license to install and use one (1) copy of the Software on one (1) device
+residing on your premises, internally and only for the purposes described in
+the associated documentation. Use of some third party software included on
+the media provided with the Product may be subject to terms and conditions of
+a separate license agreement; this license agreement may be contained in a
+"Read Me" file located on the media that accompanies that Product. The
+Software includes components that enable you to link to and use certain
+services provided by third parties ("Third Party Services"). Your use of the
+Third Party Services is subject to your agreement with the applicable third
+party service provider. Except as expressly stated herein, this EULA does
+not grant you any intellectual property rights in the Product. Seagate and
+its suppliers reserve all rights not expressly granted to you. There are no
+implied rights.
+
+2.1 Software. You are also permitted to make a single copy of the
+Software strictly for backup and disaster recovery purposes. You may not
+alter or modify the Software or create a new installer for the Software. The
+Software is licensed and distributed by Seagate for use with its storage
+products only, and may not be used with non-Seagate storage product.
+
+3. Restrictions. You are not licensed to do any of the following:
+ a. Create derivative works based on the Product or any part or
+ component thereof, including, but not limited to, the
+ Software;
+
+ b. Reproduce the Product, in whole or in part;
+
+ c. Except as expressly authorized by Section 11 below, sell,
+ assign, license, disclose, or otherwise transfer or make
+ available the Product, in whole or in part, to any third
+ party;
+
+ d. Alter, translate, decompile, or attempt to reverse engineer
+ the Product or any part or component thereof, except and only
+ to the extent that such activity is expressly permitted by
+ applicable law notwithstanding this contractual prohibition;
+
+ e. Use the Product to provide services to third parties;
+
+ f. Take any actions that would cause the Software to become
+ subject to any open source license agreement if it is not
+ already subject to such an agreement; and
+
+ g. Remove or alter any proprietary notices or marks on the
+ Product.
+
+4. Updates. If you receive an update or an upgrade to, or a new version of,
+any Software ("Update") you must possess a valid license to the previous
+version in order to use the Update. All Updates provided to you shall be
+subject to the terms and conditions of this EULA. If you receive an Update,
+you may continue to use the previous version(s) of the Software in your
+possession, custody or control. Seagate shall have no obligation to support
+the previous versions of the Software upon availability of an Update. Seagate
+has no obligation to provide support, maintenance, Updates, or modifications
+under this EULA.
+
+5. NO WARRANTY. THE PRODUCT AND THE THIRD-PARTY SOFTWARE ARE OFFERED ON AN
+"AS-IS" BASIS AND NO WARRANTY, EITHER EXPRESS OR IMPLIED, IS GIVEN. SEAGATE
+AND ITS SUPPLIERS EXPRESSLY DISCLAIM ALL WARRANTIES OF ANY KIND, WHETHER
+STATUTORY, EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED
+WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NON-INFRINGEMENT. SEAGATE DOES NOT PROVIDE THE THIRD PARTY SERVICES AND
+MAKES NO WARRANTIES WITH RESPECT TO THE THIRD PARTY SERVICES. YOUR USE OF
+THE THIRD PARTY SERVICES IS AT YOUR RISK.
+
+6. EXCLUSION OF INCIDENTAL, CONSEQUENTIAL, AND CERTAIN OTHER DAMAGES. TO
+THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL SEAGATE OR
+ITS LICENSORS OR SUPPLIERS BE LIABLE FOR ANY SPECIAL, INCIDENTAL, PUNITIVE,
+INDIRECT, OR CONSEQUENTIAL DAMAGES WHATSOEVER (INCLUDING, BUT NOT LIMITED TO,
+DAMAGES FOR LOSS OF PROFITS OR CONFIDENTIAL OR OTHER INFORMATION, FOR
+BUSINESS INTERRUPTION, FOR PERSONAL INJURY, FOR LOSS OF PRIVACY, FOR FAILURE
+TO MEET ANY DUTY INCLUDING OF GOOD FAITH OR REASONABLE CARE, FOR NEGLIGENCE,
+AND FOR ANY OTHER PECUNIARY OR OTHER LOSS WHATSOEVER) ARISING OUT OF OR IN
+ANY WAY RELATED TO THE USE OF OR INABILITY TO USE THE PRODUCT OR ANY PART OR
+COMPONENT THEREOF OR RELATED SERVICE OR ANY THIRD PARTY SERVICES, OR
+OTHERWISE UNDER OR IN CONNECTION WITH ANY PROVISION OF THE EULA, EVEN IN THE
+EVENT OF THE FAULT, TORT (INCLUDING NEGLIGENCE), MISREPRESENTATION, STRICT
+LIABILITY, BREACH OF CONTRACT, OR BREACH OF WARRANTY OF SEAGATE OR ITS
+LICENSORS OR SUPPLIERS, AND EVEN IF SEAGATE OR ITS LICENSOR OR SUPPLIER HAS
+BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND NOTWITHSTANDING ANY
+FAILURE OF THE ESSENTIAL PURPOSE OF THIS AGREEMENT OR ANY REMEDY.
+
+7. LIMITATION OF LIABILITY. NOTWITHSTANDING ANY DAMAGES THAT YOU MIGHT
+INCUR FOR ANY REASON WHATSOEVER, THE ENTIRE LIABILITY OF SEAGATE UNDER ANY
+PROVISION OF THIS EULA AND YOUR EXCLUSIVE REMEDY HEREUNDER SHALL BE LIMITED
+TO, AND IN NO EVENT WILL SEAGATE'S TOTAL CUMULATIVE DAMAGES EXCEED, THE FEES
+PAID BY THE LICENSEE TO SEAGATE FOR THE PRODUCT. ADDITIONALLY, IN NO EVENT
+SHALL SEAGATE'S LICENSORS OR SUPPLIERS BE LIABLE FOR ANY DAMAGES OF ANY KIND.
+
+8. Privacy. Seagates collection, use and disclosure of personally
+identifiable information in connection with your use of the Product is
+governed by Seagates Privacy Policy which is located at
+http://www.seagate.com/legal-privacy/privacy-policy/As further described in
+Seagates Privacy Policy, certain Products may include a Product dashboard
+which allows users to manage Product settings, including but not limited to
+use of anonymous statistical usage data in connection with personally
+identifiable information. You agree to Seagates collection, use, and
+disclosure of your data in accordance with the Product dashboard settings
+selected by you for the Product, or in the case of transfer as described in
+Section 11, you agree to the settings selected by the prior licensee unless
+or until you make changes to the settings.
+
+9. Indemnification. By accepting the EULA, you agree to indemnify and
+otherwise hold harmless Seagate, its officers, employees, agents,
+subsidiaries, affiliates, and other partners from any direct, indirect,
+incidental, special, consequential or exemplary damages arising out of,
+relating to, or resulting from your use of the Product or any other matter
+relating to the Product, including, without limitation, use of any of the
+Third Party Services.
+
+10. International Trade Compliance. The Software and any related technical
+data made available for download under this EULA are subject to the customs
+and export control laws and regulations of the United States ("U.S.") and may
+also be subject to the customs and export laws and regulations of the country
+in which the download is contemplated. Further, under U.S. law, the Software
+and any related technical data made available for download under this EULA
+may not be sold, leased or otherwise transferred to restricted countries, or
+used by a restricted end-user (as determined on any one of the U.S.
+government restricted parties lists, found at
+http://www.bis.doc.gov/complianceandenforcement/liststocheck.htm) or an
+end-user engaged in activities related to weapons of mass destruction
+including, without limitation, activities related to designing, developing,
+producing or using nuclear weapons, materials, or facilities, missiles or
+supporting missile projects, or chemical or biological weapons. You
+acknowledge that you are not a citizen, national, or resident of, and are not
+under control of the governments of Cuba, Iran, North Korea, Sudan or Syria;
+are not otherwise a restricted end-user as defined by U.S. export control
+laws; and are not engaged in proliferation activities. Further, you
+acknowledge that you will not download or otherwise export or re-export the
+Software or any related technical data directly or indirectly to the
+above-mentioned countries or to citizens, nationals, or residents of those
+countries, or to any other restricted end user or for any restricted end-use.
+
+11. General. This EULA between Licensee and Seagate is governed by and
+construed in accordance with the laws of the State of California without
+regard to conflict of laws principles. The EULA constitutes the entire
+agreement between Seagate and you relating to the Product and governs your
+use of the Product, superseding any prior agreement between you and Seagate
+relating to the subject matter hereof. If any provision of this EULA is held
+by a court of competent jurisdiction to be contrary to law, such provision
+will be changed and interpreted so as to best accomplish the objectives of
+the original provision to the fullest extent allowed by law and the remaining
+provisions of the EULA will remain in force and effect. The Product and any
+related technical data are provided with restricted rights. Use,
+duplication, or disclosure by the U.S. government is subject to the
+restrictions as set forth in subparagraph (c)(1)(iii) of DFARS 252.227-7013
+(The Rights in Technical Data and Computer Product) or subparagraphs (c)(1)
+and (2) of 48 CFR 52.227-19 (Commercial Computer Product - Restricted
+Rights), as applicable. The manufacturer is Seagate. You may not transfer
+or assign this EULA or any rights under this EULA, except that you may make a
+one-time, permanent transfer of this EULA and the Software to another end
+user, provided that (i) you do not retain any copies of the Software, the
+Hardware, the media and printed materials, Upgrades (if any), and this EULA,
+and (ii) prior to the transfer, the end user receiving this EULA and the
+Software agrees to all the EULA terms. Any attempted assignment in violation
+of this Section is void. Seagate, the Seagate logo, and other Seagate names
+and logos are the trademarks of Seagate.
+
+5.4.2016 \ No newline at end of file
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..68ad1292420d
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,97 @@
+# Maintainer: Anatoly Smaznov <mrjavum at gmail dot com>
+
+_original_name=SeaToolsSSD
+pkgname=seatools-ssd-gui
+pkgver=4.1.81
+pkgrel=1
+pkgdesc="Graphical dashboard and diagnostic tools optimized for Seagate Solid State Drives (SSD)."
+arch=(x86_64)
+url=https://www.seagate.com/support/downloads/seatools/
+license=('custom:Seagate EULA')
+depends=(gcc-libs)
+makedepends=(sdx tclkit)
+optdepends=('polkit: to run SeaToolsSSD GUI directly from menu')
+
+options=(!strip)
+source=(https://www.seagate.com/files/old-support-files/seatools/${_original_name}-GUI.zip
+ bitrock-unpacker.tcl
+ LICENSE
+ icon{16,32,48,64,128,256}.png
+ $pkgname.desktop
+ $pkgname
+ $pkgname-hidpi.desktop
+ $pkgname-hidpi
+ org.archlinux.pkexec.$pkgname.policy)
+
+md5sums=('3873967b56ef74a83d35bc4f1a71cfad'
+ 'd92ae37baa475b2d7b8cddd0e862f85a'
+ '090c762796dccd4db8103e2f62a5210e'
+ 'a336e165fc8d9fc6a04bcff50de3f0b7'
+ '0078bc12d4e0f0b0598734a555213016'
+ '5f10d7c074b2d8aae6768307f0392da3'
+ '0dd4702d5ba3a42878d11fe515466f85'
+ '40bdce39aa3598cae21aea34307173a1'
+ '729e82f9296c501b7e2a21b2ef0b882b'
+ 'f5f8b1715864405a4022561a6ab5028a'
+ '0489d5e2f04cd5e4e19dbe28edc100cf'
+ '5f61883de9b5f29a254be29586c85893'
+ 'cf630a96ea6c96f1dc7baba416133875'
+ '4693684f78e1c2d81876d37200a37dd6'
+ )
+
+build() {
+ msg2 "Unpacking files from installer"
+ chmod 755 ./bitrock-unpacker.tcl
+ cd $srcdir
+ ./bitrock-unpacker.tcl $srcdir/Linux/$_original_name-$pkgver-linux-x64-installer.run $srcdir/unpacked.vfs
+}
+
+package() {
+ msg2 "The package installs HiDPI launcher by default."
+ msg2 "To install non-HiDPI version please comment/ucomment "
+ msg2 "appropriate lines in PKGBUILD's package() block following by comments."
+ msg2 ""
+ msg2 "Continuing build in 5 seconds..."; sleep 5
+ # Install program
+ install -dm755 "${pkgdir}/opt/$pkgname"
+ cp -a $srcdir/unpacked.vfs/default/programfileslinux/* ${pkgdir}/opt/$pkgname/
+
+ # Comment next line to disable non-hidpi launcher
+ #install -m755 -t "$pkgdir/opt/$pkgname/" $pkgname
+
+ # Comment next line to disable hidpi launcher
+ install -m755 -t "$pkgdir/opt/$pkgname/" $pkgname-hidpi
+
+ # Install documentation files
+ install -dm755 "$pkgdir/usr/share/doc/$pkgname"
+ install -m644 -t "$pkgdir/usr/share/doc/$pkgname" "$srcdir/SeaToolsSSD-GUI_100837824_E.pdf"
+
+ # License
+ install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
+
+ # Desktop launcher
+ install -Dm644 "$srcdir/icon256.png" "$pkgdir/usr/share/pixmaps/$pkgname.png"
+
+ # Comment next line to disable non-hidpi launcher
+ #install -Dm644 "$srcdir/$pkgname.desktop" "$pkgdir/usr/share/applications/$pkgname.desktop"
+
+ # Comment next line to disable hidpi launcher
+ install -Dm644 "$srcdir/$pkgname-hidpi.desktop" "$pkgdir/usr/share/applications/$pkgname-hidpi.desktop"
+
+ # Icons
+ local icon_size icon_dir
+ for icon_size in 16 32 48 64 128 256; do
+ icon_dir="$pkgdir/usr/share/icons/hicolor/${icon_size}x${icon_size}/apps"
+ install -d "$icon_dir"
+ install -m644 "$srcdir/icon${icon_size}.png" "$icon_dir/$pkgname.png"
+ done
+
+ # Install policy file
+ install -dm755 "$pkgdir/usr/share/polkit-1/actions"
+ install -m644 -t "$pkgdir/usr/share/polkit-1/actions" "org.archlinux.pkexec.$pkgname.policy"
+
+ # Add ti PATH
+ install -dm755 "$pkgdir/etc/profile.d"
+ echo "export PATH=\"\$PATH\":/opt/$pkgname" > "$pkgdir/etc/profile.d/${pkgname}.sh"
+ source "$pkgdir/etc/profile.d/${pkgname}.sh"
+}
diff --git a/bitrock-unpacker.tcl b/bitrock-unpacker.tcl
new file mode 100755
index 000000000000..f035f61d6eda
--- /dev/null
+++ b/bitrock-unpacker.tcl
@@ -0,0 +1,126 @@
+#!/usr/bin/env tclkit
+#
+# Bitrock unpacking script
+#
+# This script must be executed using 32-bit tclkit
+#
+# Author : mickael9 <mickael9 at gmail dot com>
+#
+# Latest version can be found at:
+# https://gist.github.com/mickael9/0b902da7c13207d1b86e
+
+source /usr/bin/sdx.kit
+
+if {$argc < 2} {
+ puts "Usage: $argv0 installerFile outputDirectory"
+ exit 1
+}
+
+set installerFile [lindex $argv 0]
+set destDir [lindex $argv 1]
+
+set installerMount /installer
+set dataMount /installerData
+
+vfs::mk4::Mount $installerFile $installerMount -readonly
+
+lappend auto_path $installerMount/libraries/
+package require vfs::cookfs
+catch {package require Tcllzmadec}
+
+# progress from http://wiki.tcl.tk/16939 (sligtly modified)
+# thanks to the author
+proc progress {cur tot} {
+ # set to total width of progress bar
+ set total 76
+
+ if {$cur == $tot} {
+ # cleanup
+ set str "\r[string repeat " " [expr $total + 4]]\r"
+ } else {
+ set half [expr {$total/2}]
+ set percent [expr {100.*$cur/$tot}]
+ set val (\ [format "%6.2f%%" $percent]\ )
+ set str "\r|[string repeat = [
+ expr {round($percent*$total/100)}]][
+ string repeat { } [expr {$total-round($percent*$total/100)}]]|"
+ set str "[string range $str 0 $half]$val[string range $str [expr {$half+[string length $val]-1}] end]"
+ }
+ puts -nonewline stderr $str
+}
+
+# Read cookfs options
+set optionsFile [open $installerMount/cookfsinfo.txt]
+set options [read $optionsFile]
+close $optionsFile
+
+# Read the manifest
+set manifestFile [open $installerMount/manifest.txt]
+set manifest [read $manifestFile]
+close $manifestFile
+
+# Mount the files to $dataMount
+vfs::cookfs::Mount {*}$options $installerFile $dataMount
+
+puts "Creating directories..."
+foreach {fileName props} $manifest {
+ set type [lindex $props 0]
+
+ if {$type == "directory"} {
+ set mode [lindex $props 1]
+ file mkdir $destDir/$fileName
+ file attributes $destDir/$fileName -permissions $mode
+ }
+}
+
+puts "Unpacking files, please wait..."
+
+set entryCount [expr [llength $manifest] / 2]
+set entryIndex 0
+
+foreach {fileName props} $manifest {
+ set type [lindex $props 0]
+
+ if {$type == "file"} {
+ set mode [lindex $props 1]
+ set sizes [lindex $props 4]
+ set nparts [llength $sizes]
+ set index 1
+
+ file mkdir [file dirname $destDir/$fileName]
+ file copy -force $dataMount/$fileName $destDir/$fileName
+
+ if {$nparts > 0} {
+ set fp [open $destDir/$fileName a]
+ fconfigure $fp -translation binary
+
+ while {$index < $nparts} {
+ set chunkName $dataMount/${fileName}___bitrockBigFile$index
+ set fp2 [open $chunkName r]
+ fconfigure $fp2 -translation binary
+ puts -nonewline $fp [read $fp2]
+ close $fp2
+ incr index
+ }
+ close $fp
+ }
+
+ file attributes $destDir/$fileName -permissions $mode
+ }
+
+ incr entryIndex
+ progress $entryIndex $entryCount
+}
+
+puts "Creating links..."
+
+foreach {fileName props} $manifest {
+ set type [lindex $props 0]
+
+ if {$type == "link"} {
+ set linkTarget [lindex $props 1]
+ file delete $destDir/$fileName
+ file link -symbolic $destDir/$fileName $linkTarget
+ }
+}
+puts "Done"
diff --git a/icon128.png b/icon128.png
new file mode 100644
index 000000000000..fb09cc4d5d4b
--- /dev/null
+++ b/icon128.png
Binary files differ
diff --git a/icon16.png b/icon16.png
new file mode 100644
index 000000000000..b2b5b85729a5
--- /dev/null
+++ b/icon16.png
Binary files differ
diff --git a/icon256.png b/icon256.png
new file mode 100644
index 000000000000..3a90a44fb98b
--- /dev/null
+++ b/icon256.png
Binary files differ
diff --git a/icon32.png b/icon32.png
new file mode 100644
index 000000000000..07461d46c469
--- /dev/null
+++ b/icon32.png
Binary files differ
diff --git a/icon48.png b/icon48.png
new file mode 100644
index 000000000000..e641be2ce8c2
--- /dev/null
+++ b/icon48.png
Binary files differ
diff --git a/icon64.png b/icon64.png
new file mode 100644
index 000000000000..8d619b9410b5
--- /dev/null
+++ b/icon64.png
Binary files differ
diff --git a/org.archlinux.pkexec.seatools-ssd-gui.policy b/org.archlinux.pkexec.seatools-ssd-gui.policy
new file mode 100644
index 000000000000..d48c48d5de63
--- /dev/null
+++ b/org.archlinux.pkexec.seatools-ssd-gui.policy
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE policyconfig PUBLIC
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+ "http://www.freedesktop.org/software/polkit/policyconfig-1.dtd">
+<policyconfig>
+
+ <action id="org.archlinux.pkexec.seatools-ssd-gui">
+ <message>Authentication is required to run the SeaToolsSSD GUI</message>
+ <icon_name>seatools-ssd-gui</icon_name>
+ <defaults>
+ <allow_any>auth_admin</allow_any>
+ <allow_inactive>auth_admin</allow_inactive>
+ <allow_active>auth_admin</allow_active>
+ </defaults>
+ <annotate key="org.freedesktop.policykit.exec.path">/opt/seatools-ssd-gui/SeaTools</annotate>
+ <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
+ </action>
+
+</policyconfig>
diff --git a/seatools-ssd-gui b/seatools-ssd-gui
new file mode 100644
index 000000000000..c6a0b809e645
--- /dev/null
+++ b/seatools-ssd-gui
@@ -0,0 +1,7 @@
+#!/bin/bash
+if [ $(which pkexec) ]; then
+ pkexec --disable-internal-agent "/opt/seatools-ssd-gui/SeaTools" "$@"
+else
+ /opt/seatools-ssd-gui/SeaTools "$@"
+fi
+
diff --git a/seatools-ssd-gui-hidpi b/seatools-ssd-gui-hidpi
new file mode 100644
index 000000000000..45f76d652ec9
--- /dev/null
+++ b/seatools-ssd-gui-hidpi
@@ -0,0 +1,7 @@
+#!/bin/bash
+if [ $(which pkexec) ]; then
+ pkexec --disable-internal-agent /usr/bin/env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY QT_SCREEN_SCALE_FACTORS=1.5 QT_FONT_DPI=150 "/opt/seatools-ssd-gui/SeaTools" "$@"
+else
+ /usr/bin/env QT_SCREEN_SCALE_FACTORS=1.5 QT_FONT_DPI=150 /opt/seatools-ssd-gui/SeaTools "$@"
+fi
+
diff --git a/seatools-ssd-gui-hidpi.desktop b/seatools-ssd-gui-hidpi.desktop
new file mode 100644
index 000000000000..e3741982f1a4
--- /dev/null
+++ b/seatools-ssd-gui-hidpi.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=SeaToolsSSD GUI HiDPI
+Comment=Graphical dashboard and diagnostic tools optimized for Seagate Solid State Drives
+Path=/opt/seatools-ssd-gui
+Exec=/opt/seatools-ssd-gui/seatools-ssd-gui-hidpi
+Icon=seatools-ssd-gui
+Terminal=false
+Type=Application
+Categories=System;Utility;
+Keywords=seagate;ssd;hdd;seatools;
diff --git a/seatools-ssd-gui.desktop b/seatools-ssd-gui.desktop
new file mode 100644
index 000000000000..59ac72be5264
--- /dev/null
+++ b/seatools-ssd-gui.desktop
@@ -0,0 +1,11 @@
+[Desktop Entry]
+Version=1.0
+Name=SeaToolsSSD GUI
+Comment=Graphical dashboard and diagnostic tools optimized for Seagate Solid State Drives
+Path=/opt/seatools-ssd-gui
+Exec=/opt/seatools-ssd-gui/seatools-ssd-gui
+Icon=seatools-ssd-gui
+Terminal=false
+Type=Application
+Categories=System;Utility;
+Keywords=seagate;ssd;hdd;seatools;