ScoopInstaller / Extras

📦 The Extras bucket for Scoop.
https://scoop.sh
The Unlicense
1.74k stars 1.31k forks source link

[Bug]: notepadplusplus plugins shipped with package are not updated #12589

Closed danielpauldd closed 5 months ago

danielpauldd commented 5 months ago

Prerequisites

Package Name

notepadplusplus

Expected/Current Behaviour

When updating the notepadplusplus package the plugins that are shipped with Notepad++ portable zip are not updated.

The plugins are installed in a subfolder plugins of the application directory. The plugins folder is configured as persist and the folder shipped with the Notepad++ update is stored as plugins.original.

I would expect, that the contents of plugins.orginal/ is copied to plugins folder to update the plugins that are shipped with Notepad++

Steps to Reproduce

scoop uninstall notepadplusplus
# check that nothing is left 
gci D:\Tools\scoop\apps\notepadplus*
# remove persit dir of notepadplusplus
Remove-Item -Recurse D:\Tools\scoop\persist\notepadplusplus\

# get old version of extras bucket to install old npp version 8.2.1
cd D:\Tools\scoop\buckets\extras
git checkout 297854268ca528a08bb516244f4b1c6376b71a29
scoop install notepadplusplus

# check plugins folder and content
gci D:\Tools\scoop\apps\notepadplusplus\current\plugin*
gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugin*

# get current version of extras bucket
git checkout master

# update npp
scoop update notepadplusplus

# check plugins folders
gci D:\Tools\scoop\apps\notepadplusplus\current\plugin*

# check plugins\ folder contents
gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugins\
# --> still the old stuff

# check plugins.original\ folder contents
gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\
# --> new versions of the plugins

#### Result of the steps above ####:

