Extras icon indicating copy to clipboard operation
Extras copied to clipboard

beyondcompare5: Add version 5.0.2.30045

Open pohlymorph opened this issue 1 year ago • 2 comments

The Scoop 'Extras' bucket supports only version Beyond Compare 4 so far - this PR introduces Beyond Compare 5.

Closes #13663

Relates to #13663

pohlymorph avatar Sep 15 '24 18:09 pohlymorph

All changes look good.

Wait for review from human collaborators.

beyondcompare5

  • [x] Description
  • [x] License
  • [x] Hashes
  • [x] Checkver
  • [x] Autoupdate

github-actions[bot] avatar Sep 15 '24 18:09 github-actions[bot]

Edited PR description above:

  • the referenced issue https://github.com/ScoopInstaller/Extras/issues/13663 wanted to add Beyond Compare 5 (beta at that time)
  • Beyond Compare 5 is out of beta phase nowadays
- for the PR at hand, I decided to create a manifest for Beyond Compare **5** on its own (while keeping Beyond Compare **4**'s manifest as is) - this is because folks having purchased a license for **4** won't necessarily upgrade to **5**

pohlymorph avatar Oct 03 '24 11:10 pohlymorph

Who is responsible to review and merge these PRs?

mateherber-jt avatar Nov 08 '24 12:11 mateherber-jt

Ping! What is the process of getting an approval here?

pohlymorph avatar Dec 15 '24 12:12 pohlymorph

/verify

pohlymorph avatar Dec 15 '24 12:12 pohlymorph

Your changes do not pass checks.

beyondcompare5

  • [x] Description
  • [x] License
  • [x] Hashes
  • [ ] Checkver
  • [x] Autoupdate

github-actions[bot] avatar Dec 15 '24 13:12 github-actions[bot]

/verify

pohlymorph avatar Dec 15 '24 13:12 pohlymorph

All changes look good.

Wait for review from human collaborators.

beyondcompare5

  • [x] Description
  • [x] License
  • [x] Hashes
  • [x] Checkver
  • [x] Autoupdate

github-actions[bot] avatar Dec 15 '24 13:12 github-actions[bot]

Can I have an approval here, please.

pohlymorph avatar Dec 15 '24 13:12 pohlymorph

/verify

pohlymorph avatar Dec 27 '24 01:12 pohlymorph

All changes look good.

Wait for review from human collaborators.

beyondcompare5

  • [x] Description
  • [x] License
  • [x] Hashes
  • [x] Checkver
  • [x] Autoupdate

github-actions[bot] avatar Dec 27 '24 01:12 github-actions[bot]

I apologize, guys for approaching you via 'mentioning all members of ScoopInstaller', but how can I get a review here? - I am pretty sure that also other people would like to see Beyond Compare 5 installable via scoop. Currently only previous version 4 is installable via scoop...

@brandon93s @chawyehsu @deevus @goostleek @HUMORCE @issaclin32 @lukesampson @niheaven @r15ch13 @rasa @rashil2000 @tech189

pohlymorph avatar Jan 07 '25 09:01 pohlymorph

Update beyondcompare to v5, instead created a separate manifest.

Upgradation between v4 and v5 are not free, moving the v4 manifest to Versions bucket as same time.

HUMORCE avatar Jan 07 '25 12:01 HUMORCE

@HUMORCE Yeah, I am very aware of the fact that Update v4 to v5 is not free:

  • I think making manifest 'beyondcompare' installing v5 now will not be appreciated by the v4 users which will get v5 unsolicited (unless I misunderstand the mechanism...)
  • therefore I created a new manifest 'beondcompare5'

However if you just tell me to do as you indicated I will do so:

  • 'move' v4 manifest to bucket 'versions'
  • 'rename' v5 manifest (and related files) in bucket 'extras'

pohlymorph avatar Jan 07 '25 12:01 pohlymorph

It's something that has to be done sooner or later, unless versions bucket does not exist.

Obviously, Scoop is missing some function to handle this situation. No matter what we do, there will be users who are confused, either v4 users, v5 users or both of them.


Might be a reference for the PR:

notes of v5 manifest:

The manifest already updated to v5, if you want to stay on v4:

  - Install 'versions/beyondcompare4' instead. (Recommendation)
  - Execute 'scoop reset [email protected]; scoop hold beyondcompare', if you have a v4 installation now.
    It can check via `scoop info beyondcompare`.

Or maybe you want to upgrade license from v4 to v5: https://www.scootersoftware.com/kb/upgradepolicy

notes of v4 manifest:

When migrated from 'extras/beyondcompare', persistence data required a manual migration:
  i.e. Rename '~\persist\beyondcompare' to '~\persist\beyondcompare4', then (re)install the manifest.

HUMORCE avatar Jan 07 '25 22:01 HUMORCE

/verify

pohlymorph avatar Jan 10 '25 10:01 pohlymorph

All changes look good.

Wait for review from human collaborators.

beyondcompare

  • [x] Description
  • [x] License
  • [x] Hashes
  • [x] Checkver
  • [x] Autoupdate

github-actions[bot] avatar Jan 10 '25 10:01 github-actions[bot]

Hi @HUMORCE, since you were kind enough to review a previous version of this PR and since you gave comments above ..., hello @niheaven, since you 'thumped up' ...

I guess we are ready to go, if a reviewer gives her OK. Mind that https://github.com/ScoopInstaller/Versions/pull/2102 should probably merged first for continuity.

pohlymorph avatar Jan 10 '25 10:01 pohlymorph

Does Clipboard Compare really needed? I found that BeyondCompare support portable install but there's no Clipboard Compare in this mode.

niheaven avatar Jan 10 '25 12:01 niheaven

Hi @niheaven, the manifest configures the setup as 'silent' (not 'portable'): to the best of my knowledge according to https://www.scootersoftware.com/kb/shellex if we install portable then the shell extensions (context menus) won't be available... (but frankly I did not verify)

  • BCShellEx.dll
  • BCShellEx64.dll

As for 'BCClipboard' required or not ... I am a bit clueless to be honest. Me myself, I don't use it. However it gets installed: Here is the list of files, I see after installation via manifest as of now:

  • scoop\apps\beyondcompare\5.0.4.30422\install.json
  • scoop\apps\beyondcompare\5.0.4.30422\uninstall-context.reg
  • scoop\apps\beyondcompare\5.0.4.30422\install-context.reg
  • scoop\apps\beyondcompare\5.0.4.30422\unins000.dat
  • scoop\apps\beyondcompare\5.0.4.30422\unins000.msg
  • scoop\apps\beyondcompare\5.0.4.30422\unins000.exe
  • scoop\apps\beyondcompare\5.0.4.30422\manifest.json
  • scoop\apps\beyondcompare\5.0.4.30422\BCompare.exe
  • scoop\apps\beyondcompare\5.0.4.30422\BCClipboard.exe
  • scoop\apps\beyondcompare\5.0.4.30422\BCompare.chm
  • scoop\apps\beyondcompare\5.0.4.30422\BCShellEx.dll
  • scoop\apps\beyondcompare\5.0.4.30422\BCShellEx.msix
  • scoop\apps\beyondcompare\5.0.4.30422\BCShellEx64.dll
  • scoop\apps\beyondcompare\5.0.4.30422\BComp.com
  • scoop\apps\beyondcompare\5.0.4.30422\BComp.exe
  • scoop\apps\beyondcompare\5.0.4.30422\BCUnRAR.dll
  • scoop\apps\beyondcompare\5.0.4.30422\7z.dll
  • scoop\apps\beyondcompare\5.0.4.30422\License.html
  • scoop\apps\beyondcompare\5.0.4.30422\Readme.txt
  • scoop\apps\beyondcompare\5.0.4.30422\BCDarkTheme.vsf
  • scoop\apps\beyondcompare\5.0.4.30422\PdfToText.exe
  • scoop\apps\beyondcompare\5.0.4.30422\Patch.exe
  • scoop\apps\beyondcompare\5.0.4.30422\mscoree.dll
  • scoop\apps\beyondcompare\5.0.4.30422\mime.types

pohlymorph avatar Jan 10 '25 12:01 pohlymorph

Hmm you are right, that shellex will disappeared in portable installation. It's strange that innounp could not unpack the installer, I'll check if it uses a new version of innosetup.

Edited: Using silent installation will also create an uninstall entry in registry, so I'm thinking about portable install.

niheaven avatar Jan 10 '25 12:01 niheaven

Okay, a better solution here: create a beyondcompare-np in nonportable bucket and leave portable installation here (w/o ShellEx and Clipboard Compare).

niheaven avatar Jan 10 '25 12:01 niheaven

Wow, are you certain? That seems to me a little bit too much an effort. I mean v4 wasn't portable either -- as far as my understanding extends...

Addendum: what are the installer options for 'portable' anyway? (EDIT: seems to be /PORTABLE)

pohlymorph avatar Jan 10 '25 13:01 pohlymorph

Since we're extract everything in v4, it should be portable, isn't it? Correct me if I'm wrong since I don't use BeyondCompare.

niheaven avatar Jan 10 '25 13:01 niheaven

Mmmmh, the v4 manifest used msi files - which are not / no longer supported for v5. Was it a portable installation? (No registry entries?) I am not sure...

Addendum: Foirgive my ignorance, does the utilisation in manifest of 'extract_dir' extract everything from the msi file?

EDIT: OK, just checked the installation via v4 manifest: and you are right its a portable installation; or at least there are no registry entries whatsoever.

pohlymorph avatar Jan 10 '25 13:01 pohlymorph

Please try the following manifest: (you could paste it in existing beyondcompare.json)

beyondcompare.json
{
    "version": "5.0.4.30422",
    "description": "Directory and file compare functions in one package",
    "homepage": "https://www.scootersoftware.com",
    "license": {
        "identifier": "Shareware",
        "url": "https://www.scootersoftware.com/kb/licensev5"
    },
    "notes": [
        "The manifest already updated to v5, if you want to stay on v4 proceed as follows:",
        "",
        "- Install 'versions/beyondcompare4' instead. (Recommendation)",
        "- Execute 'scoop reset [email protected]; scoop hold beyondcompare', you should have a v4 installation now.",
        "- Check via `scoop info beyondcompare`",
        "",
        "Or maybe you want to upgrade license from v4 to v5: https://www.scootersoftware.com/kb/upgradepolicy"
    ],
    "url": "https://www.scootersoftware.com/files/BCompare-5.0.4.30422.exe",
    "hash": "d74892601a50514b5636e27d4be4d3ac38597f2f6c7c7b6b5b169a48ffa1f341",
    "architecture": {
        "64bit": {
            "installer": {
                "args": [
                    "/DIR=\"$dir\"",
                    "/VERYSILENT",
                    "/PORTABLE"
                ]
            }
        },
        "32bit": {
            "installer": {
                "args": [
                    "/32",
                    "/DIR=\"$dir\"",
                    "/VERYSILENT",
                    "/PORTABLE"
                ]
            }
        }
    },
    "bin": [
        "Bcomp.exe",
        "BCompare.exe"
    ],
    "shortcuts": [
        [
            "BCompare.exe",
            "Beyond Compare 5"
        ]
    ],
    "pre_install": [
        "$file = 'BCPreferences.xml'",
        "if (!(Test-Path \"$persist_dir\\BCPreferences.xml\")) {",
        "   $CONT = @('<BCPreferences Version=\"2\" MinVersion=\"2\"><TBcPrefs><CheckForUpdatesDayAmt Value=\"0\"/></TBcPrefs></BCPreferences>')",
        "   Set-Content \"$dir\\BCPreferences.xml\" $CONT -Encoding Ascii",
        "}",
        "$file = 'BCState.xml'",
        "if (!(Test-Path \"$persist_dir\\BCState.xml\")) {",
        "   New-Item \"$dir\\BCState.xml\" -Type file | Out-Null",
        "}"
    ],
    "persist": [
        "BCPreferences.xml",
        "BCState.xml"
    ],
    "checkver": {
        "url": "https://www.scootersoftware.com/download",
        "regex": "BCompare-([\\d.]+)\\.exe"
    },
    "autoupdate": {
        "url": "https://www.scootersoftware.com/files/BCompare-$version.exe"
    }
}

Keypoint (to make it portable) is BCState.xml under installed dir.

niheaven avatar Jan 10 '25 13:01 niheaven

Yeah, that seems to do the 'portable' trick :)

