mkevenaar / chocolatey-packages

My chocolatey packages
https://mkevenaar.github.io/chocolatey-packages/
Apache License 2.0
42 stars 66 forks source link

Portabe CrystalDiskMark similar to the current CrystalDiskInfo? #159

Closed jpluimers closed 10 months ago

jpluimers commented 1 year ago

You are currently maintaining a CrystalDiskInfo Portable package.

Are you willing to maintain a CrystalDiskMark Portable package?

There is currently a non-portable package, but a portable version can be based on the very same logic in your current CrystalDiskInfo package.

I cannot maintain such a package (see https://twitter.com/jpluimers and pinned post), but can give creating the initial package a try.

Merry X-mas BTW (:

jpluimers commented 1 year ago

Quick questions (as I am doing small preparations for crystaldiskmark.portable.nuspec):

https://github.com/mkevenaar/chocolatey-packages/blob/master/automatic/crystaldiskinfo.portable/crystaldiskinfo.portable.nuspec refers to https://cdn.jsdelivr.net/gh/mkevenaar/chocolatey-packages@01831f507ebdb56a77672d83934175202e1d1dbd/icons/crystaldiskinfo.png

  1. Where did you get that .png from?
  2. How did you put it in that CDN?

Or in other words: how can I get a crystaldiskmark.png hosted in a permanent way so I can refer it to from crystaldiskmark.portable.nuspec ?

mkevenaar commented 1 year ago

Hey @jpluimers yes, I would be willing to maintain that.

If you put the crystaldiskmark.png in the correct folder in my repository, the rest will be done automagically :)

jpluimers commented 1 year ago

Thanks. Will do my best to get that going, but likely will be in a few weeks as the health one of the best friends of the better half is deteriorating so rapidly that we emptied our agendas so we can be there during their time still left.

jpluimers commented 1 year ago

Here at least the two 256x256x32 language neutral icons I extracted using Resource Editor (one of the few free ones that support modern icon/bitmap formats used in Windows Vista and up but regrettably there is no Chocolatey package for it yet) from https://github.com/hiyohiyo/CrystalDiskInfo/blob/master/resN/DiskInfo.ico and https://github.com/hiyohiyo/CrystalDiskMark/blob/master/res/DiskMark.ico to BMP files, then converted to PNG using mspaint.exe (which has come a long way ver the last few Windows versions in becoming actually useful).

The first file is better than your current 200x200x8 icon as it does not suffer from image compression and sizing artefacts.

CrystalDiskInfo-256x256x32-language-neutral.png CrystalDiskInfo-256x256x32-language-neutral.png CrystalDiskMark-256x256x32-language-neutral.png CrystalDiskMark-256x256x32-language-neutral.png

jpluimers commented 1 year ago

Note so self:

  1. recursively copy the existing crystaldiskinfo.portable directory to crystaldiskmark.portable
  2. update the various files in them by searching for crystaldiskinfo, then deciding what to do with input from https://github.com/hiyohiyo/CrystalDiskMark
  3. test locally and return to 2. for fixes
  4. submit pull request
jpluimers commented 1 year ago

I will use a placeholder LICENSE.txt, see https://github.com/hiyohiyo/CrystalDiskMark/issues/24

jpluimers commented 1 year ago

There will be no opusdec.exe.ignore as unlike these CrystalDiskInfo executables from https://free.nchc.org.tw/osdn//crystaldiskinfo/78047/CrystalDiskInfo8_17_13.zip

that use MSOpusDecoder.dll, neither of these CrystalDiskMark executables from https://free.nchc.org.tw/osdn//crystaldiskmark/77936/CrystalDiskMark8_0_4c.zip

uses MSOpusDecoder.dll.

jpluimers commented 1 year ago

I am going to re-use part of the description in .nuspec and .md from https://github.com/microsoft/diskspd as that is what https://github.com/hiyohiyo/CrystalDiskMark uses behind the scenes (it got removed from <://crystalmark.info/en/software/crystaldiskmark/>but is still present in https://web.archive.org/web/20190406035329/https://crystalmark.info/en/software/crystaldiskmark/ and https://archive.vn/2019.04.06-035329/https://crystalmark.info/en/software/crystaldiskmark/ :

DISKSPD is a storage load generator / performance test tool from the Windows/Windows Server and Cloud Server Infrastructure Engineering teams

jpluimers commented 1 year ago

I cannot test the modified copy of https://github.com/mkevenaar/chocolatey-packages/blob/master/automatic/crystaldiskinfo.portable/update.ps1 for a couple of reasons:

  1. Get-RedirectedUrl and Get-Version are in a module au which I cannot find
  2. $re (which I renamed to $regex to have a bit more readability so it is less easy to be confused with for instance $releases needs to accommodate version numbers that can contain a trailing lowercase letter (like the hopefully current 8.0.4c)
  3. the first $url assignment is way too long, so I split it in two lines each assigning $url (for readability it might be better to have a $canonicalUrl and $redirectionUrl
  4. the lines $url = Get-RedirectedUrl $url and $version = Get-Version($version) are untestable
  5. function global:au_SearchReplace is a write-only blob of undocumented regular expression gibberish I won't touch with a 12-foot pole

I could test the other $url and $version assignments, to if Get-Version($version) understands how to split 8.04c, then it should be OK.

I managed to add all other files and think they are OK. Please give it a thorough review when I submit the pull-request shortly.

jpluimers commented 1 year ago

[Archive] https://ci.appveyor.com/project/mkevenaar/chocolatey-packages/builds/45922089#L334 indicates the Get-Version($version) fails to understands how to split 8.04c into a version.

Invalid nuspec file Version '8.0.4c' - using 0.0
   [1/1] crystaldiskmark.portable is updated to 8.0.4-c (52.36s)

Is there documentation about Get-Version($version) and how the result of function global:au_GetLatest is supposed to be handled by the auto-update mechanism?