PS D:\> scoop uninstall notepadplusplus
Uninstalling 'notepadplusplus' (8.6.1).
Running uninstaller script...
Der Vorgang wurde erfolgreich beendet.
Removing shim 'notepad++.shim'.
Removing shim 'notepad++.exe'.
Removing shortcut ~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Scoop Apps\Notepad++.lnk
Unlinking D:\Tools\scoop\apps\notepadplusplus\current
Removing older version (8.2.1).
Get-Item : Der Pfad "D:\Tools\scoop\apps\notepadplusplus\8.2.1\stylers.xml" kann nicht gefunden werden, da er nicht vorhanden ist.
In D:\Tools\scoop\apps\scoop\current\lib\install.ps1:1182 Zeichen:23
+             $source = Get-Item "$dir\$source"
+                       ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (D:\Tools\scoop\...2.1\stylers.xml:String) [Get-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

'notepadplusplus' was uninstalled.
PS D:\> # check that nothing is left
PS D:\> gci D:\Tools\scoop\apps\notepadplus*
PS D:\> # remove persit dir of notepadplusplus
PS D:\> Remove-Item -Recurse D:\Tools\scoop\persist\notepadplusplus\
PS D:\>
PS D:\> # get old version of extras bucket to install old npp version 8.2.1
PS D:\> cd D:\Tools\scoop\buckets\extras
PS D:\Tools\scoop\buckets\extras> git checkout 297854268ca528a08bb516244f4b1c6376b71a29
Updating files: 100% (1608/1608), done.
Note: switching to '297854268ca528a08bb516244f4b1c6376b71a29'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 297854268 notepadplusplus: Update to version 8.2.1
PS D:\Tools\scoop\buckets\extras> scoop install notepadplusplus
Installing 'notepadplusplus' (8.2.1) [64bit] from extras bucket
Loading npp.8.2.1.portable.x64.zip from cache
Checking hash of npp.8.2.1.portable.x64.zip ... ok.
Loading install-context.reg from cache
Checking hash of install-context.reg ... ok.
Loading uninstall-context.reg from cache
Checking hash of uninstall-context.reg ... ok.
Extracting npp.8.2.1.portable.x64.zip ... done.
Running pre_install script...
Linking D:\Tools\scoop\apps\notepadplusplus\current => D:\Tools\scoop\apps\notepadplusplus\8.2.1
Creating shim for 'notepad++'.
Creating shortcut for Notepad++ (notepad++.exe)
Persisting backup
Persisting cloud
Persisting plugins
Persisting themes
Persisting userDefineLangs
Persisting config.xml
Persisting nativeLang.xml
Persisting session.xml
Persisting shortcuts.xml
Persisting userDefineLang.xml
'notepadplusplus' (8.2.1) was installed successfully!
Notes
-----
Add Notepad++ as a context menu option by running: reg import "D:\Tools\scoop\apps\notepadplusplus\current\install-context.reg"
PS D:\Tools\scoop\buckets\extras> # check plugins folder and content
PS D:\Tools\scoop\buckets\extras> gci D:\Tools\scoop\apps\notepadplusplus\current\plugin*

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r--l        10.01.2024     23:01                plugins

PS D:\Tools\scoop\buckets\extras> gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugin*

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        19.01.2022     18:46                Config

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\Config

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:45         173480 nppPluginList.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        19.01.2022     18:46                doc
d-----        19.01.2022     18:46                mimeTools

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\mimeTools

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         125352 mimeTools.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        19.01.2022     18:46                NppConverter

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\NppConverter

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         174504 NppConverter.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        19.01.2022     18:46                NppExport

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\NppExport

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         136104 NppExport.dll

PS D:\Tools\scoop\buckets\extras>
PS D:\Tools\scoop\buckets\extras> # get current version of extras bucket
PS D:\Tools\scoop\buckets\extras> git checkout master
Updating files: 100% (1608/1608), done.
Previous HEAD position was 297854268 notepadplusplus: Update to version 8.2.1
Switched to branch 'master'
Your branch is up to date with 'origin/master'.
PS D:\Tools\scoop\buckets\extras>
PS D:\Tools\scoop\buckets\extras> # update npp
PS D:\Tools\scoop\buckets\extras> scoop update notepadplusplus
notepadplusplus: 8.2.1 -> 8.6.1
Updating one outdated app:
Updating 'notepadplusplus' (8.2.1 -> 8.6.1)
Downloading new version
Loading npp.8.6.1.portable.x64.zip from cache
Checking hash of npp.8.6.1.portable.x64.zip ... ok.
Uninstalling 'notepadplusplus' (8.2.1)
Removing shim 'notepad++.shim'.
Removing shim 'notepad++.exe'.
Unlinking D:\Tools\scoop\apps\notepadplusplus\current
Installing 'notepadplusplus' (8.6.1) [64bit] from extras bucket
Loading npp.8.6.1.portable.x64.zip from cache
Extracting npp.8.6.1.portable.x64.zip ... done.
Running pre_install script...
Linking D:\Tools\scoop\apps\notepadplusplus\current => D:\Tools\scoop\apps\notepadplusplus\8.6.1
Creating shim for 'notepad++'.
Creating shortcut for Notepad++ (notepad++.exe)
Persisting backup
Persisting cloud
Persisting plugins
Persisting themes
Persisting userDefineLangs
Persisting config.xml
Persisting nativeLang.xml
Persisting session.xml
Persisting shortcuts.xml
Persisting stylers.xml
Persisting userDefineLang.xml
Running post_install script...
'notepadplusplus' (8.6.1) was installed successfully!
Notes
-----
Add Notepad++ as a context menu option by running: reg import "D:\Tools\scoop\apps\notepadplusplus\current\install-context.reg"
PS D:\Tools\scoop\buckets\extras>
PS D:\Tools\scoop\buckets\extras> # check plugins folders
PS D:\Tools\scoop\buckets\extras> gci D:\Tools\scoop\apps\notepadplusplus\current\plugin*

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r--l        10.01.2024     23:01                plugins
d-----        04.01.2024     06:14                plugins.original

PS D:\Tools\scoop\buckets\extras>
PS D:\Tools\scoop\buckets\extras> # check plugins\ folder contents
PS D:\Tools\scoop\buckets\extras> gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugins\

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        19.01.2022     18:46                Config
d-----        19.01.2022     18:46                doc
d-----        19.01.2022     18:46                mimeTools
d-----        19.01.2022     18:46                NppConverter
d-----        19.01.2022     18:46                NppExport

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\Config

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:45         173480 nppPluginList.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\mimeTools

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         125352 mimeTools.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\NppConverter

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         174504 NppConverter.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins\NppExport

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        19.01.2022     18:46         136104 NppExport.dll

PS D:\Tools\scoop\buckets\extras> # --> still the old stuff
PS D:\Tools\scoop\buckets\extras>
PS D:\Tools\scoop\buckets\extras> # check plugins.original\ folder contents
PS D:\Tools\scoop\buckets\extras> gci -Recurse D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins.original

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        04.01.2024     06:14                Config
d-----        04.01.2024     06:14                doc
d-----        04.01.2024     06:14                mimeTools
d-----        04.01.2024     06:14                NppConverter
d-----        04.01.2024     06:14                NppExport

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\Config

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04.01.2024     06:14         208216 nppPluginList.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\mimeTools

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04.01.2024     06:14         148824 mimeTools.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\NppConverter

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04.01.2024     06:14         204120 NppConverter.dll

    Verzeichnis: D:\Tools\scoop\apps\notepadplusplus\current\plugins.original\NppExport

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----        04.01.2024     06:14         157528 NppExport.dll

PS D:\Tools\scoop\buckets\extras> # --> new versions of the plugins

Possible Solution

copy the contents of plugins.orginal to plugins folder as a post install task.

Scoop and Buckets Version

Current Scoop version:
v0.3.1 - Released at 2022-11-15

'extras' bucket:
a3e92bfc0 (HEAD -> master, origin/master, origin/HEAD) vivaldi: Update to version 6.5.3206.53

'main' bucket:
c78ca959a (HEAD -> master, origin/master, origin/HEAD) ugrep: Update to version 4.5.2

Scoop Config

root_path    : D:\Tools\scoop\
global_path  : D:\Tools\scoop_global\
last_update  : 2024-01-10T21:40:02.0039470+01:00
scoop_branch : master
scoop_repo   : https://github.com/ScoopInstaller/Scoop

PowerShell Version

Name                           Value
----                           -----
PSVersion                      5.1.19041.3803
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.19041.3803
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Additional Softwares

No response

HUMORCE commented 5 months ago

Can you make a PR for that?

danielpauldd commented 5 months ago

Can you make a PR for that?

yes, sure