Commit Graph

346018 Commits

Author SHA1 Message Date
Yarny0
be904af99c tsm-client: 8.1.13.1 -> 8.1.13.2
Link to Security Bulletin:
https://www.ibm.com/support/pages/node/6537640 (CVE-2021-45105, CVE-2021-45046)
2022-01-17 12:09:27 +01:00
Yarny0
4a42ca06c1 tsm-client: 8.1.13.0 -> 8.1.13.1
Link to Security Bulletin:
https://www.ibm.com/support/pages/node/6527080 (CVE-2021-44228)
2022-01-17 12:09:27 +01:00
Yarny0
66d068bf66 tsm-client: use rpm source instead of deb/Ubuntu
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.
2022-01-17 12:09:27 +01:00
Yarny0
f6dca95c5d tsm-client: add test derivation and a module test
The tsm-client needs a tsm-server to do anything useful.
Without a server, automated tests can just
check diagnostic outputs for plausibility.

The commit at hand adds two tests:

1.
The command line interface `dsmc` is called,
then it is verified that the program does

* report the correct client version,
* find its configuration file,
* report a connection error.

2.
To check the GUI (and the tsm-client nixos module), we add a
vm test which uses the module to install `tsm-client-withGui`.
To verify that the GUI's basic functionality is present,
we skip over all connection failure related error
messages and open the "Connection Information"
dialog from the main application window.
This dialog presents the node name and the client version;
both are verified by the test.

Note: Our `tsm-client` build recipe consists of two packages:
The "unwrapped" package and the final package.
This commit puts the unwrapped one into the final
package's `passthru` so that tests can access
the original version string that is needed to check
the client version reported by the application.
2022-01-17 12:09:27 +01:00
Yarny0
c2192ed77a nixos/tsm-{client,backup}: use new type nonEmptyStr
The module option type `nonEmptyStr` was introduced in commit

a3c5f0cba8

The tsm modules previously simply used
`strMatching ".+"` to prevent empty option strings,
but the new type is more thorough as
it also catches space-only strings.
2022-01-17 12:09:27 +01:00
Yarny0
c5effcaaea nixos/tsm-backup: enable most systemd sandboxing options
This enables some systemd sandboxing
options for the `tsm-backup.service`.
Those settings have been determined by expermentation.
This commit tries hard to protect the filesystem from
write access, but not to hide anything from read access,
so users can backup all files they choose to backup.
An exception are API filesystems (`/dev`, `/proc`, `/sys`):
As their "files" are not stored on persistent storage,
they are sandboxed away as much as possible.

Note that the service still has to run with root
privileges to reach files with limited access permissions.
The obvious alternative to use a dedicated user account and
the `CAP_DAC_READ_SEARCH` capability to permit system-wide
read access while blocking write access does not work.
Experiments have shown that `dsmc` verifies access permissions
for each file before attempting to open it for reading.
Hence `dsmc` refuses to copy files where the file permission
mode blocks read access -- even if process capabilities
would allow it to proceed irrespective of permissions.
2022-01-17 12:09:27 +01:00
Yarny0
3f6d1f5f60 nixos/tsm-{client,backup}: update links in module comments
IBM has changed the URL structures of their support web pages.
The commit at hand updates URLs in two comments
so they follow the new structure.
2022-01-17 12:09:27 +01:00
Yarny0
8fa6f90ad6 tsm-client: set mainProgram
The TSM command line client `dsmc` should be the
program that is usually invoked from this package.
However, if a user explicitely asks for the
package with GUI support (with `enableGui`,
available in the package `tsm-client-withGui`),
we set the mainProgram to the graphical application `dsmj`
as that's likely what the user is looking for.
2022-01-17 12:09:27 +01:00
Yarny0
7934926b2e tsm-client: makeWrapper buildInputs to nativeBuildInputs
Although I'm not sure if `tsm-client` will ever be
subject to cross-compiling, referencing makeWrapper
from native BuildInputs is The Right Thing.

This is a kind of follow-up of
https://github.com/NixOS/nixpkgs/pull/112276
2022-01-17 12:09:26 +01:00
Yarny0
5ad0ecb901 tsm-client: 8.1.8.0 -> 8.1.13.0
tsm-client now links against openssl;
patchelf complains without it.

Links to IBM's "Authorized Program Analysis Report"s
(something like release notes),
to READMEs, and to Security Bulletins,
for all updates between 8.1.8.0 and 8.1.13.0:

* 8.1.9.x
  * APARs: https://www.ibm.com/support/pages/node/1077159
  * READMEs: https://www.ibm.com/support/pages/node/1108473
  * https://www.ibm.com/support/pages/node/1107261 (CVE-2018-2025)
  * https://www.ibm.com/support/pages/node/1107777 (CVE-2019-4406)

