philroche
1/27/2018 - 11:53 AM

Add a package from a private PPA to a chroot and strip references to the private PPA

Add a package from a private PPA to a chroot and strip references to the private PPA

REPO_LINE="deb https://${LP_USER}:${PPA_PASSWORD}@${PRIVATE_PPA_URL} ${SUITE} main"
REPO_KEY_FINGERPRINT=832749327429CADB77842973ED72947203471037

# Add the private ppa to the system
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-add-repository "${REPO_LINE}"
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-key adv --keyserver keyserver.ubuntu.com --recv ${REPO_KEY_FINGERPRINT}
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-get update

# Install from private PPA HERE
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-get install -qqy awesome_package_but_super_secret

# Remove the repo
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-add-repository --remove "${REPO_LINE}"

# Delete the key (using the last 8 characters of the full fingerprint)
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-key list
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-key del ${REPO_KEY_FINGERPRINT:(-8)}
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-key list

# Delete backups that would reveal our private PPA
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" cat /etc/apt/sources.list
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" rm /etc/apt/sources.list.save
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" rm /etc/apt/trusted.gpg~

env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-get update
env DEBIAN_FRONTEND=noninteractive chroot "${MOUNTPOINT}" apt-get clean