Complete revamp from old repo
- Added 9 support - Ported over all code from personal Gitlab - html/ folder with files for easy content display - Updated README (more readme updates and setup guide coming soon) -Skip G.
This commit is contained in:
parent
57fd7c1fc8
commit
6b1db03296
34
README.md
34
README.md
@ -9,3 +9,37 @@ Example call: ```./repo_compare_html.sh RHEL8_BaseOS Rocky8_BaseOS```
|
||||
WARNING: only compares default modules right now! Non-default module comparisons coming soon(tm)
|
||||
|
||||
WARNING: The order of the arguments VERY MUCH MATTERS! For Rocky 8 comparisons, RHEL repos should ALWAYS come first, they are the source to compare against!
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
# ModuleCompare
|
||||
|
||||
This is a similar script to the above RepoCompare, but will analyze all the module versions against each other from one distro to the next.
|
||||
|
||||
It's called like the above script, except with a comma separated list of repositories that include modules.
|
||||
|
||||
For example, a typical usage looks like this: ```./module_compare_html.sh RHEL8_AppStream,RHEL8_CodeReady Rocky8_AppStream,Rocky8_PowerTools```
|
||||
|
||||
The example compares all modules found in RHEL AppStream and CodeReady against their Rocky equivalents.
|
||||
|
||||
Note that only the packages contained in a module are compared. No other metadata (module version strings, etc.) is considered, as it is likely unique and not meant to be copied.
|
||||
|
||||
WARNING: As with the above script, the order of the arguments absolutely matters. Generally RHEL repos should be listed first, as the source to compare against.
|
||||
|
||||
|
||||
<br />
|
||||
<br />
|
||||
|
||||
# Support Scripts
|
||||
|
||||
A couple support scripts are also in the repository:
|
||||
|
||||
**mkrepofile.sh :** Create repo files for Rocky and duplicate ones with friendly names for the RHEL repos
|
||||
|
||||
<br />
|
||||
|
||||
**repo_compare_launcher.sh :** Run all combinations of repocompare RHEL8 <---> Rocky8. Compares production, staging, source, modules, RHEL Beta, etc.
|
||||
|
||||
|
||||
|
||||
|
56
html/RHEL_Rocky8_Compare.html
Normal file
56
html/RHEL_Rocky8_Compare.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_BaseOS.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_AppStream.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_CodeReady.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_ResilientStorage.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_HighAvailability.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky8_Compare_Beta_src_stg.html
Normal file
56
html/RHEL_Rocky8_Compare_Beta_src_stg.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_BaseOS_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 8 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_AppStream_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 8 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_CodeReady_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 8 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_ResilientStorage_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 8 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_HighAvailability_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky8_Compare_Beta_stg.html
Normal file
56
html/RHEL_Rocky8_Compare_Beta_stg.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_BaseOS_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 8 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_AppStream_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 8 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_CodeReady_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 8 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_ResilientStorage_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 8 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_HighAvailability_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
58
html/RHEL_Rocky8_Compare_src.html
Normal file
58
html/RHEL_Rocky8_Compare_src.html
Normal file
@ -0,0 +1,58 @@
|
||||
<html>
|
||||
<meta http-equiv="Cache-Control" content="private, no-store" />
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_BaseOS_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_AppStream_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_CodeReady_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_ResilientStorage_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_HighAvailability_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
55
html/RHEL_Rocky8_Compare_src_stg.html
Normal file
55
html/RHEL_Rocky8_Compare_src_stg.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_BaseOS_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_AppStream_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_CodeReady_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_ResilientStorage_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 8 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_HighAvailability_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
55
html/RHEL_Rocky8_Compare_stg.html
Normal file
55
html/RHEL_Rocky8_Compare_stg.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_BaseOS_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_AppStream_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_CodeReady_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_ResilientStorage_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_HighAvailability_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
29
html/RHEL_Rocky8_Module_Compare.html
Normal file
29
html/RHEL_Rocky8_Module_Compare.html
Normal file
@ -0,0 +1,29 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 8 Modules:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_Modules.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
28
html/RHEL_Rocky8_Module_Compare_Beta_stg.html
Normal file
28
html/RHEL_Rocky8_Module_Compare_Beta_stg.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 8 Beta/Staging Modules: </h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Beta_Rocky8_Modules_stg.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
28
html/RHEL_Rocky8_Module_Compare_stg.html
Normal file
28
html/RHEL_Rocky8_Module_Compare_stg.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 8 Modules: (Staging)</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_Modules_stg.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky9_Compare.html
Normal file
56
html/RHEL_Rocky9_Compare.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 9 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_BaseOS.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 9 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_AppStream.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 9 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_CodeReady.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 9 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_ResilientStorage.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 9 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_HighAvailability.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky9_Compare_Beta_src_stg.html
Normal file
56
html/RHEL_Rocky9_Compare_Beta_src_stg.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 9 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_BaseOS_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 9 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_AppStream_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 9 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_CodeReady_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 9 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_ResilientStorage_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 9 Beta SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_HighAvailability_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky9_Compare_Beta_stg.html
Normal file
56
html/RHEL_Rocky9_Compare_Beta_stg.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 9 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_BaseOS_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 9 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_AppStream_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 9 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_CodeReady_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 9 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_ResilientStorage_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 9 Beta Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_HighAvailability_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky9_Compare_src.html
Normal file
56
html/RHEL_Rocky9_Compare_src.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 9 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_BaseOS_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 9 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_AppStream_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 9 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_CodeReady_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 9 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_ResilientStorage_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 9 SRPM Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_HighAvailability_Source.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
55
html/RHEL_Rocky9_Compare_src_stg.html
Normal file
55
html/RHEL_Rocky9_Compare_src_stg.html
Normal file
@ -0,0 +1,55 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 9 Source Staging Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_BaseOS_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream 9 Source Staging Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_AppStream_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady 9 Source Staging Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_CodeReady_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage 9 Source Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_ResilientStorage_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability 9 Source Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_HighAvailability_Source_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/RHEL_Rocky9_Compare_stg.html
Normal file
56
html/RHEL_Rocky9_Compare_stg.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_BaseOS_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_AppStream_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_CodeReady_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_ResilientStorage_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_HighAvailability_stg.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
29
html/RHEL_Rocky9_Module_Compare.html
Normal file
29
html/RHEL_Rocky9_Module_Compare.html
Normal file
@ -0,0 +1,29 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 9 Modules:</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_Modules.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
28
html/RHEL_Rocky9_Module_Compare_Beta_stg.html
Normal file
28
html/RHEL_Rocky9_Module_Compare_Beta_stg.html
Normal file
@ -0,0 +1,28 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 9 Beta/Staging Modules: </h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Beta_Rocky9_Modules_stg.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
29
html/RHEL_Rocky9_Module_Compare_stg.html
Normal file
29
html/RHEL_Rocky9_Module_Compare_stg.html
Normal file
@ -0,0 +1,29 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>AppStream + CodeReady/PowerTools 9 Modules: (Staging)</h2>
|
||||
<iframe src = "repocompare_results/RHEL9_Rocky9_Modules_stg.html" width="90%" height="100%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
56
html/index.html
Normal file
56
html/index.html
Normal file
@ -0,0 +1,56 @@
|
||||
<html>
|
||||
<head> <title>Rocky Linux Live Package Difference Status</title></head>
|
||||
|
||||
<style>
|
||||
menu {
|
||||
height: 40%;
|
||||
width: 90%;
|
||||
}
|
||||
</style>
|
||||
|
||||
|
||||
|
||||
<div id="topMenu" class="menu">
|
||||
</div>
|
||||
|
||||
|
||||
<script src="repocompare_menu.js"></script>
|
||||
|
||||
<p><br /><br /><br /><br />
|
||||
|
||||
<h2>BaseOS 8 Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_BaseOS.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>AppStream Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_AppStream.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>PowerTools/CodeReady Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_CodeReady.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
<h2>Resilient Storage Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_ResilientStorage.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
<h2>High Availability Repositories:</h2>
|
||||
<iframe src = "repocompare_results/RHEL8_Rocky8_HighAvailability.html" width="75%" height="65%">
|
||||
Sorry your browser does not support inline frames.
|
||||
</iframe>
|
||||
|
||||
<p><br /> <br />
|
||||
|
||||
|
||||
</html>
|
76
html/repocompare_menu.js
Normal file
76
html/repocompare_menu.js
Normal file
@ -0,0 +1,76 @@
|
||||
document.getElementById('topMenu').innerHTML = `
|
||||
<h1>Live RHEL <----> Rocky Linux Package Comparison</h1>
|
||||
|
||||
|
||||
<p><br />
|
||||
This is a simple page to keep live track of the package differences/drift between RHEL and Rocky Linux.
|
||||
<br /><br />
|
||||
This page compares the RHEL repository package version(s) against the current Rocky public repos.
|
||||
<br /><br />
|
||||
The data on this page should be updated <b>every 4 hours.</b>
|
||||
<br /><br />
|
||||
Historical data can be found in this subdirectory: <b><a href="repocompare_results/">repocompare_results/</a></b>
|
||||
<br /><br />
|
||||
<b>Important Note:</b> This comparison <b>only includes default modules and non-modular packages</b>.
|
||||
<br />
|
||||
|
||||
<p><br />
|
||||
|
||||
<h3>Other Package comparisons between RHEL <--> Rocky Linux:</h3>
|
||||
|
||||
<table border=1 cellpadding=10>
|
||||
<tr>
|
||||
<th>RHEL/Rocky 8</th>
|
||||
<th>RHEL/Rocky 9</th>
|
||||
<th>RHEL 8 Beta / Rocky 8 Staging</th>
|
||||
<th>RHEL 9 Beta / Rocky 9 Staging</th>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Compare.html">Package Repo Comparison (8)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare.html">Package Repo Comparison (9)</a></td>
|
||||
<td><a href="RHEL_Rocky8_Compare_Beta_stg.html">Package Repo Comparison (8 Beta)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare_Beta_stg.html">Package Repo Comparison (9 Beta)</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Compare_src.html">SRPM Repo Comparison (8)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare_src.html">SRPM Repo Comparison (9)</a></td>
|
||||
<td><a href="RHEL_Rocky8_Compare_Beta_src_stg.html">SRPM Repo Comparison (8 Beta)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare_Beta_src_stg.html">SRPM Repo Comparison (9 Beta)</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Module_Compare.html">Modules Repo Comparison (8)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Module_Compare.html">Modules Repo Comparison (9)</a></td>
|
||||
<td><a href="RHEL_Rocky8_Module_Compare_Beta_stg.html">Modules Repo Comparison (8 Beta)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Module_Compare_Beta_stg.html">Modules Repo Comparison (9 Beta)</a></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Compare_stg.html">Package Repo Comparison (8 staging)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare_stg.html">Package Repo Comparison (9 staging)</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Compare_src_stg.html">SRPM Repo Comparison (8 staging)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Compare_src_stg.html">SRPM Repo Comparison (9 staging)</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
||||
<tr>
|
||||
<td><a href="RHEL_Rocky8_Module_Compare_stg.html">Modules Repo Comparison (8 staging)</a></td>
|
||||
<td><a href="RHEL_Rocky9_Module_Compare_stg.html">Modules Repo Comparison (9 staging)</a></td>
|
||||
<td></td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
||||
|
||||
|
||||
`;
|
6
html/repocompare_results/readme.txt
Normal file
6
html/repocompare_results/readme.txt
Normal file
@ -0,0 +1,6 @@
|
||||
Results from the repocompare launcher script should be written to this directory.
|
||||
|
||||
You can then symlink or clone all of html/ (and this folder) to a web directory of your choice for browsing.
|
||||
|
||||
|
||||
All html content should be static, no special server configs or code are needed.
|
715
mkrepofile.sh
Executable file
715
mkrepofile.sh
Executable file
@ -0,0 +1,715 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Simple script to produce valid Rocky + RHEL repos with nice names
|
||||
# (so the repo compare html script can be run against them)
|
||||
#
|
||||
# We assume we're running on a RHEL 8 box with a valid entitlement
|
||||
# (and that /etc/yum.repos.d/redhat.repo exists)
|
||||
|
||||
RHREPOFILE='/etc/yum.repos.d/redhat.repo'
|
||||
|
||||
# what each RedHat main URL line should start with:
|
||||
#RH8_URL_LINE="mirrorlist = https://rhui3.REGION.aws.ce.redhat.com/pulp/mirror/content/dist/rhel8/rhui/\$releasever/\$basearch"
|
||||
RH8_URL_LINE="baseurl = https://cdn.redhat.com/content/dist/rhel8/8/\$basearch"
|
||||
RH8_BETA_LINE="baseurl = https://cdn.redhat.com/content/beta/rhel8/8/\$basearch"
|
||||
RH9_URL_LINE="baseurl = https://cdn.redhat.com/content/dist/rhel9/9/\$basearch"
|
||||
RH9_BETA_LINE="baseurl = https://cdn.redhat.com/content/beta/rhel9/9/\$basearch"
|
||||
|
||||
|
||||
|
||||
# Get the proper cert/key files - these are rotated regularly, so we need them as variables:
|
||||
cacert=$(grep 'sslcacert' ${RHREPOFILE} | head -1)
|
||||
clientkey=$(grep 'sslclientkey' ${RHREPOFILE} | head -1)
|
||||
clientcert=$(grep 'sslclientcert' ${RHREPOFILE} | head -1)
|
||||
|
||||
|
||||
# Big giant echo to (re)create Rocky/RHEL repo file
|
||||
cat > /etc/yum.repos.d/rocky_repocompare.repo << EOF
|
||||
# Test Rocky repos for comparison
|
||||
|
||||
# RHEL 8 repos, with alternate names:
|
||||
[RHEL8_BaseOS]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs)
|
||||
${RH8_URL_LINE}/baseos/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_AppStream]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs)
|
||||
${RH8_URL_LINE}/appstream/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_CodeReady]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs)
|
||||
${RH8_URL_LINE}/codeready-builder/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_ResilientStorage]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - Resilient Storage (RPMs)
|
||||
${RH8_URL_LINE}/resilientstorage/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
[RHEL8_HighAvailability]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - High Availability (RPMs)
|
||||
${RH8_URL_LINE}/highavailability/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
|
||||
# RHEL 8 Source repos:
|
||||
|
||||
[RHEL8_BaseOS_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (Source RPMs)
|
||||
${RH8_URL_LINE}/baseos/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_AppStream_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - AppStream (Source RPMs)
|
||||
${RH8_URL_LINE}/appstream/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_CodeReady_Source]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (Source RPMs)
|
||||
${RH8_URL_LINE}/codeready-builder/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_ResilientStorage_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - Resilient Storage (Source RPMs)
|
||||
${RH8_URL_LINE}/resilientstorage/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
[RHEL8_HighAvailability_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - High Availability (Source RPMs)
|
||||
${RH8_URL_LINE}/highavailability/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
|
||||
|
||||
# RHEL 9 repos, with alternate names:
|
||||
[RHEL9_BaseOS]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - BaseOS (RPMs)
|
||||
${RH9_URL_LINE}/baseos/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL9_AppStream]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - AppStream (RPMs)
|
||||
${RH9_URL_LINE}/appstream/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL9_CodeReady]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (RPMs)
|
||||
${RH9_URL_LINE}/codeready-builder/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL9_ResilientStorage]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - Resilient Storage (RPMs)
|
||||
${RH9_URL_LINE}/resilientstorage/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
[RHEL9_HighAvailability]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - High Availability (RPMs)
|
||||
${RH9_URL_LINE}/highavailability/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
# RHEL 9 Source repos:
|
||||
|
||||
[RHEL9_BaseOS_Source]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - BaseOS (Source RPMs)
|
||||
${RH9_URL_LINE}/baseos/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL9_AppStream_Source]
|
||||
name = Red Hat Enterprise Linux 9 for x86_64 - AppStream (Source RPMs)
|
||||
${RH9_URL_LINE}/appstream/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL9_CodeReady_Source]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 9 x86_64 (Source RPMs)
|
||||
${RH9_URL_LINE}/codeready-builder/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
#########################################
|
||||
# (end of RHEL Repos)
|
||||
|
||||
|
||||
|
||||
# Corresponding Rocky Repos:
|
||||
[Rocky8_BaseOS]
|
||||
name=Rocky8_BaseOS
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/BaseOS/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_AppStream]
|
||||
name=Rocky8_AppStream
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/AppStream/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_CodeReady]
|
||||
name=Rocky8_CodeReady
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/PowerTools/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_ResilientStorage]
|
||||
name=Rocky8_ResilientStorage
|
||||
baseurl=https://dl.rockylinux.org/pub/rocky/8/ResilientStorage/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_HighAvailability]
|
||||
name=Rocky8_HighAvailability
|
||||
baseurl=https://dl.rockylinux.org/pub/rocky/8/HighAvailability/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
|
||||
# Rocky Staging repos:
|
||||
[Rocky8_BaseOS_stg]
|
||||
name=Rocky8_BaseOS_stg
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/BaseOS/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_AppStream_stg]
|
||||
name=Rocky8_AppStream_stg
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/AppStream/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_CodeReady_stg]
|
||||
name=Rocky8_CodeReady_stg
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/PowerTools/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_ResilientStorage_stg]
|
||||
name=Rocky8_ResilientStorage_stg
|
||||
baseurl=https://dl.rockylinux.org/stg/rocky/8/ResilientStorage/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_HighAvailability_stg]
|
||||
name=Rocky8_HighAvailability_stg
|
||||
baseurl=https://dl.rockylinux.org/stg/rocky/8/HighAvailability/x86_64/os/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Rocky 9 Staging repos:
|
||||
[Rocky9_BaseOS_stg]
|
||||
name=Rocky9_BaseOS_stg
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/BaseOS/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_AppStream_stg]
|
||||
name=Rocky9_AppStream_stg
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/AppStream/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_CodeReady_stg]
|
||||
name=Rocky9_CodeReady_stg
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/CRB/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_ResilientStorage_stg]
|
||||
name=Rocky9_ResilientStorage_stg
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/ResilientStorage/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_HighAvailability_stg]
|
||||
name=Rocky9_HighAvailability_stg
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/HighAvailability/x86_64/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
|
||||
|
||||
# Rocky Source repos:
|
||||
|
||||
[Rocky8_BaseOS_Source]
|
||||
name=Rocky8_BaseOS_Source
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/BaseOS/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_AppStream_Source]
|
||||
name=Rocky8_AppStream_Source
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/AppStream/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_CodeReady_Source]
|
||||
name=Rocky8_CodeReady_Source
|
||||
baseurl=http://dl.rockylinux.org/pub/rocky/8/PowerTools/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_ResilientStorage_Source]
|
||||
name=Rocky8_ResilientStorage_Source
|
||||
baseurl=https://dl.rockylinux.org/pub/rocky/8/ResilientStorage/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_HighAvailability_Source]
|
||||
name=Rocky8_HighAvailability_Source
|
||||
baseurl=https://dl.rockylinux.org/pub/rocky/8/HighAvailability/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
|
||||
|
||||
# Rocky Staging sources:
|
||||
|
||||
[Rocky8_BaseOS_Source_stg]
|
||||
name=Rocky8_BaseOS_Source_Staging
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/BaseOS/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_AppStream_Source_stg]
|
||||
name=Rocky8_AppStream_Source_Staging
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/AppStream/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_CodeReady_Source_stg]
|
||||
name=Rocky8_CodeReady_Source_Staging
|
||||
baseurl=http://dl.rockylinux.org/stg/rocky/8/PowerTools/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_ResilientStorage_Source_stg]
|
||||
name=Rocky8_ResilientStorage_Source_Staging
|
||||
baseurl=https://dl.rockylinux.org/stg/rocky/8/ResilientStorage/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky8_HighAvailability_Source_stg]
|
||||
name=Rocky8_HighAvailability_Source_Staging
|
||||
baseurl=https://dl.rockylinux.org/stg/rocky/8/HighAvailability/source/tree/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
|
||||
# Rocky 9 Staging sources:
|
||||
|
||||
[Rocky9_BaseOS_Source_stg]
|
||||
name=Rocky9_BaseOS_Source_Staging
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/BaseOS/src/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_AppStream_Source_stg]
|
||||
name=Rocky9_AppStream_Source_Staging
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/AppStream/src/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_CodeReady_Source_stg]
|
||||
name=Rocky9_CodeReady_Source_Staging
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/CRB/src/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_ResilientStorage_Source_stg]
|
||||
name=Rocky9_ResilientStorage_Source_Staging
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/ResilientStorage/src/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
[Rocky9_HighAvailability_Source_stg]
|
||||
name=Rocky9_HighAvailability_Source_Staging
|
||||
baseurl=https://yumrepofs.build.resf.org/v1/projects/55b17281-bc54-4929-8aca-a8a11d628738/repo/HighAvailability/src/
|
||||
gpgcheck=0
|
||||
enabled=0
|
||||
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rockyofficial
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
cat > /etc/yum.repos.d/rhel8_beta.repo << EOF
|
||||
# RHEL 8 Beta Repos
|
||||
|
||||
[RHEL8_Beta_BaseOS]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/baseos/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_Beta_AppStream]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - AppStream (RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/appstream/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_Beta_CodeReady]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/codeready-builder/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_Beta_ResilientStorage]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - Resilient Storage (RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/resilientstorage/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
[RHEL8_Beta_HighAvailability]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - High Availability (RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/highavailability/os
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
|
||||
# RHEL 8 Source repos:
|
||||
|
||||
[RHEL8_Beta_BaseOS_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - BaseOS (Source RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/baseos/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
[RHEL8_Beta_AppStream_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - AppStream (Source RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/appstream/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_Beta_CodeReady_Source]
|
||||
name = Red Hat CodeReady Linux Builder for RHEL 8 x86_64 (Source RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/codeready-builder/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 1
|
||||
|
||||
|
||||
|
||||
[RHEL8_Beta_ResilientStorage_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - Resilient Storage (Source RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/resilientstorage/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
|
||||
[RHEL8_Beta_HighAvailability_Source]
|
||||
name = Red Hat Enterprise Linux 8 for x86_64 - High Availability (Source RPMs) (BETA)
|
||||
${RH8_BETA_LINE}/highavailability/source/SRPMS
|
||||
enabled = 0
|
||||
gpgcheck = 1
|
||||
gpgkey = file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
|
||||
sslverify = 1
|
||||
$cacert
|
||||
$clientkey
|
||||
$clientcert
|
||||
metadata_expire = 86400
|
||||
enabled_metadata = 0
|
||||
|
||||
EOF
|
147
module_compare_html.sh
Executable file
147
module_compare_html.sh
Executable file
@ -0,0 +1,147 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Simple script that takes a list of the modular packages in a group of repositories (like AppStream,CodeReady from RHEL 8) and
|
||||
# compares them with the modules in another distribution (Like AppStream,PowerTools from Rocky 8)
|
||||
#
|
||||
# It uses straight dnf calls for its data, and requires the repos to be defined in repos.d/. Also requires git
|
||||
#
|
||||
# All modules and version are iterated over and compared.
|
||||
#
|
||||
# Usage takes the pattern : ./module_compare_html.sh REPO_A,REPO_B,REPO_C REPO_X,REPO_Y,REPO_Z
|
||||
#
|
||||
# Example: ./modules_compare_html.sh RHEL8_AppStream,RHEL8_CodeReady Rocky8_AppStream,Rocky8_PowerTools
|
||||
#
|
||||
|
||||
REPOS1=$1
|
||||
REPOS2=$2
|
||||
|
||||
# Get a complete list of modules+versions we want to compare against (usually from RHEL 8)
|
||||
# This includes a list that consists of things like "perl:5.24 , perl:5.26 , python38:3.8" , etc.
|
||||
MODULE_LIST1=$(dnf --disablerepo '*' --enablerepo "${REPOS1}" module list |
|
||||
grep -v '^Name' |
|
||||
grep -v '(RPMs)' |
|
||||
grep -v 'Hint:' |
|
||||
grep -vi ' subscription ' |
|
||||
grep -vi ' metadata ' |
|
||||
grep -v '^$' |
|
||||
awk '{print $1":"$2}')
|
||||
|
||||
IFS='
|
||||
'
|
||||
|
||||
mkdir -p /tmp/module_compare
|
||||
rm -f /tmp/module_compare/*
|
||||
|
||||
|
||||
# HTML header:
|
||||
echo "<html><h3>Module Artifact Comparison for: ${REPOS1} vs. ${REPOS2}</h3>"
|
||||
echo '
|
||||
<style>
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {background-color: #d4d4d4;}
|
||||
</style>
|
||||
|
||||
<div style="overflow-x:auto;">
|
||||
'
|
||||
|
||||
echo "
|
||||
<p>
|
||||
<i>Generated by Rocky Module Compare Script at: $(date +'%Y-%m-%d %H:%M:%S') </i>
|
||||
<br />
|
||||
<p>
|
||||
|
||||
<table>
|
||||
<tr> <th width=\"20%\">Module Name:Version</th> <th width=\"40%\">${REPOS1} Pkg Diffs (-)</th> <th width=\"40%\">${REPOS2} Pkg Diffs (+)</th> </tr>
|
||||
"
|
||||
|
||||
|
||||
|
||||
# Big loop where we go through every possible module/version combination:
|
||||
for module in ${MODULE_LIST1}; do
|
||||
|
||||
# MODULE1 == complete module info from the 1st repos, while MODULE2 == complete module info from 2nd repos
|
||||
# This includes all the different versions/releases, so we want to filter for the latest later
|
||||
MODULE1=$(dnf --disablerepo '*' --enablerepo "${REPOS1}" module info "${module}" 2> /dev/null)
|
||||
MODULE2=$(dnf --disablerepo '*' --enablerepo "${REPOS2}" module info "${module}" 2> /dev/null)
|
||||
|
||||
|
||||
# Isolate the latest released version of each module, that's the only one we're intrested in (indicated by the "Version :" line in module info)
|
||||
latest_version1=$(echo "${MODULE1}" | grep 'Version ' | awk '{print $3}' | sort -n | tail -1)
|
||||
latest_version2=$(echo "${MODULE2}" | grep 'Version ' | awk '{print $3}' | sort -n | tail -1)
|
||||
|
||||
|
||||
# Isolate individual module artifacts and write them (sorted) to a text file
|
||||
# order of operations: awk to find version string through blank line,
|
||||
# awk to find "Requires :" line,
|
||||
# sed to remove "Artifacts",
|
||||
# awk to isolate module rpm artifact ($2),
|
||||
# sed to remove the distro tag after module (module+el8.4.0+xyz)
|
||||
# sed to remove the git hash after "module+" ONLY IF we have a minor patch release (ie. module ends in a ".1.x86_64" or a ".2.src" or something similar)
|
||||
# sed to remove everything after .module in the normal case (no minor patch release at the end)
|
||||
#everything after ".module" (which is unique per-distro), except for ending ".$arch" (src/noarch/x86_64/etc.)
|
||||
# remove any blank lines,
|
||||
# and finally sort and write to text file
|
||||
echo "${MODULE1}" |
|
||||
awk "/${latest_version1}/ { show=1; next } show; /^$/ { show=0 }" |
|
||||
awk "/Requires / { show=1; next } show; /^$/ { show=0 }" |
|
||||
sed 's/Artifacts //' |
|
||||
awk '{print $2}' |
|
||||
sed 's/module+.*+/module+/g' |
|
||||
sed 's/module+.*\.\(.*\)\./module.\1./g' |
|
||||
sed 's/module+.*\./module./g' |
|
||||
grep -v '^$' |
|
||||
sort > "/tmp/module_compare/${module}_1"
|
||||
|
||||
|
||||
# Do the same isolation of module rpms for module 2 and write that to a text file
|
||||
echo "${MODULE2}" |
|
||||
awk "/${latest_version2}/ { show=1; next } show; /^$/ { show=0 }" |
|
||||
awk "/Requires / { show=1; next } show; /^$/ { show=0 }" |
|
||||
sed 's/Artifacts //' |
|
||||
awk '{print $2}' |
|
||||
sed 's/module+.*+/module+/g' |
|
||||
sed 's/module+.*\.\(.*\)\./module.\1./g' |
|
||||
sed 's/module+.*\./module./g' |
|
||||
grep -v '^$' |
|
||||
sort > "/tmp/module_compare/${module}_2"
|
||||
|
||||
|
||||
# Get list of differences from source repo (the "-" in git diff)
|
||||
diff1=$(git --no-pager diff "/tmp/module_compare/${module}_1" "/tmp/module_compare/${module}_2" | grep -A1000 '@@' | grep '^\-' | sort)
|
||||
|
||||
# and the "+" (repo2):
|
||||
diff2=$(git --no-pager diff "/tmp/module_compare/${module}_1" "/tmp/module_compare/${module}_2" | grep -A1000 '@@' | grep '^\+' | sort)
|
||||
|
||||
|
||||
# If module artifacts are completely identical, then we will say as much:
|
||||
if [[ -z "${diff1}" ]] && [[ -z "${diff2}" ]]; then
|
||||
diff1="Identical Packages"
|
||||
diff2="Identical Packages"
|
||||
fi
|
||||
|
||||
# If module 2 is empty, then it doesn't exist:
|
||||
if [ -s "/tmp/module_compare/${module}_1" ] && [ ! -s "/tmp/module_compare/${module}_2" ]; then
|
||||
diff1="N/A"
|
||||
diff2="<b>Module packages not found</b>"
|
||||
fi
|
||||
|
||||
|
||||
# swap line endings for <br /> to make html friendly looking:
|
||||
diff1=$(echo "${diff1}" | sed 's/$/<br \/>/')
|
||||
diff2=$(echo "${diff2}" | sed 's/$/<br \/>/')
|
||||
|
||||
# Now, write the table row line:
|
||||
echo "<tr> <td><b>${module}</b></td> <td>${diff1}</td> <td>${diff2}</td> </tr>"
|
||||
|
||||
done
|
||||
|
||||
echo "</table></html>"
|
@ -4,38 +4,43 @@
|
||||
# The arguments must be named dnf/yum repos on the system
|
||||
#
|
||||
# We will loop through the RPM names from SOURCEREPO, and attempt to find name/version/release matches in TARGETREPO
|
||||
# An HTML table page will be output showing the differences
|
||||
# An HTML table page will be sent to stdout showing the differences
|
||||
#
|
||||
# -Skip Grube, 2021-06-29
|
||||
|
||||
|
||||
REPO1="$1"
|
||||
REPO2="$2"
|
||||
|
||||
pkglist1=`dnf repoquery --latest-limit 1 --repo ${REPO1} --queryformat "%{name} %{version} %{release}" | grep -vi " subscription "` #| tr '\n' ','`
|
||||
pkglist2=`dnf repoquery --latest-limit 1 --repo ${REPO2} --queryformat "%{name} %{version} %{release}" | grep -vi " subscription "`
|
||||
pkglist1=$(dnf repoquery --latest-limit 1 --repo "${REPO1}" --queryformat "%{name} %{version} %{release}" | grep -vi " subscription ")
|
||||
pkglist2=$(dnf repoquery --latest-limit 1 --repo "${REPO2}" --queryformat "%{name} %{version} %{release}" | grep -vi " subscription ")
|
||||
|
||||
# Strip ending moduleXYZ and .el8* information away from the release info, as
|
||||
# They may not match (or will never match in the module's case)
|
||||
pkglist1=`echo "${pkglist1}" | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*$//g'`
|
||||
pkglist2=`echo "${pkglist2}" | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*$//g'`
|
||||
# Strip some ending package info off like this:
|
||||
# 1: moduleXYZ info comes off
|
||||
# 2: If a dotrelease tag is present (like .el8_4.3), then preserve the .3 but remove the el8_* tag
|
||||
# 3: If a dotrelease tag is not present, then simply take the .el8* off from the end
|
||||
# 4: Remove any trailing ".rocky" tag as well from the end if a dotrelease is not present
|
||||
# The moduleXYZ will never match versions, and the el8 tagging may be different (el8 vs. el8_3, el8_4, etc.)
|
||||
pkglist1=$(echo "${pkglist1}" | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*\.\(.*\)$/\.\1/g' | sed -e 's/\.el.*$//g' | sed 's/\.rocky$//')
|
||||
pkglist2=$(echo "${pkglist2}" | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*\.\(.*\)$/\.\1/g' | sed -e 's/\.el.*$//g' | sed 's/\.rocky$//')
|
||||
|
||||
|
||||
# Turn the first pkg list into a comma-separated list (instead of newline-separated)
|
||||
# (makes it easier to use IFS=',' in all of our for loops)
|
||||
pkglist1=`echo "${pkglist1}" | tr '\n' ','`
|
||||
pkglist1=$(echo "${pkglist1}" | tr '\n' ',')
|
||||
|
||||
|
||||
#echo "$pkglist1" > debug1.txt
|
||||
#echo "$pkglist2" > debug2.txt
|
||||
|
||||
|
||||
|
||||
# HTML style header for table:
|
||||
echo "<html><h3>Repo Version Differences for: ${REPO1} vs. ${REPO2}</h3>"
|
||||
echo '
|
||||
<style>
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 60%;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
th, td {
|
||||
@ -50,7 +55,7 @@ tr:nth-child(even) {background-color: #d4d4d4;}
|
||||
'
|
||||
|
||||
echo "
|
||||
<i>Generated by Repo Compare Script at: `date +'%Y-%m-%d %H:%M:%S'` </i>
|
||||
<i>Generated by Repo Compare Script at: $(date +'%Y-%m-%d %H:%M:%S') </i>
|
||||
<br />
|
||||
|
||||
<table>
|
||||
@ -62,12 +67,12 @@ echo "
|
||||
|
||||
IFS=','
|
||||
# Main loop to check all packages from our "source" repo
|
||||
for pkg in `echo "${pkglist1}"`; do
|
||||
for pkg in ${pkglist1}; do
|
||||
|
||||
# Extract name/version/tag info from package (filtering out modular + el8* info from tag)
|
||||
_name=`echo "$pkg" | awk '{print $1}'`
|
||||
_version=`echo "$pkg" | awk '{print $2}'`
|
||||
_tag=`echo "$pkg" | awk '{print $3}'` # | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*$//g'`
|
||||
_name=$(echo "$pkg" | awk '{print $1}')
|
||||
_version=$(echo "$pkg" | awk '{print $2}')
|
||||
_tag=$(echo "$pkg" | awk '{print $3}')
|
||||
|
||||
# every package match is false by default, until we match it
|
||||
isPkgMatched=0
|
||||
@ -76,7 +81,7 @@ for pkg in `echo "${pkglist1}"`; do
|
||||
# Find any packages in the target repo with the same name as the one we're interested in from the source repo:
|
||||
# (easy to match the exact name if we include a space separator in our grep)
|
||||
# (We turn it into a comma separated list as well so we can do another for loop against the result set)
|
||||
pkgmatches=`echo "${pkglist2}" | grep "^${_name} "`
|
||||
pkgmatches=$(echo "${pkglist2}" | grep "^${_name} ")
|
||||
|
||||
|
||||
# If there are no matches, we output a DOES NOT EXIST and don't bother with searching the results
|
||||
@ -87,10 +92,10 @@ for pkg in `echo "${pkglist1}"`; do
|
||||
|
||||
|
||||
# Loop through each result (name matches) and look for an exact version match:
|
||||
for match in `echo "${pkgmatches}"`; do
|
||||
_name2=`echo "$match" | awk '{print $1}'`
|
||||
_version2=`echo "$match" | awk '{print $2}'`
|
||||
_tag2=`echo "$match" | awk '{print $3}'` # | tr -d ',' | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*$//g'`
|
||||
for match in ${pkgmatches}; do
|
||||
_name2=$(echo "$match" | awk '{print $1}')
|
||||
_version2=$(echo "$match" | awk '{print $2}')
|
||||
_tag2=$(echo "$match" | awk '{print $3}')
|
||||
#echo "DEBUG :: _tag2 == $_tag2"
|
||||
|
||||
# If we find a match, then exit this loop and set the flag to found:
|
||||
@ -101,7 +106,7 @@ for pkg in `echo "${pkglist1}"`; do
|
||||
done
|
||||
|
||||
# Get pkgmatches into name-version-release format:
|
||||
pkgmatches=`echo "${pkgmatches}" | sed 's/ /\-/g' | sed 's/,$//'`
|
||||
pkgmatches=$(echo "${pkgmatches}" | sed 's/ /\-/g' | sed 's/,$//')
|
||||
|
||||
# If package is not matched, then we need to output an HTML row:
|
||||
if [ "$isPkgMatched" == "0" ]; then
|
||||
|
65
repo_compare_launcher.sh
Executable file
65
repo_compare_launcher.sh
Executable file
@ -0,0 +1,65 @@
|
||||
#!/bin/bash
|
||||
# Big giant script that launches everything in sequence:
|
||||
|
||||
|
||||
# Where this script is being called from (and we assume our compare scripts are located)
|
||||
SCRIPTSDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||
|
||||
|
||||
# Pre-run: Make repo file, clean metadata, make folders
|
||||
"${SCRIPTSDIR}"/mkrepofile.sh
|
||||
yum clean all
|
||||
yum makecache
|
||||
|
||||
now=$(date +%Y%m%d_%H)
|
||||
export now
|
||||
|
||||
RESULTSDIR="/opt/repocompare_results"
|
||||
|
||||
mkdir -p "${RESULTSDIR}"
|
||||
|
||||
|
||||
for version in "8" "9"; do
|
||||
for rockyStage in "" "_stg"; do
|
||||
for rhelBeta in "" "_Beta"; do
|
||||
for sourceFlag in "" "_Source"; do
|
||||
for repo in "BaseOS" "AppStream" "CodeReady" "HighAvailability" "ResilientStorage"; do
|
||||
>&2 echo "Now running compare for: ${RESULTSDIR}/RHEL${version}${rhelBeta}_Rocky${version}_${repo}${sourceFlag}${rockyStage}_${now}.html"
|
||||
"${SCRIPTSDIR}"/mkrepofile.sh
|
||||
"${SCRIPTSDIR}"/repo_compare_html.sh "RHEL${version}${rhelBeta}_${repo}${sourceFlag}" "Rocky${version}_${repo}${sourceFlag}${rockyStage}" > "${RESULTSDIR}/RHEL${version}${rhelBeta}_Rocky${version}_${repo}${sourceFlag}${rockyStage}_${now}.html"
|
||||
|
||||
# Copy the timestamped html file to the "standard" one - removing the "_$now" timestamp at the end:
|
||||
cp -f "${RESULTSDIR}/RHEL${version}${rhelBeta}_Rocky${version}_${repo}${sourceFlag}${rockyStage}_${now}.html" "${RESULTSDIR}/RHEL${version}${rhelBeta}_Rocky${version}_${repo}${sourceFlag}${rockyStage}.html"
|
||||
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
done
|
||||
|
||||
|
||||
|
||||
# Module Compare 1: RHEL 8 vs. Rocky 8 production:
|
||||
"${SCRIPTSDIR}"/mkrepofile.sh
|
||||
"${SCRIPTSDIR}"/module_compare_html.sh RHEL8_AppStream,RHEL8_CodeReady Rocky8_AppStream,Rocky8_PowerTools > "${RESULTSDIR}/RHEL8_Rocky8_Modules_${now}.html"
|
||||
cp -f "${RESULTSDIR}/RHEL8_Rocky8_Modules_${now}.html" "${RESULTSDIR}/RHEL8_Rocky8_Modules.html"
|
||||
|
||||
|
||||
|
||||
# Module Compare 2: RHEL 8 vs. Rocky 8 staging:
|
||||
"${SCRIPTSDIR}"/mkrepofile.sh
|
||||
"${SCRIPTSDIR}"/module_compare_html.sh RHEL8_AppStream,RHEL8_CodeReady Rocky8_AppStream_stg,Rocky8_PowerTools_stg > "${RESULTSDIR}/RHEL8_Rocky8_Modules_stg_${now}.html"
|
||||
cp -f "${RESULTSDIR}/RHEL8_Rocky8_Modules_stg_${now}.html" "${RESULTSDIR}/RHEL8_Rocky8_Modules_stg.html"
|
||||
|
||||
|
||||
# Module Compare 3: RHEL 8 Beta vs. Rocky 8 staging:
|
||||
"${SCRIPTSDIR}"/mkrepofile.sh
|
||||
"${SCRIPTSDIR}"/module_compare_html.sh RHEL8_Beta_AppStream,RHEL8_Beta_CodeReady Rocky8_AppStream_stg,Rocky8_PowerTools_stg > "${RESULTSDIR}/RHEL8_Beta_Rocky8_Modules_stg_${now}.html"
|
||||
cp -f "${RESULTSDIR}/RHEL8_Beta_Rocky8_Modules_stg_${now}.html" "${RESULTSDIR}/RHEL8_Beta_Rocky8_Modules_stg_${now}.html"
|
||||
|
||||
|
||||
|
||||
|
||||
# Module Compare: RHEL 9 vs. Rocky 9 staging:
|
||||
"${SCRIPTSDIR}"/module_compare_html.sh RHEL9_AppStream,RHEL9_CodeReady Rocky9_AppStream_stg,Rocky9_CodeReady_stg > "${RESULTSDIR}/RHEL9_Rocky9_Modules_stg_${now}.html"
|
||||
cp -f "${RESULTSDIR}/RHEL9_Rocky9_Modules_stg_${now}.html" "${RESULTSDIR}/RHEL9_Rocky9_Modules_stg.html"
|
129
repo_requires_html.sh
Executable file
129
repo_requires_html.sh
Executable file
@ -0,0 +1,129 @@
|
||||
#!/bin/bash
|
||||
|
||||
REPO1="$1"
|
||||
REPO2="$2"
|
||||
|
||||
rm -rf /tmp/repocompare
|
||||
mkdir -p /tmp/repocompare/{${REPO1},${REPO2}}
|
||||
|
||||
|
||||
dnf repoquery --repo ${REPO1} --latest-limit 1 --queryformat '# %{name} %{version} %{release}\n%{requires}|' | grep -v " Subscription " > /tmp/repocompare/${REPO1}.txt
|
||||
dnf repoquery --repo ${REPO2} --latest-limit 1 --queryformat '# %{name} %{version} %{release}\n%{requires}|' | grep -v " Subscription " > /tmp/repocompare/${REPO2}.txt
|
||||
|
||||
IFS='|'
|
||||
for i in $(echo "${REPO1}|${REPO2}"); do
|
||||
for pkg in $(cat /tmp/repocompare/${i}.txt); do
|
||||
|
||||
# Trim the release tag and module info (.el8*, .module*) off the end of the release and requires info, they are likely never to match
|
||||
pkg=$(echo "${pkg}" | sed -e 's/\.module.*$/\.module/g' | sed -e 's/\.el.*$//g')
|
||||
|
||||
# Get just the requires without the name+version+release line:
|
||||
requires=$(echo "${pkg}" | grep -v '#' | sort)
|
||||
|
||||
# Isolate the line with the package name + version + releasetag on it (starts with a "#")
|
||||
pkgline=$(echo "${pkg}" | grep '#')
|
||||
|
||||
|
||||
# Get name (no version) of the package - we will make this the name of our file
|
||||
pkgname=$(echo "${pkgline}" | awk '{print $2}')
|
||||
|
||||
|
||||
# Write the requires + name/version/release combo to its own file:
|
||||
echo "${pkgline}${requires}" > /tmp/repocompare/${i}/${pkgname}
|
||||
|
||||
done
|
||||
|
||||
# Hacky: RHEL has all its requires in the rpm-command style, which means lots of "(64bit)" lines that other el repos don't have
|
||||
# This just removes them
|
||||
sed -i 's/\(64bit\)//' /tmp/repocompare/${i}/*
|
||||
|
||||
done
|
||||
|
||||
# HTML Header:
|
||||
echo "<html><h3>Repo Requires Differences for: ${REPO1} vs. ${REPO2}</h3>"
|
||||
echo '
|
||||
<style>
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
th, td {
|
||||
text-align: left;
|
||||
padding: 8px;
|
||||
}
|
||||
|
||||
tr:nth-child(even) {background-color: #d4d4d4;}
|
||||
</style>
|
||||
|
||||
<div style="overflow-x:auto;">
|
||||
'
|
||||
|
||||
echo "
|
||||
<i>Generated by Repo Requires Compare Script at: $(date +'%Y-%m-%d %H:%M:%S') </i>
|
||||
<br />
|
||||
|
||||
<table>
|
||||
<tr><th width="20%">${REPO1} Package</th> <th width="20%">${REPO2} Package</th> <th width="30%">Diff -${REPO1} </th> <th width="30%">Diff +${REPO2}) </th></tr>
|
||||
|
||||
"
|
||||
|
||||
|
||||
# Now that we have our packages, their versions and requires info all in individual files, let's compare them!
|
||||
# Simple use of git diff program to get "+" and "-" differences and spit them to an HTML table
|
||||
IFS='
|
||||
'
|
||||
for pkgfile in $(ls -1 /tmp/repocompare/${REPO1}/*); do
|
||||
|
||||
|
||||
# Package name - should be same for both repos
|
||||
pkg=$(basename ${pkgfile})
|
||||
|
||||
# Package version - source repo (3rd field in txt file)
|
||||
version1=$(grep '#' ${pkgfile} | head -1 | awk '{print $3}')
|
||||
|
||||
# Package release - sourcerepo (4th / last field in first line of txt file)
|
||||
release1=$(grep '#' ${pkgfile} | head -1 | awk '{print $4}')
|
||||
|
||||
|
||||
# If package doesn't exist in target repo, we'll stop here: (we can't compare Requires: for a non-existent package!)
|
||||
if [ ! -f "/tmp/repocompare/${REPO2}/${pkg}" ]; then
|
||||
echo "<tr> <td>${pkg}-${version1}-${release1} </td> <td>(DOES NOT EXIST) </td> <td> N/A </td> <td> N/A </td> </tr>"
|
||||
continue
|
||||
fi
|
||||
|
||||
# We confirmed the other package exists, now get the version and release for the destination package/repo (REPO2):
|
||||
version2=$(grep '#' /tmp/repocompare/${REPO2}/${pkg} | head -1 | awk '{print $3}')
|
||||
release2=$(grep '#' /tmp/repocompare/${REPO2}/${pkg} | head -1 | awk '{print $4}')
|
||||
|
||||
|
||||
# If a package has different versions, that is also a special case - we don't want to compare Requires:
|
||||
if [[ "${version1}" != "${version2}" ]] || [[ "${release1}" != "${release2}" ]]; then
|
||||
echo "<tr> <td>${pkg}-${version1}-${release1} </td> <td>${pkg}-${version2}-${release2} </td> <td>DIFFERENT VERSIONS - Comparison not valid </td> <td> N/A </td> </tr>"
|
||||
continue
|
||||
fi
|
||||
|
||||
|
||||
# Do a diff of the requires files, find only the lines that show differences (lines that start with + or -):
|
||||
pkgdiff1=$(git --no-pager diff /tmp/repocompare/${REPO1}/${pkg} /tmp/repocompare/${REPO2}/${pkg} | grep -A1000 '@@' | grep '^\-' | sort)
|
||||
pkgdiff1=$(echo "${pkgdiff1}" | grep -v '\-libc\.so\.6(' | grep -v '^\-libc\.so\.6$' )
|
||||
|
||||
pkgdiff2=$(git --no-pager diff /tmp/repocompare/${REPO1}/${pkg} /tmp/repocompare/${REPO2}/${pkg} | grep -A1000 '@@' | grep '^+' | sort)
|
||||
|
||||
|
||||
# If our git diff command returned something (is not empty), then we want to display that as a table row:
|
||||
if [[ ! -z "${pkgdiff1}" ]] || [[ ! -z "${pkgdiff2}" ]]; then
|
||||
# Swap "\n" for "<br />", to make friendly html output:
|
||||
pkgdiff1=$(echo "${pkgdiff1}" | sed 's/$/<br \/>/')
|
||||
pkgdiff2=$(echo "${pkgdiff2}" | sed 's/$/<br \/>/')
|
||||
|
||||
# Output table data with differences:
|
||||
echo "<tr> <td>${pkg}-${version1}-${release1} </td> <td>${pkg}-${version2}-${release2} </td> <td>${pkgdiff1} </td> <td>${pkgdiff2} </tr>"
|
||||
fi
|
||||
|
||||
# No package diff detected == don't print anything, go to the next package
|
||||
|
||||
done
|
||||
|
||||
echo "</table></html>"
|
||||
|
Loading…
Reference in New Issue
Block a user