* 8.1.10.x
  * APARs: https://www.ibm.com/support/pages/node/6223098
  * READMEs: https://www.ibm.com/support/pages/node/6223388
  * https://www.ibm.com/support/pages/node/6221448 (CVE-2020-4494, CVE-2020-4406)
  * https://www.ibm.com/support/pages/node/6245356 (CVE-2020-2654)
  * https://www.ibm.com/support/pages/node/6245366 (CVE-2015-4000)

* 8.1.11.x
  * APARs: https://www.ibm.com/support/pages/node/6367203
  * READMEs: https://www.ibm.com/support/pages/node/6367205
  * https://www.ibm.com/support/pages/node/6371646
  * https://www.ibm.com/support/pages/node/6371650
  * https://www.ibm.com/support/pages/node/6371652

* 8.1.12.x
  * APARs: https://www.ibm.com/support/pages/node/6429561
  * READMEs: https://www.ibm.com/support/pages/node/6443671
  * https://www.ibm.com/support/pages/node/6445503 (CVE-2021-20532)
  * https://www.ibm.com/support/pages/node/6445497 (CVE-2021-29672, CVE-2021-20546)
  * https://www.ibm.com/support/pages/node/6445489 (CVE-2020-1971, CVE-2021-23840, CVE-2021-23841)
  * https://www.ibm.com/support/pages/node/6445483 (CVE-2020-27221, CVE-2020-14782)

* 8.1.13.x
  * APARs: https://www.ibm.com/support/pages/node/6524936
  * READMEs: https://www.ibm.com/support/pages/node/6524938
  * https://www.ibm.com/support/pages/node/6524706 (CVE-2021-39048)
  * https://www.ibm.com/support/pages/node/6524712 (CVE-2021-3712, CVE-2021-3711)
2022-01-17 12:09:26 +01:00
Yarny0
517ae2a288 tsm-client: update URL structure
IBM has changed the URL structures of their support web pages.
The commit at hand updates most URLs and
in particular the package update instructions
so they follow the new structure.
It also calculates the source download URL from the
version number, so package updates no longer have to
update the URL in addition to the version string.
2022-01-17 12:09:26 +01:00
Yarny0
6d134acc4a tsm-client: use explicit package option for Java GUI
The tsm-client package comes in two flavours:
command line only (`tsm-client`) and with a
Java-backed GUI (`tsm-client-withGui`).
To control which package is built,
the build recipe simply used to check if the
`jdk8` package was provided as package input.
This commit changes this mechanism:
The build recipe now accepts the explicit option `enableGui`,
which is set to `false` by default.

As the commit at hand touches the build recipe arguments,
it also changes argument sorting following
https://nixos.org/manual/nixpkgs/stable/#sec-syntax
2022-01-17 12:09:26 +01:00
Yarny0
ce6eea6002 tsm-client: add gnugrep to PATH
While testing the new version, I observed that
`dsmc` prints an error "sh: grep: command not found"
when executed with empty PATH.
Apparently, `dsmc` needs `grep` in its PATH.
2022-01-17 12:09:26 +01:00
Yarny0
6e157a481a tsm-client: fix lvm2 support
lvm2 support was broken when lvm2 got
converted to a multiple-output derivation:

https://github.com/NixOS/nixpkgs/pull/93024
d3a991d410

The `runtimeDependencies` attribute doesn't specifically
look for a `lib` output, so it uses the main `out` output
which no longer contains the library object files.

Since TSM loads the `libdevmapper.so` library
dynamically (likely with `dlfcn.h` functions),
the breakage couldn't be detected at build time.

