Admrgpch utility is provided to merge mutliple application patches into single patch. This can help in saving time and effort for executing many patches again and again.
There are some restrictions with AD Merge, it can't be used to merge patches of different releases, platforms or parallel modes.
Syntax Walkthorugh
with -preinstall or -driveronly options>]
[-verbose <level>] [-merge_name <pattern>]
[-manifest <filename>] [-logfile <filename>]
[-driveronly] [-admode]
Where
-help Print help message.
-verbose <level> Can be one of: { 0(SILENT),
1(QUIET), 2(VERBOSE) or 3(LOUD) }
Default - 1(QUIET).
-merge_name <pattern> The name of the merged patch (up to 24 chars).
Default - "merged".
-s <source_directory> Path of source directory where all patches to be
merged have been unzipped.
-d <destination_directory> Path of destination directory where the merged
patch will be created.
-preinstall <APPL_TOP>/admin/<TWO_TASK>/preinstall is the
source directory, like -s option
-driveronly Merge only patch driver files. But files will not
be copied.
-master <upgrade driver> Master upgrade driver to be merged with preinstall
upgrade fix drivers
-admode Only AD patches will be merged.
By default non-AD mode
-manifest <filename> Full pathname of a file containing the list of
patch zip files to be merged.
-logfile <filename> Admrgpch log file name.
Default:"<CWD>/admrgpch.log".
Steps for patch merging.
1. Download all the patched which need to be merged.
2. Make a source directory .
mkdir source_test
3. Unzip all the patches and copy them in source directory.
source_test
-bash-3.2$ ls
16759426 17385991
4. Make a target directory
mkdir target_test
5. Now run the below command to merge the patches.
admrgpch -s source_test -d target_test -merge_name test_patch
Log:
Executing the merge of the patch drivers
-- Processing patch: source_test/16759426
-- Processing file: source_test/16759426/u16759426.drv
-- Done processing file: source_test/16759426/u16759426.drv
-- Done processing patch: source_test/16759426
-- Processing patch: source_test/17385991
-- Processing file: source_test/17385991/u17385991.drv
-- Done processing file: source_test/17385991/u17385991.drv
-- Done processing patch: source_test/17385991
Copying files...
Character-set converting files...
2 unified drivers merged.
Patch merge completed successfully
Please check the log file at ./admrgpch.log.
6. Now do to target directory
cd target_test
we can see that the merge patch is created with merged driver file.
$ cd target_test
$ ls
16759426_README.html 17385991_README.html ad b17385991.ldt f17385991.ldt j16759426_fnd.zip metadata_files
16759426_README.txt 17385991_README.txt b16759426.ldt f16759426.ldt fnd j17385991_fnd.zip u_test_patch.drv
Now use normal adpatch from target_test directory for application of patches and pass u_test_patch.drv when prompted for driver file.
There are some restrictions with AD Merge, it can't be used to merge patches of different releases, platforms or parallel modes.
Syntax Walkthorugh
admrgpch
<source_directory> <destination_directory>
admrgpch <-s
<source_directory>|-preinstall> -d <destination_directory>
[-master <master upgrade driver. Valid onlywith -preinstall or -driveronly options>]
[-verbose <level>] [-merge_name <pattern>]
[-manifest <filename>] [-logfile <filename>]
[-driveronly] [-admode]
Where
-help Print help message.
-verbose <level> Can be one of: { 0(SILENT),
1(QUIET), 2(VERBOSE) or 3(LOUD) }
Default - 1(QUIET).
-merge_name <pattern> The name of the merged patch (up to 24 chars).
Default - "merged".
-s <source_directory> Path of source directory where all patches to be
merged have been unzipped.
-d <destination_directory> Path of destination directory where the merged
patch will be created.
-preinstall <APPL_TOP>/admin/<TWO_TASK>/preinstall is the
source directory, like -s option
-driveronly Merge only patch driver files. But files will not
be copied.
-master <upgrade driver> Master upgrade driver to be merged with preinstall
upgrade fix drivers
-admode Only AD patches will be merged.
By default non-AD mode
-manifest <filename> Full pathname of a file containing the list of
patch zip files to be merged.
-logfile <filename> Admrgpch log file name.
Default:"<CWD>/admrgpch.log".
Steps for patch merging.
1. Download all the patched which need to be merged.
2. Make a source directory .
mkdir source_test
3. Unzip all the patches and copy them in source directory.
source_test
-bash-3.2$ ls
16759426 17385991
4. Make a target directory
mkdir target_test
5. Now run the below command to merge the patches.
admrgpch -s source_test -d target_test -merge_name test_patch
Log:
Executing the merge of the patch drivers
-- Processing patch: source_test/16759426
-- Processing file: source_test/16759426/u16759426.drv
-- Done processing file: source_test/16759426/u16759426.drv
-- Done processing patch: source_test/16759426
-- Processing patch: source_test/17385991
-- Processing file: source_test/17385991/u17385991.drv
-- Done processing file: source_test/17385991/u17385991.drv
-- Done processing patch: source_test/17385991
Copying files...
Character-set converting files...
2 unified drivers merged.
Patch merge completed successfully
Please check the log file at ./admrgpch.log.
6. Now do to target directory
cd target_test
we can see that the merge patch is created with merged driver file.
$ cd target_test
$ ls
16759426_README.html 17385991_README.html ad b17385991.ldt f17385991.ldt j16759426_fnd.zip metadata_files
16759426_README.txt 17385991_README.txt b16759426.ldt f16759426.ldt fnd j17385991_fnd.zip u_test_patch.drv
Now use normal adpatch from target_test directory for application of patches and pass u_test_patch.drv when prompted for driver file.
Post a Comment
Post a Comment