How to install a vcpkg package without default options - vcpkg

Packages often have options that can be selected at install time. It's easy to add additional options to a package when it is installed: vcpkg install package[option]
I'd like to remove one of the default options selected for a package. How can I deselect options from a package? Specifically, I'd like to install curl with the winssl feature and without openssl.

Related

What is the proper way to install bubblewrap for opam (ideally without admin priviledges)?

I am getting this error:
(iit_synthesis) brando9~ $ bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh)"
## Using already downloaded "/tmp/user/22003/opam-2.1.4-x86_64-linux"
## Where should it be installed ? [/lfs/ampere4/0/brando9/.local/bin] ~/.local/bin
## '~/.local/bin' resolves to '/lfs/ampere4/0/brando9/.local/bin', do you confirm [Y/n] Y
## opam 2.1.4 installed to /lfs/ampere4/0/brando9/.local/bin
## Converting the opam root format & updating
No configuration file found, using built-in defaults.
Checking for available remotes: rsync and local, git.
- you won't be able to use mercurial repositories unless you install the hg command on your system.
- you won't be able to use darcs repositories unless you install the darcs command on your system.
[WARNING] Missing dependencies -- the following commands are required for opam to operate:
- bwrap: Sandboxing tool bwrap was not found. You should install 'bubblewrap'. See https://opam.ocaml.org/doc/FAQ.html#Why-does-opam-require-bwrap.
[ERROR] Sandboxing is not working on your platform ubuntu:
"~/.opam/opam-init/hooks/sandbox.sh build sh -c echo SUCCESS >$TMPDIR/opam-sandbox-check-out && cat $TMPDIR/opam-sandbox-check-out; rm -f
$TMPDIR/opam-sandbox-check-out" exited with code 10
Do you want to disable it? Note that this will result in less secure package builds, so please ensure that you have some other isolation mechanisms in
place (such as running within a container or virtual machine). [y/N]
but it doesn't link to a way to actually install it, link given https://opam.ocaml.org/doc/FAQ.html#Why-does-opam-require-bwrap and also I thought this would mean I don't need to do that:
opam init --disable-sandboxing
opam update --all
eval $(opam env)
am I wrong? I'm confused.
To install bubblewrap on Ubuntu 18.04 or later just do
sudo apt-get install bubblewrap
If you have an older Ubuntu distribution or a distribution that doesn't package this program, then follow the instructions on the bubblewrap page to install it.
Of course, you can opt out of using bubblewrap, this is actually what the message is telling you. Just say, y for yes and it will continue without bubble-wrapping anything. For example, if you're building in a docker container, you don't need an extra layer of containerization that is provided by bubblewrap so you can drop it off.
also I thought this would mean I don't need to do that:
opam init --disable-sandboxing
...
Yes, once you install opam the binary, and if you opted out of using bubblewrap you need to initialize opam with this option (opam installation roughly consists of two steps, first you download and install the binary, next you need to run opam init so that it configures itself in your system).

Install extra packages in Flatpak sandbox

There are some Flatpak apps that have optional dependencies that are not bundled with the app. E.g the plotting package Veusz is available as a Flatpak and it can optionally use the Python package h5py to open HDF5 files. But h5py is not bundled with the Flatpak version. I saw a flatpak command flatpak enter that the documentation says allows us to
Enter the flatpak sandbox.
So I started the Veusz flatpak app and used flatpak ps to get its PID. Then I tried sudo flatpak enter PID pip3 install h5py but it installed h5py in my host operating system!
TLDR; Is it possible to install custom packages (not just Python packages) in a Flatpak application's sandbox? If yes, how shall I do it?
In general, you need to add an extension point and create a new package.
For example, add an extension point for the directory you need to add files (here lib/GL):
[Extension org.gnome.Platform.GL]
version=1.4
directory=lib/GL
and make a new flatpak package with the files to add (here org.gnome.Platform.GL).
In this case though, there may be some sort of issue. Looking at the metadata file for the Veusz flatpak here, they seem to be including hdf5 and h5py already. If you're missing this functionality you probably want to raise an issue in the repo.