The commit at hand simply uses
`getLib` to pick the correct output.
2022-01-17 12:09:23 +01:00
Graham Christensen
5aaed40d22
Merge pull request #154911 from mweinelt/cryptsetup
cryptsetup: 2.4.2 -> 2.4.3
2022-01-13 15:06:32 -05:00
Jan Tojnar
1bf884461a
Merge pull request #154920 from dasj19/gdk-pixbuf-xlib-updates
gdk-pixbuf-xlib: 2020-06-11-unstable -> 2.40.2
2022-01-13 20:37:23 +01:00
Fabian Affolter
b9aa18f464
Merge pull request #154848 from fabaff/bump-time-machine
python3Packages.time-machine: 2.5.0 -> 2.6.0
2022-01-13 20:12:39 +01:00
Fabian Affolter
847ab63391
Merge pull request #154884 from fabaff/bump-aioresponses
python3Packages.aioresponses: 0.7.2 -> 0.7.3
2022-01-13 20:12:33 +01:00
Fabian Affolter
98227dd036
Merge pull request #154890 from fabaff/bump-deemix
python3Packages.deemix: 3.6.5 -> 3.6.6
2022-01-13 20:12:22 +01:00
Fabian Affolter
2df8c93083
Merge pull request #154907 from fabaff/fix-debugpy
python310Packages.debugpy: disable failing tests
2022-01-13 20:12:10 +01:00
Fabian Affolter
756aa43f7c
Merge pull request #154908 from fabaff/fix-marshmallow-dataclass
python310Packages.marshmallow-dataclass: ignore DeprecationWarning
2022-01-13 20:12:00 +01:00
Daniel Șerbănescu
6c0fc2514d gdk-pixbuf-xlib: 2020-06-11-unstable -> 2.40.2 2022-01-13 20:11:35 +01:00
Fabian Affolter
6ee6ba49a3
Merge pull request #154914 from fabaff/fix-glom
python3Packages.glom: switch to pytestCheckHook
2022-01-13 20:11:15 +01:00
Renaud
011522ff6a
Merge pull request #154353 from figsoda/update-synth
synth: 0.6.2 -> 0.6.4
2022-01-13 20:05:44 +01:00
Renaud
023304b08c
Merge pull request #154398 from r-ryantm/auto-update/gitRepo
gitRepo: 2.19 -> 2.20
2022-01-13 19:54:51 +01:00
R. RyanTM
ba97ea6dcb
ttygif: 1.5.0 -> 1.6.0
(#154434)
2022-01-13 19:43:23 +01:00
Anderson Torres
3decc8a139
Merge pull request #154899 from AndersonTorres/new-misc
xiphos: code refactor
2022-01-13 15:31:01 -03:00
R. RyanTM
dd4109a2aa
tinyssh: 20210601 -> 20220101
(#154469)
2022-01-13 19:26:26 +01:00
R. RyanTM
6ba9a81059
git-hub: 2.1.1 -> 2.1.2
(#154504)
2022-01-13 19:19:57 +01:00
Renaud
4d73b9327f
Merge pull request #154516 from r-ryantm/auto-update/strawberry
strawberry: 1.0.0 -> 1.0.1
2022-01-13 19:15:57 +01:00
R. RyanTM
75f0a6b65b
inadyn: 2.9.0 -> 2.9.1
* inadyn: 2.9.0 -> 2.9.1 (#154567)

* inadyn: fix homepage URI

Co-authored-by: Renaud <c0bw3b@users.noreply.github.com>
2022-01-13 19:13:25 +01:00
Fabian Affolter
229298c6de
Merge pull request #154889 from fabaff/bump-celery
python3Packages.celery: 5.2.1 -> 5.2.3
2022-01-13 18:52:18 +01:00
Fabian Affolter
09b3ac7aa5 python3Packages.glom: switch to pytestCheckHook 2022-01-13 18:49:26 +01:00
R. Ryantm
2d3dd64808 scala: 2.13.7 -> 2.13.8 2022-01-13 12:44:50 -05:00
Fabian Affolter
37076fc603 python3Packages.boltons: add patch for pprint 2022-01-13 18:38:47 +01:00
Martin Weinelt
99ee04b5d1 cryptsetup: 2.4.2 -> 2.4.3 2022-01-13 18:24:48 +01:00
Sandro
5e1226aef7
Merge pull request #153896 from lucasew/packages/bpycv 2022-01-13 18:22:53 +01:00
R. RyanTM
441efc81bc
libkeyfinder: 2.2.5 -> 2.2.6
(#154608)
2022-01-13 18:11:36 +01:00
ajs124
b0a269ace3
Merge pull request #154885 from lostnet/mozjs
spidermonkey_91: 91.4.0 -> 91.5.0
2022-01-13 18:10:27 +01:00
ajs124
8da45806ec
Merge pull request #154902 from helsinki-systems/upd/nginx-quic
nginxQuic: 10522e8dea41 -> 6f8253673669
2022-01-13 18:10:06 +01:00
Sandro
0c12c011f6
Merge pull request #154905 from SuperSandro2000/stfl 2022-01-13 18:08:51 +01:00
Robert Hensing
5473929d36
Merge pull request #154785 from tfc/pandoc-drawio-filter
pandoc-drawio-filter: init at 1.0
2022-01-13 18:07:46 +01:00
ajs124
a282e47548
Merge pull request #154533 from r-ryantm/auto-update/texstudio
texstudio: 4.1.2 -> 4.2.0
2022-01-13 18:04:36 +01:00
Sandro
2c7c494a4d
Merge pull request #154897 from fabaff/fix-eventlet 2022-01-13 18:00:56 +01:00
Sandro
660012f42d
Merge pull request #154904 from SuperSandro2000/maloader 2022-01-13 17:49:12 +01:00
Fabian Affolter
077a0b2ee6 python310Packages.marshmallow-dataclass: ignore DeprecationWarning 2022-01-13 17:38:57 +01:00
Fabian Affolter
93a324cd58 python310Packages.debugpy: disable failing tests 2022-01-13 17:32:48 +01:00
pennae
4d78aaf345
Merge pull request #154828 from liclac/syncterm
syncterm: init at 1.1
2022-01-13 16:30:12 +00:00
Sandro
2a5b7a5d32
Merge pull request #154896 from datastory/master 2022-01-13 17:30:03 +01:00
Robert Schütz
fb43fde2f5 python3Packages.igraph: 0.9.8 -> 0.9.9 2022-01-13 08:18:25 -08:00