As we plan to use ZLM7 for software distribution we found that there
are sometimes problems in the bundle handling.
We set up a zlmmirror from the Novell ZLM server to keep our ZLM server
up to date with the current patches. Once a month we create a new bundle like 20060106-oes9 and insert all packages from the mirrored oes bundle. By doing this we create a defined patch level which we can distribute to our servers, so all of them are at the same patch level.
When we make that copy of the mirrored OES bundle, that one contains eg.
620 packages, the copy contains about 792 packages. Why is that?
The problem is that if a package is updated more than once, you will get
every version into that new bundle. You can deselect those duplicate
packages in the web browser but that's anoying in case of more than 790
packages. So I created a short shell script that checks later for duplicate packages and delete the older versions in it. As a result the bundle should contain exactly the number of packages as the mirrored OES bundle.
The shell script needs a view parameter for running:
The script uses the zlman command and does an automatic login to ZLM. It
uses the Administrator with password "linux". If you want to use a
different one or have a different password change it inside the shell
script at line 33, 76 and 87. Or even you can change it as you want this
to be an additonal parameter at startup. For us this was okay.
After login it collects all packages from the bundle you selected and create a file in /tmp which it uses for searching for duplicate packages. Then it collects them and deletes in steps of 10 packages them from the bundle. I do this because whenever a package is modified from the bundle you get a new version number of it. After the shell script has finsihed you can delete the older versions from the bundle. The zlman has right now no option to do this automatically.
I hope this helps other ZLM administrators.