Skip to content

Instantly share code, notes, and snippets.

@philroche
Forked from rcj4747/private_ppa_addition.sh
Created January 27, 2018 11:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save philroche/a164b8cf0c6aaf6171f6cc8c422de529 to your computer and use it in GitHub Desktop.
Save philroche/a164b8cf0c6aaf6171f6cc8c422de529 to your computer and use it in GitHub Desktop.
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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment