NOTE: Patches are not used anymore with Grouper 2.5+ |
This topic is discussed in the "Grouper Patcher" training video. |
In Grouper v2.2.2 and above, the Grouper installer can apply patches to Grouper. Patches are applied only to built Grouper envs (e.g. the binary API which might be the daemon and include PSPNG), the webapp for the WS/UI).
Patches are applied:
Any patch that requires any other patch is dependent on that patch. Otherwise everything is compatible (e.g. you can skip patches). If you go to a dot release in one component you need to do that for all components. You can patch the UI to a certain level of API but not other components (e.g. WS). Though generally you will want to keep all components at the same API patch level.
You can install patches, revoke patches, or just get a patch status. Note, if you are patching the UI or WS for example, you do not need to patch the API for the UI/WS, you just need to run the patcher for the UI or WS. It will apply and manage the API patches as well.
Patches for a release are listed on the release notes page for that release. e.g. v2.2 release notes
Note, If reverting patches doesn’t work, and you skipped that part in an upgrade, then before new patches are applied, look through the WEB-INF/classes dir for classfiles, and if you have never overridden or coded your own, then delete all classfiles in the subdirs. If you have, then keep yours, and delete the others.
Run:
java -jar grouperInstaller.jar |
Note, if you need a grouper.installer.properties file, run like this:
java -cp .:grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller |
Output of a patch status:
Do you want to 'install' a new installation of grouper, 'upgrade' an existing installation or 'patch' an existing installation (enter: 'install', 'upgrade', 'patch' or blank for the default) [install]: patch Enter in a Grouper temp directory to download tarballs (note: better if no spaces or special chars) [C:\app\grouperInstallerTarballDir]: What do you want to patch? api, ui, ws, or psp? [psp]: ui Where is the grouper UI installed? [C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper]: What do you want to do with patches (install, revert, status)? [install]: status ################ Checking patch grouper_v2_2_1_api_patch_0 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar Patch grouper_v2_2_1_api_patch_0 is low risk, is not a security patch Patch grouper_v2_2_1_api_patch_0 requires a restart This patch fixes GRP-1095: hibernate exception handling masked original exception if roll ################ Checking patch grouper_v2_2_1_api_patch_1 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_1.tar.gz ################ Checking patch grouper_v2_2_1_ui_patch_0 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar Patch grouper_v2_2_1_ui_patch_0 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_0 does not require a restart This patch fixes GRP-1080: browse folders refresh button only works in chrome, not other browsers ################ Checking patch grouper_v2_2_1_ui_patch_1 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_1.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar Patch grouper_v2_2_1_ui_patch_1 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_1 requires a restart This patch fixes GRP-1082: grouper paging tag2 has one word not externalized ################ Checking patch grouper_v2_2_1_ui_patch_2 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_2.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar Patch grouper_v2_2_1_ui_patch_2 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_2 requires a restart This patch fixes GRP-1086: extra system out print in ui ################ Checking patch grouper_v2_2_1_ui_patch_3 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_3.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar Patch grouper_v2_2_1_ui_patch_3 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_3 requires a restart This patch fixes GRP-1083: cannot set enabled/disabled dates in ui ################ Checking patch grouper_v2_2_1_ui_patch_4 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_4.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar Patch grouper_v2_2_1_ui_patch_4 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_4 does not require a restart This patch fixes GRP-1087: edit membership page shows large H as icon in title ################ Checking patch grouper_v2_2_1_ui_patch_5 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_5.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar Patch grouper_v2_2_1_ui_patch_5 is low risk, is not a security patch Patch grouper_v2_2_1_ui_patch_5 does not require a restart This patch fixes GRP-1088: attribute def left menu link throws error ################ Checking patch grouper_v2_2_1_ui_patch_6 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_6.tar.gz |
Output when patching the UI:
Do you want to 'install' a new installation of grouper, 'upgrade' an existing installation or 'patch' an existing installation (enter: 'install', 'upgrade', 'patch' or blank for the default) [install]: patch Enter in a Grouper temp directory to download tarballs (note: better if no spaces or special chars) [C:\app\grouperInstallerTarballDir]: What do you want to patch? api, ui, ws, or psp? [psp]: ui Where is the grouper UI installed? [C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper]: What do you want to do with patches (install, revert, status)? [install]: ################ Checking patch grouper_v2_2_1_api_patch_0 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar Patch grouper_v2_2_1_api_patch_0 is low risk, is not a security patch This patch fixes GRP-1095: hibernate exception handling masked original exception if roll Would you like to install patch grouper_v2_2_1_api_patch_0 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_api_patch_0.date = 2014/12/18 09:32:08 This patch requires all processes that user Grouper to be stopped. Please stop these processes if they are running and press <enter> to continue... Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\hibernate\HibernateSession.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\hibernate\HibernateSession.java Patch successfully applied: grouper_v2_2_1_api_patch_0 - added to end of property file: grouper_v2_2_1_api_patch_0.state = applied ################ Checking patch grouper_v2_2_1_api_patch_1 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_1.tar.gz ################ Checking patch grouper_v2_2_1_ui_patch_0 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar Patch grouper_v2_2_1_ui_patch_0 is low risk, is not a security patch This patch fixes GRP-1080: browse folders refresh button only works in chrome, not other browsers Would you like to install patch grouper_v2_2_1_ui_patch_0 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_0.date = 2014/12/18 09:32:45 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\index\index.jsp Patch successfully applied: grouper_v2_2_1_ui_patch_0 - added to end of property file: grouper_v2_2_1_ui_patch_0.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_1 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_1.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar Patch grouper_v2_2_1_ui_patch_1 is low risk, is not a security patch This patch fixes GRP-1082: grouper paging tag2 has one word not externalized Would you like to install patch grouper_v2_2_1_ui_patch_1 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_1.date = 2014/12/18 09:32:52 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\ui\tags\GrouperPagingTag2.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\ui\tags\GrouperPagingTag2.java Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\grouperText\grouper.text.en.us.base.properties Patch successfully applied: grouper_v2_2_1_ui_patch_1 - added to end of property file: grouper_v2_2_1_ui_patch_1.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_2 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_2.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar Patch grouper_v2_2_1_ui_patch_2 is low risk, is not a security patch This patch fixes GRP-1086: extra system out print in ui Would you like to install patch grouper_v2_2_1_ui_patch_2 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_2.date = 2014/12/18 09:32:56 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig$1.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig.java Patch successfully applied: grouper_v2_2_1_ui_patch_2 - added to end of property file: grouper_v2_2_1_ui_patch_2.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_3 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_3.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar Patch grouper_v2_2_1_ui_patch_3 is low risk, is not a security patch This patch fixes GRP-1083: cannot set enabled/disabled dates in ui Would you like to install patch grouper_v2_2_1_ui_patch_3 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_3.date = 2014/12/18 09:33:00 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$1.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$10.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$11.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$12.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$13.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$14.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$15.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$16.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$17.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$18.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$19.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$2.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$20.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$21$1.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$21.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$22.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$3.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$4.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$5.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$6.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$7.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$8.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$9.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group.class Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group.java Patch successfully applied: grouper_v2_2_1_ui_patch_3 - added to end of property file: grouper_v2_2_1_ui_patch_3.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_4 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_4.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar Patch grouper_v2_2_1_ui_patch_4 is low risk, is not a security patch This patch fixes GRP-1087: edit membership page shows large H as icon in title Would you like to install patch grouper_v2_2_1_ui_patch_4 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_4.date = 2014/12/18 09:33:08 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\editMembership.jsp Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceAttributeDefPrivileges.jsp Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceMembership.jsp Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\tracePrivileges.jsp Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceStemPrivileges.jsp Patch successfully applied: grouper_v2_2_1_ui_patch_4 - added to end of property file: grouper_v2_2_1_ui_patch_4.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_5 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_5.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar Patch grouper_v2_2_1_ui_patch_5 is low risk, is not a security patch This patch fixes GRP-1088: attribute def left menu link throws error Would you like to install patch grouper_v2_2_1_ui_patch_5 (t|f)? [t]: - added to end of property file: grouper_v2_2_1_ui_patch_5.date = 2014/12/18 09:33:13 Applying file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\grouperExternal\public\assets\js\grouperUi.js Patch successfully applied: grouper_v2_2_1_ui_patch_5 - added to end of property file: grouper_v2_2_1_ui_patch_5.state = applied ################ Checking patch grouper_v2_2_1_ui_patch_6 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_6.tar.gz |
Output of reverting patches:
Do you want to 'install' a new installation of grouper, 'upgrade' an existing installation or 'patch' an existing installation (enter: 'install', 'upgrade', 'patch' or blank for the default) [install]: patch Enter in a Grouper temp directory to download tarballs (note: better if no spaces or special chars) [C:\app\grouperInstallerTarballDir]: What do you want to patch? api, ui, ws, or psp? [psp]: ui Where is the grouper UI installed? [C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper]: What do you want to do with patches (install, revert, status)? [install]: revert ################ Checking patch grouper_v2_2_1_ui_patch_0 Patch: grouper_v2_2_1_ui_patch_0: was applied on: 2014/12/18 09:32:45 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_0.tar Patch grouper_v2_2_1_ui_patch_0 is low risk, is not a security patch This patch fixes GRP-1080: browse folders refresh button only works in chrome, not other browsers Would you like to revert patch grouper_v2_2_1_ui_patch_0 (t|f)? [f]: t Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\index\index.jsp Patch successfully reverted: grouper_v2_2_1_ui_patch_0 - set property: grouper_v2_2_1_ui_patch_0.date from: 2014/12/18 09:32:45 to: 2014/12/18 09:46:49 - set property: grouper_v2_2_1_ui_patch_0.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_1 Patch: grouper_v2_2_1_ui_patch_1: was applied on: 2014/12/18 09:32:52 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_1.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_1.tar Patch grouper_v2_2_1_ui_patch_1 is low risk, is not a security patch This patch fixes GRP-1082: grouper paging tag2 has one word not externalized Would you like to revert patch grouper_v2_2_1_ui_patch_1 (t|f)? [f]: t This patch requires all processes that user Grouper to be stopped. Please stop these processes if they are running and press <enter> to continue... Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\ui\tags\GrouperPagingTag2.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\ui\tags\GrouperPagingTag2.java Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\grouperText\grouper.text.en.us.base.properties Patch successfully reverted: grouper_v2_2_1_ui_patch_1 - set property: grouper_v2_2_1_ui_patch_1.date from: 2014/12/18 09:32:52 to: 2014/12/18 09:46:58 - set property: grouper_v2_2_1_ui_patch_1.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_2 Patch: grouper_v2_2_1_ui_patch_2: was applied on: 2014/12/18 09:32:56 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_2.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_2.tar Patch grouper_v2_2_1_ui_patch_2 is low risk, is not a security patch This patch fixes GRP-1086: extra system out print in ui Would you like to revert patch grouper_v2_2_1_ui_patch_2 (t|f)? [f]: t Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig$1.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouperClient\config\GrouperUiTextConfig.java Patch successfully reverted: grouper_v2_2_1_ui_patch_2 - set property: grouper_v2_2_1_ui_patch_2.date from: 2014/12/18 09:32:56 to: 2014/12/18 09:47:12 - set property: grouper_v2_2_1_ui_patch_2.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_3 Patch: grouper_v2_2_1_ui_patch_3: was applied on: 2014/12/18 09:33:00 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_3.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_3.tar Patch grouper_v2_2_1_ui_patch_3 is low risk, is not a security patch This patch fixes GRP-1083: cannot set enabled/disabled dates in ui Would you like to revert patch grouper_v2_2_1_ui_patch_3 (t|f)? [f]: t Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$1.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$10.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$11.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$12.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$13.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$14.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$15.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$16.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$17.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$18.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$19.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$2.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$20.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$21$1.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$21.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$22.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$3.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$4.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$5.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$6.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$7.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$8.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group$9.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\Group.java Patch successfully reverted: grouper_v2_2_1_ui_patch_3 - set property: grouper_v2_2_1_ui_patch_3.date from: 2014/12/18 09:33:00 to: 2014/12/18 09:47:16 - set property: grouper_v2_2_1_ui_patch_3.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_4 Patch: grouper_v2_2_1_ui_patch_4: was applied on: 2014/12/18 09:33:08 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_4.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_4.tar Patch grouper_v2_2_1_ui_patch_4 is low risk, is not a security patch This patch fixes GRP-1087: edit membership page shows large H as icon in title Would you like to revert patch grouper_v2_2_1_ui_patch_4 (t|f)? [f]: t Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\editMembership.jsp Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceAttributeDefPrivileges.jsp Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceMembership.jsp Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\tracePrivileges.jsp Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\grouperUi2\membership\traceStemPrivileges.jsp Patch successfully reverted: grouper_v2_2_1_ui_patch_4 - set property: grouper_v2_2_1_ui_patch_4.date from: 2014/12/18 09:33:08 to: 2014/12/18 09:47:18 - set property: grouper_v2_2_1_ui_patch_4.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_5 Patch: grouper_v2_2_1_ui_patch_5: was applied on: 2014/12/18 09:33:13 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_5.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_ui_patch_5.tar Patch grouper_v2_2_1_ui_patch_5 is low risk, is not a security patch This patch fixes GRP-1088: attribute def left menu link throws error Would you like to revert patch grouper_v2_2_1_ui_patch_5 (t|f)? [f]: t Reverting file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\grouperExternal\public\assets\js\grouperUi.js Patch successfully reverted: grouper_v2_2_1_ui_patch_5 - set property: grouper_v2_2_1_ui_patch_5.date from: 2014/12/18 09:33:13 to: 2014/12/18 09:47:19 - set property: grouper_v2_2_1_ui_patch_5.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_ui_patch_6 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_ui_patch_6.tar.gz ################ Checking patch grouper_v2_2_1_api_patch_0 Patch: grouper_v2_2_1_api_patch_0: was applied on: 2014/12/18 09:32:08 Downloading from URL: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_0.tar.gz to file: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Unzipping: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar.gz Expanding: C:\app\grouperInstallerTarballDir\grouper_v2_2_1_api_patch_0.tar Patch grouper_v2_2_1_api_patch_0 is low risk, is not a security patch This patch fixes GRP-1095: hibernate exception handling masked original exception if roll Would you like to revert patch grouper_v2_2_1_api_patch_0 (t|f)? [f]: t Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\hibernate\HibernateSession.class Reverting (deleting) file: C:\app\grouper_2_2_1_installer\grouper.ui-2.2.1\dist\grouper\WEB-INF\classes\edu\internet2\middleware\grouper\hibernate\HibernateSession.java Patch successfully reverted: grouper_v2_2_1_api_patch_0 - set property: grouper_v2_2_1_api_patch_0.date from: 2014/12/18 09:32:08 to: 2014/12/18 09:47:21 - set property: grouper_v2_2_1_api_patch_0.state from: applied to: reverted ################ Checking patch grouper_v2_2_1_api_patch_1 Patch doesnt exist yet (not an error): http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_1_api_patch_1.tar.gz |
If you are installing a patch and it won't install because a file is not what it expects:
Cannot apply patch since this patch file: /apps/grouper/grouper-2.2.1/patches/grouper_v2_2_1_ui_patch_6/old/files/WEB-INF/grouperUi2/index/index.jsp is not the same as what the patch expects: /apps/GMS/WEB-INF/grouperUi2/index/index.jsp |
You can do this:
Backup the file that cannot be patched /apps/GMS/WEB-INF/grouperUi2/index/index.jsp
Copy the file it expects: /apps/grouper/grouper-2.2.1/patches/grouper_v2_2_1_ui_patch_6/old/files/WEB-INF/grouperUi2/index/index.jsp
On top of: /apps/GMS/WEB-INF/grouperUi2/index/index.jsp
Then try to install the patch again… diff the backup with the new and put back in your manual edits
Note, patches for modules should not contain files from other modules, e.g. do not have API files in a UI patch
A patch is a file on the download server in the patches directory in a version. A patch is custom made for a specific version of Grouper. Patches can be for the client, api, ui, ws, psp, etc, each function of Grouper.
Example: http://software.internet2.edu/grouper/release/2.2.1/patches/grouper_v2_2_2_api_patch_0.tar.gz
Inside the patch tarball is:
/grouper_v2_2_1_api_patch_0/grouper_v2_2_1_api_patch_0.properties start with directory of patch name patch name dot properties is metadata about the patch /grouper_v2_2_1_api_patch_0/old/classes /old has files which are being changed /classes are files on the classpath (note, this might be in WEB-INF/classes) /grouper_v2_2_1_api_patch_0/old/lib /lib is jars (note, this might be in WEB-INF/classes) /grouper_v2_2_1_api_patch_0/old/files/some dir path to files /files are files (that arent on classpath or lib) /grouper_v2_2_1_api_patch_0/new/classes /new has files which are the new version, which dont have to exist in /old /classes are files on the classpath (note, this might be in WEB-INF/classes) /grouper_v2_2_1_api_patch_0/new/lib /lib is jars (note, this might be in WEB-INF/classes) /grouper_v2_2_1_api_patch_0/new/files/some dir path to files /files are files (that arent on classpath or lib) |
Patch properties file:
# will show up on screen so user knows what it is description = This patch fixes GRP-123: button on screen whatever didnt work # patches that this patch is dependant on (comma separated). Note, patch must be in a previous function or a lower number dependencies = grouper_v2_2_1_api_patch_0 # low, medium, or high risk to applying the patch risk = low # is this is a security patch (true or false) security = false # if this patch requires restart of processes (true or false) requiresRestart = false |
When the patching is complete there is a properties file in the grouper installation to keep track of which patches were applied: grouperPatchStatus.properties
This is stored in the main directory of the installation or in the WEB-INF directory if it exists
# patchname dot applied will have the date this patch was applied grouper_v2_2_1_api_patch_0.applied = 2014/10/23 12:23:34.123 |
Patches are also stored in git in the API under misc/patches. note, these shouldnt be merged forward to other branches
# added by grouper-installer grouper_v2_2_1_api_patch_0.date = 2015/01/18 17:45:34 # added by grouper-installer grouper_v2_2_1_api_patch_0.state = applied |
# if patches that are named grouper_v2_2_1_api_patch_0_test.tar.gz should be used to test a patch grouperInstaller.useTestPatches = false |
if you have a config file, remember to run the grouperInstaller like this
java -cp .:grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller |
See also