EDIT: FYI @niheaven, when I change (for example font and theme) via Beyond Compare GUI those changes

  • will be stored in 'scoop\apps\beyondcompare\5.0.4.30422\BCColors.xml'; which does not seem very portable / persistent across installation of different versions, i.e. updates

    • I guess as per intention the settings should end up in folder 'scoop\persist\beyondcompare'
  • the file's ('scoop\apps\beyondcompare\5.0.4.30422\BCColors.xml') content:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Produced by Beyond Compare 5 from Scooter Software -->
<BCColors Version="2" MinVersion="2">
	<TBcColors>
		<ThemeMode Value="tmLight"/>
	</TBcColors>
	<TDirColors>
		<FontStr Value="MesloLGMDZ Nerd Font;9"/>
	</TDirColors>
</BCColors>

pohlymorph avatar Jan 10 '25 14:01 pohlymorph

OK, how will we proceed?

  1. Will you commit your portable v5 manifest?
  2. Shall I create a PR against https://github.com/ScoopInstaller/Nonportable for the non-portable v5 manifest?

pohlymorph avatar Jan 10 '25 14:01 pohlymorph

I'll persist the setting tomorrow and push the commit. You could submit a nonportable version to nonportable bucket now.

niheaven avatar Jan 10 '25 14:01 niheaven

OK, very well - thanks.

pohlymorph avatar Jan 10 '25 15:01 pohlymorph