mirror of
https://github.com/NixOS/nixpkgs.git
synced 2024-12-28 00:24:18 +00:00
66d068bf66
IBM publishes their IBM Spectrum Protect client for Linux in two flavors: * "Linux x86_64 client" * "Linux x86_64 Ubuntu client" Up to this commit, nixpkgs used the Ubuntu flavor to build its `tsm-client` derivation. However, the history of published archive files in * https://public.dhe.ibm.com/storage/tivoli-storage-management/maintenance/client/v8r1/Linux/ * https://public.dhe.ibm.com/storage/tivoli-storage-management/patches/client/v8r1/Linux/ suggests that updates in the fourth level of the version numbers (e.g. 8.1.13.0 -> 8.1.13.1) do not get published as Ubuntu flavor. It order to be able to always use the latest release, this commit switches to the non-Ubuntu flavor. The non-Ubuntu archive contains rpm files, so this commit switches from `ar` to `rpmextract`. Instead of unpacking all deb files, the build recipe now unpacks all _but one_ rpm file: The file `TIVsm-WEBGUI.x86_64.rpm` apparently contains a plugin that is not included in the Ubuntu version (see note below). Comparing the old and the new derivation's output indicates that this choice minimizes the difference between the results: The output of the old (Ubuntu flavor) derivation contains: * `commons-codec-1.6.jar` * `share/` with changelog and copyright information for the packages `gskssl64` and `gskcrypt64` The output of the new (non-Ubuntu flavor) derivation contains: * `lib64`, symlink to `lib` * `commons-codec-1.14.jar` * `opt/tivoli/tsm/license/{api,baclient}/sm/` with license agreement files in many languages Besides these differences, the outputs' file names are equal. Note: I don't know what functionality `TIVsm-WEBGUI.x86_64.rpm` actually provides. Unpacking it with the other rpm files makes patchelf complain about missing X11 libraries, so in order to include it here, one would likely need to add those to `buildInputs`. However, as the old (Ubuntu flavor) `tsm-client` package did not contain this functionality and as I cannot test or use it in any way, I opted to not include it now. If we want to include this with a later commit, we should add another package build option (like `enableGui`) so that the default `tsm-client` package does not pull in X11 libraries and its closure size therefore stays small. |
||
---|---|---|
.. | ||
applications | ||
build-support | ||
common-updater | ||
data | ||
desktops | ||
development | ||
games | ||
misc | ||
os-specific | ||
pkgs-lib | ||
servers | ||
shells | ||
stdenv | ||
test | ||
tools | ||
top-level |