aws-RunPatchBaseline doesn´t install new packages through apt-get

After running a few tests through AWS SSM Document aws-RunPatchBaseline, the content code used for Debian based OS like Ubuntu doesn´t truly install any required packages even setting this with "install" parameter and being executed. Is this something that needs to be fixed or why does this SSM document work this way without truly installing packages.
From documentation, please see below:
apt-get update downloads the package lists from the repositories and "updates" them to get information on the newest versions of packages and their dependencies. It will do this for all repositories and PPAs. From http://linux.die.net/man/8/apt-get:
Used to re-synchronize the package index files from their sources. The indexes of available packages are fetched from the location(s) specified in /etc/apt/sources.list(5). An update should always be performed before an upgrade or dist-upgrade.
apt-get upgrade will fetch new versions of packages existing on the machine if APT knows about these new versions by way of apt-get update.
From http://linux.die.net/man/8/apt-get:
Used to install the newest versions of all packages currently installed on the system from the sources enumerated in /etc/apt/sources.list(5). Packages currently installed with new versions available are retrieved and upgraded; under no circumstances are currently installed packages removed, nor are packages that are not already installed retrieved and installed. New versions of currently installed packages that cannot be upgraded without changing the install status of another package will be left at their current version. [Emphasis mine] An update must be performed first so that apt-get knows that new versions of packages are available.
Currently code content has this:
" apt-get update >/dev/null",
" fi",
"}",
¿Should I add a custom line or create a custom ssm with apt-get upgrade -y after apt-get update?, this document is supossed to work by installing packages, but so far on Ubuntu for example it just doesn´t do anything besides updating the package lists from repos (without installing any).
In my experience, on Ubuntu 20.04, it works. You can verify this by checking apt logs after you run AWS-RunPatchBaseline on such an instance. The logs are located in:
/var/log/apt/history.log
and
/var/log/apt/term.log
Since you have provided any details on what where your tests, which linux distribution did you use, nor provided any log output with possible errors of ssm agent or apt, it is difficult to speculate why it does not work for you.
The actual upgrade is performed by a python script, not the command you listed. You can inspect its code after you run AWS-RunPatchBaseline:
/var/log/amazon/ssm/patch-baseline-operations

How to install Xeus-cling without Anaconda?

Why is Anaconda package manager necessary to install Xeus-cling?
I have only used pip so far, and switching to a new package manager seems like a lot of work. I want to start using C++ with Jupyter, but all the installation instructions assume conda package manager.
Does anyone know of Xeus-cling installation which doesn't require Anaconda?
Pip is a package manager for python. It is mostly meant for packaging pure Python packages even though shipping some binary extensions is possible.
xeus-cling is a native application, which relies on a number of other libraries, including LLVM, Clang, Cling, Xeus, OpenSSL, libzmq and other. Vendoring the entire LLVM stack in a pip package would be unreasonable.
The developers of xeus-cling have made the choice of conda because it is a general-purpose cross-platform package manager, but it could be packaged for other general-purpose package managers, such as Debian's dpkg, OSX's Homebrew, conan.io or others.

Where do you install django-registration-redux module?

I have my own project called "polling". I am looking to install the django-registration-redux submodule to create the log-in process. Where should I same the Django-registration-redux module? Another way to ask this is what does the directory structure look like?
Should I save it within the polling directory? or on the same level as polling because it is a separate project that I'm importing?
From the docs:
Automatic installation via a package manager
Several automatic package-installation tools are available for Python; the recommended one is pip.
Using pip, type:
pip install django-registration-redux
Manual installation from a downloaded package
If you prefer not to use an automated package installer, you can download a copy of django-registration-redux and install it manually... From a command line in that directory, type:
python setup.py install
Bottom line, just run the setup installation process and it will "install" it to the right place.