Hi again, I forgot to mention that I have been installing 1Password using the commands that 1Password provided on their support page instead of the Debian Package. However, I realized I had missed the debsig-verify step. As a result, I modified my hook to look like the following:
> #!/bin/bash > set -e > # Create a temporary user, because otherwise 1Password will break the Live > System: > # Refer to: > https://gitlab.com/kalilinux/build-scripts/live-build-config/-/issues/63 > useradd --no-create-home --user-group --uid 1000 tmpuser > # Add 1Password's GPG key and repository: > curl -sS https://downloads.1password.com/linux/keys/1password.asc | gpg > --dearmor -o /usr/share/keyrings/1password-archive-keyring.gpg > echo 'deb [arch=amd64 > signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] > https://downloads.1password.com/linux/debian/amd64 stable main' | tee > /etc/apt/sources.list.d/1password.list > # Add the "debsig-verify" policy: > mkdir -p /etc/debsig/policies/AC2D62742012EA22/ > curl -sS https://downloads.1password.com/linux/debian/debsig/1password.pol | > tee /etc/debsig/policies/AC2D62742012EA22/1password.pol > mkdir -p /usr/share/debsig/keyrings/AC2D62742012EA22 > curl -sS https://downloads.1password.com/linux/keys/1password.asc | gpg > --dearmor --output /usr/share/debsig/keyrings/AC2D62742012EA22/debsig.gpg > # Install 1Password: > apt-get update > apt-get install -y 1password > # Delete the temporary user: > userdel tmpuser Despite this, I can see that `1password` is listed for removal in the `filesystem.packages-remove` in the brand new ISO I have generated with this change (alongside some of the other packages I have listed). This can be seen in the following paste: https://paste.debian.net/1306346/ I have also realized I have provided a wrongful statement about Tailscale upon examining that `filesystem.packages-remove`: It is indeed written for removal. Thus, I kindly ask you to disregard my previous statement regarding Tailscale. Kind regards, Arszilla On Monday, February 5th, 2024 at 10:16, Arszilla <cont...@arszilla.com> wrote: > Hi Roland, > > First off, I'd like to let you know that your first email appeared (in my > inbox). despite it not appearing on the website. So be rest assured :) > > > I still think that removing all live-related packages in the installer is a > > good idea. The processing of 'live/filesystem.packages-remove' shows where > > the package management system has been circumvented. > > > I get that this is totally up to you. However, if people use `live-build` in > the same manner as I do, they may face this issue and may be dissatisfied. I > came up with a "tempfix" on my end by implementing a `.binary` hook that > removes `filesystem.packages-remove` if it detects its presence on the ISO > since the packages I install end up there. > > I should mention that this issue is not 1Password-specific. We initially > discovered the presence of this behavior in > https://gitlab.com/kalilinux/build-scripts/live-build-config/-/issues/61 - > where another user reported that their custom packages were being removed. > > I think when I tried installing 1Password with the commands listed in > 1Password's article, I had a similar result. I may have to check again. > However, as per my previous statement, this issue affects more packages other > than 1Password. > > In my testing, I have noticed that this issue affects the following > packages/programs I installed in my custom ISO: > - Docker (installed from Docker's own repositories) > - Tenable Nessus > - Insomnia (https://insomnia.rest) > - Spotify > - ProtonVPN > - Obsidian (https://obsidian.md) > - Visual Studio Code > - Discord > > These are just some of the packages I can remember off of my head. A small > excerpt from the `syslog` found on `/var/log/installer/` directory lists > these in more detail: > > > Jan 16 16:29:36 in-target: The following packages will be REMOVED: > > Jan 16 16:29:36 in-target: 1password* code* containerd.io* discord* > > docker-buildx-plugin* docker-ce* > > Jan 16 16:29:36 in-target: docker-ce-cli* docker-ce-rootless-extras* > > docker-compose-plugin* > > Jan 16 16:29:36 in-target: gir1.2-nm-1.0* gnupg2* insomnia* > > libcairo-script-interpreter2* libgtk-4-1* > > Jan 16 16:29:36 in-target: libgtk-4-bin* libgtk-4-common* > > libgtk-4-media-gstreamer* libnma-gtk4-0* > > Jan 16 16:29:36 in-target: libslirp0* libvulkan1* mesa-vulkan-drivers* > > multiviewer-for-f1* nessus* > > Jan 16 16:29:36 in-target: network-manager-openvpn* > > network-manager-openvpn-gnome* pigz* > > Jan 16 16:29:36 in-target: proton-vpn-gnome-desktop* proton-vpn-gtk-app* > > protonvpn-stable-release* > > Jan 16 16:29:36 in-target: python3-jaraco.classes* python3-jeepney* > > python3-keyring* > > Jan 16 16:29:36 in-target: python3-proton-core* > > python3-proton-keyring-linux* > > Jan 16 16:29:36 in-target: python3-proton-keyring-linux-secretservice* > > python3-proton-vpn-api-core* > > Jan 16 16:29:36 in-target: python3-proton-vpn-connection* > > python3-proton-vpn-killswitch* > > Jan 16 16:29:36 in-target: python3-proton-vpn-killswitch-network-manager* > > python3-proton-vpn-logger* > > Jan 16 16:29:36 in-target: python3-proton-vpn-network-manager* > > Jan 16 16:29:36 in-target: python3-proton-vpn-network-manager-openvpn* > > python3-proton-vpn-session* > > Jan 16 16:29:36 in-target: python3-secretstorage* python3-shtab* > > slirp4netns* spotify-client* > > Jan 16 16:29:37 in-target: 0 upgraded, 0 newly installed, 47 to remove and > > 0 not upgraded. > > > One of the packages I installed but not affected by this is Tailscale, which > is installed by the following script based on Tailscale's own install script: > > > TRACK="stable" > > OS="debian" > > VERSION="bullseye" > > mkdir -p --mode=0755 /usr/share/keyrings > > curl -fsSL "https://pkgs.tailscale.com/$TRACK/$OS/$VERSION.noarmor.gpg" | > > tee /usr/share/keyrings/tailscale-archive-keyring.gpg >/dev/null > > curl -fsSL > > "https://pkgs.tailscale.com/$TRACK/$OS/$VERSION.tailscale-keyring.list" | > > tee /etc/apt/sources.list.d/tailscale.list > > apt-get update > > apt-get install -y tailscale tailscale-archive-keyring > > systemctl enable tailscaled > > > Regardless, this issue affects various popular programs. Hence, I am raising > this issue to see if there could be a better way of addressing the effect > desired by this change. Because IMO the last thing anyone using live-build to > "cook" a custom ISO with their desired changes wants to see is the programs > they desire to be removed "unknowingly" once they install their ISO and > having to manually fix this issue, defeating the whole purpose of them using > `live-build`. > > --- > > > The bug report was based on a Kali version of live-build, so I assume you > > know better than me how to do so. > > > I don't know if there are "major" differences between the live-build version > of Debian and Kali, but according to https://pkg.kali.org/pkg/live-build / > https://gitlab.com/kalilinux/packages/live-build/-/blob/kali/master/debian/changelog?ref_type=heads > there are only minor adjustments to the version in Debian and Kali aimed at > addressing some firmware or GRUB related issues/differences. > > > Please add such command to the bug report, so I can update the live-manual > > to address such use case. > > > I don't really understand what you meant with this statement. If you could > elaborate a bit further, I'd sincerely appreciate it. > > Kind regards, > Arszilla > > > > > On Sunday, February 4th, 2024 at 18:59, Roland Clobus rclo...@rclobus.nl > wrote: > > > On 04/02/2024 17:41, Roland Clobus wrote: > > ... > > > > > echo 'deb [arch=amd64 > > > signed-by=/usr/share/keyrings/1password-archive-keyring.gpg] > > > https://downloads.1password.com/linux/debian/amd64 stable main' > > > > config/includes.chroot_before_packages/etc/apt/sources.list.d/1password.list > > > > And I'm certain that there is a more secure way, that ensures that only > > the package called '1password' will come from this repository. > > The bug report was based on a kali version of live-build, so I assume > > you know better than me how to do so. > > Please add such command to the bug report, so I can update the > > live-manual to address such use case. > > > > With kind regards, > > Roland Clobus