pkgsrc-WIP-changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

*: Re-add back TODO accidentally overwritten by adding CVE-2020-35711 reference



Module Name:	pkgsrc-wip
Committed By:	Leonardo Taccari <leot%NetBSD.org@localhost>
Pushed By:	leot
Date:		Sat Dec 26 13:45:36 2020 +0100
Changeset:	c985f502ca1d96d28d11768af38ce39ba2efe107

Modified Files:
	spotifyd/TODO
	texlab/TODO

Log Message:
*: Re-add back TODO accidentally overwritten by adding CVE-2020-35711 reference

Thanks <wiz>!

To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=c985f502ca1d96d28d11768af38ce39ba2efe107

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

diffstat:
 spotifyd/TODO | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 texlab/TODO   |  5 ++++
 2 files changed, 92 insertions(+)

diffs:
diff --git a/spotifyd/TODO b/spotifyd/TODO
index 313976168d..279ae9a191 100644
--- a/spotifyd/TODO
+++ b/spotifyd/TODO
@@ -1,2 +1,89 @@
 This package has known vulnerabilities, please investigate and fix if possible:
   CVE-2020-35711
+
+## Todo
+
+1. In the Makefile there is this todo item:
+
+		# TODO investigate why this is needed
+		CHECK_WRKREF_SKIP+=	bin/spotifyd
+
+## Done
+
+1. Need to somewhat manually create patches. mkpatches doesn't pick up changes
+from vendor directory. E.g, do `pkgdiff` in the directory and then edit patch
+to reference correct location like:
+
+		../vendor/daemonize-0.2.3/src/ffi.rs
+
+2. Figure out why it can't find OpenSSL. Building _normally_ works fine, so
+something to do with pkgsrc. Maybe need to set a variable somewhere.
+
+		error: failed to run custom build command for `openssl-sys v0.9.39`
+		process didn't exit successfully: `/usr/pkgsrc/wip/spotifyd/work/spotifyd-0.2.3/target/release/build/openssl-sys-db8d42dae8a7dcaf/build-script-main` (exit code: 101)
+		--- stdout
+		cargo:rerun-if-env-changed=X86_64_UNKNOWN_NETBSD_OPENSSL_LIB_DIR
+		cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
+		cargo:rerun-if-env-changed=X86_64_UNKNOWN_NETBSD_OPENSSL_INCLUDE_DIR
+		cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
+		cargo:rerun-if-env-changed=X86_64_UNKNOWN_NETBSD_OPENSSL_DIR
+		cargo:rerun-if-env-changed=OPENSSL_DIR
+		run pkg_config fail: "Failed to run `\"\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"
+
+		--- stderr
+		thread 'main' panicked at '
+
+		Could not find directory of OpenSSL installation, and this `-sys` crate cannot
+		proceed without this knowledge. If OpenSSL is installed and this crate had
+		trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
+		compilation process.
+
+		Make sure you also have the development packages of openssl installed.
+		For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.
+
+		If you're in a situation where you think the directory *should* be found
+		automatically, please open a bug at https://github.com/sfackler/rust-openssl
+		and include information about your system as well as this message.
+
+		    $HOST = x86_64-unknown-netbsd
+		    $TARGET = x86_64-unknown-netbsd
+		    openssl-sys = 0.9.39
+
+	Needed to set these:
+
+		MAKE_ENV+= OPENSSL_INCLUDE_DIR=/usr/include/openssl
+		MAKE_ENV+= OPENSSL_LIB_DIR=/usr/lib
+
+	Actually though I probably need to copy what tealdeer does with openssl
+
+3. In updating to spotifyd 0.2.5 ran into some issues with nix and libc
+
+		 error[E0425]: cannot find function `fexecve` in module `libc`
+		   --> /usr/pkgsrc/wip/spotifyd/work/vendor/nix-0.11.0/src/unistd.rs:655:15
+		    |
+		655 |         libc::fexecve(fd, args_p.as_ptr(), env_p.as_ptr())
+		    |               ^^^^^^^ did you mean `execve`?
+		help: possible candidate is found in another module, you can import it into scope
+		    |
+		3   | use unistd::fexecve;
+		    |
+
+		error: aborting due to previous error
+
+		For more information about this error, try `rustc --explain E0425`.
+		error: Could not compile `nix`.
+		warning: build failed, waiting for other jobs to finish...
+		error: build failed
+		*** Error code 101
+
+	The relevant PRs for this are:
+
+		- https://github.com/nix-rust/nix/pull/1000
+		- https://github.com/rust-lang/libc/pull/1201
+
+	In a nutshell the problem is that libc was updated to remove `fexecve`
+	for netbsd-like platforms as it's irrelevant, but spotifyd has dependencies on
+	older versions of nix that still look for this function so we need to patch one
+	of these older versions to remove this function. Rust dependency management is
+	obviously not solving _all_ the problems although it is nice (I think?) how you
+	can be dependent on multiple versions of the same thing.
diff --git a/texlab/TODO b/texlab/TODO
index 313976168d..6a1d70d052 100644
--- a/texlab/TODO
+++ b/texlab/TODO
@@ -1,2 +1,7 @@
+Needs support in lang/rust/cargo.mk for crates that are not on
+crates.io, or some workaround.
+
+https://mail-index.netbsd.org/tech-pkg/2020/05/20/msg023190.html
+
 This package has known vulnerabilities, please investigate and fix if possible:
   CVE-2020-35711


Home | Main Index | Thread Index | Old Index