refactor: standardize apt-get usage

- Always put flags in same location
- Always use apt-get
- Add --no-install-recommends where possible
This commit is contained in:
Jose Diaz-Gonzalez
2021-01-17 16:09:58 -05:00
parent 7b51bcd4ac
commit ed84f21c08
16 changed files with 37 additions and 37 deletions

View File

@@ -25,8 +25,8 @@ RUN echo "dokku dokku/hostname string $DOKKU_HOSTNAME" | debconf-set-selections
&& cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \ && cp /tmp/dhparam.pem /etc/nginx/dhparam.pem \
&& apt-get update -qq \ && apt-get update -qq \
&& apt-get upgrade -qq -y \ && apt-get upgrade -qq -y \
&& apt-get install --no-install-recommends --only-upgrade -qq -y openssl openssh-server \ && apt-get -qq -y --no-install-recommends install --only-upgrade openssl openssh-server \
&& apt install --no-install-recommends -qq -y rsync /tmp/dokku.deb \ && apt-get -qq -y --no-install-recommends install rsync /tmp/dokku.deb \
&& apt-get purge -qq -y syslog-ng-core \ && apt-get purge -qq -y syslog-ng-core \
&& apt-get autoremove -qq -y \ && apt-get autoremove -qq -y \
&& apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

View File

@@ -130,16 +130,16 @@ apt-update:
apt-get update -qq apt-get update -qq
jq: jq:
apt-get install -qq -y jq apt-get -qq -y --no-install-recommends install jq
dos2unix: dos2unix:
apt-get install -qq -y dos2unix apt-get -qq -y --no-install-recommends install dos2unix
help2man: help2man:
apt-get install -qq -y help2man apt-get -qq -y --no-install-recommends install help2man
man-db: man-db:
apt-get install -qq -y man-db apt-get -qq -y --no-install-recommends install man-db
sshcommand: sshcommand:
wget -qO /tmp/sshcommand_latest.tgz ${SSHCOMMAND_URL} wget -qO /tmp/sshcommand_latest.tgz ${SSHCOMMAND_URL}
@@ -159,13 +159,13 @@ sigil:
tar xzf /tmp/sigil_latest.tgz -C /usr/local/bin tar xzf /tmp/sigil_latest.tgz -C /usr/local/bin
docker: docker:
apt-get install -qq -y curl apt-get -qq -y --no-install-recommends install curl
grep -i -E "^docker" /etc/group || groupadd docker grep -i -E "^docker" /etc/group || groupadd docker
usermod -aG docker dokku usermod -aG docker dokku
ifndef CI ifndef CI
wget -nv -O - https://get.docker.com/ | sh wget -nv -O - https://get.docker.com/ | sh
ifdef DOCKER_VERSION ifdef DOCKER_VERSION
apt-get install -qq -y docker-engine=${DOCKER_VERSION} || (apt-cache madison docker-engine ; exit 1) apt-get -qq -y --no-install-recommends install docker-engine=${DOCKER_VERSION} || (apt-cache madison docker-engine ; exit 1)
endif endif
sleep 2 # give docker a moment i guess sleep 2 # give docker a moment i guess
endif endif

6
Vagrantfile vendored
View File

@@ -55,7 +55,7 @@ Vagrant::configure("2") do |config|
vb.customize ["modifyvm", :id, "--cableconnected1", "on"] vb.customize ["modifyvm", :id, "--cableconnected1", "on"]
end end
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update >/dev/null && apt-get -qq -y install git build-essential >/dev/null && cd /root/dokku && #{make_cmd}" vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git build-essential >/dev/null && cd /root/dokku && #{make_cmd}"
vm.vm.provision :shell, :inline => "cd /root/dokku && make dokku-installer" vm.vm.provision :shell, :inline => "cd /root/dokku && make dokku-installer"
vm.vm.provision :shell do |s| vm.vm.provision :shell do |s|
s.inline = <<-EOT s.inline = <<-EOT
@@ -72,7 +72,7 @@ Vagrant::configure("2") do |config|
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}" vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update >/dev/null && apt-get -qq -y install git dos2unix >/dev/null" vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git dos2unix >/dev/null"
vm.vm.provision :shell, :inline => "cd /vagrant/ && export DOKKU_BRANCH=`git symbolic-ref -q --short HEAD 2>/dev/null` && export DOKKU_TAG=`git describe --tags --exact-match 2>/dev/null` && cd /root/ && cp /vagrant/bootstrap.sh ./ && dos2unix bootstrap.sh && bash bootstrap.sh" vm.vm.provision :shell, :inline => "cd /vagrant/ && export DOKKU_BRANCH=`git symbolic-ref -q --short HEAD 2>/dev/null` && export DOKKU_TAG=`git describe --tags --exact-match 2>/dev/null` && cd /root/ && cp /vagrant/bootstrap.sh ./ && dos2unix bootstrap.sh && bash bootstrap.sh"
end end
@@ -98,7 +98,7 @@ Vagrant::configure("2") do |config|
vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT vm.vm.network :forwarded_port, guest: 80, host: FORWARDED_PORT
vm.vm.hostname = "#{DOKKU_DOMAIN}" vm.vm.hostname = "#{DOKKU_DOMAIN}"
vm.vm.network :private_network, ip: DOKKU_IP vm.vm.network :private_network, ip: DOKKU_IP
vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update >/dev/null && apt-get -qq -y install git >/dev/null && cd /root/dokku && #{make_cmd}" vm.vm.provision :shell, :inline => "export DEBIAN_FRONTEND=noninteractive && apt-get update -qq >/dev/null && apt-get -qq -y --no-install-recommends install git >/dev/null && cd /root/dokku && #{make_cmd}"
vm.vm.provision :shell, :inline => "export IS_RELEASE=true && cd /root/dokku && make deb-all rpm-all" vm.vm.provision :shell, :inline => "export IS_RELEASE=true && cd /root/dokku && make deb-all rpm-all"
end end

View File

@@ -42,13 +42,13 @@ install-requirements() {
debian) debian)
if ! dpkg -l | grep -q software-properties-common; then if ! dpkg -l | grep -q software-properties-common; then
apt-get update -qq >/dev/null apt-get update -qq >/dev/null
apt-get -qq -y install software-properties-common apt-get -qq -y --no-install-recommends install software-properties-common
fi fi
;; ;;
ubuntu) ubuntu)
if ! dpkg -l | grep -q software-properties-common; then if ! dpkg -l | grep -q software-properties-common; then
apt-get update -qq >/dev/null apt-get update -qq >/dev/null
apt-get -qq -y install software-properties-common apt-get -qq -y --no-install-recommends install software-properties-common
fi fi
add-apt-repository universe >/dev/null add-apt-repository universe >/dev/null
@@ -100,7 +100,7 @@ install-dokku-from-source() {
log-fail "This installation script requires apt-get. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/" log-fail "This installation script requires apt-get. For manual installation instructions, consult http://dokku.viewdocs.io/dokku/advanced-installation/"
fi fi
apt-get -qq -y install sudo git make software-properties-common apt-get -qq -y --no-install-recommends install sudo git make software-properties-common
cd /root cd /root
if [[ ! -d /root/dokku ]]; then if [[ ! -d /root/dokku ]]; then
git clone "$DOKKU_REPO" /root/dokku git clone "$DOKKU_REPO" /root/dokku
@@ -151,7 +151,7 @@ install-dokku-from-deb-package() {
echo "--> Initial apt-get update" echo "--> Initial apt-get update"
apt-get update -qq >/dev/null apt-get update -qq >/dev/null
apt-get -qq -y install apt-transport-https apt-get -qq -y --no-install-recommends install apt-transport-https
if ! command -v docker &>/dev/null; then if ! command -v docker &>/dev/null; then
echo "--> Installing docker" echo "--> Installing docker"

View File

@@ -2,5 +2,5 @@ FROM ubuntu:18.04
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db
RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc

View File

@@ -2,7 +2,7 @@ FROM dokku/build-base:0.0.1
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db
RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
ARG WORKDIR=/go/src/github.com/dokku/dokku ARG WORKDIR=/go/src/github.com/dokku/dokku

View File

@@ -2,7 +2,7 @@ FROM dokku/build-base:0.0.1
ENV DEBIAN_FRONTEND=noninteractive ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get -y install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db RUN apt-get update -qq && apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian rpm help2man man-db
RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc RUN command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
ARG GOLANG_VERSION ARG GOLANG_VERSION

View File

@@ -22,7 +22,7 @@
"sudo apt-get update -qq >/dev/null", "sudo apt-get update -qq >/dev/null",
"echo '--> Installing make requirement'", "echo '--> Installing make requirement'",
"sudo apt-get -qq -y install build-essential", "sudo apt-get -qq -y --no-install-recommends install build-essential",
"cd /tmp && make install-from-deb", "cd /tmp && make install-from-deb",
"rm /root/.ssh/authorized_keys" "rm /root/.ssh/authorized_keys"

6
deb.mk
View File

@@ -34,7 +34,7 @@ export SIGIL_DESCRIPTION
install-from-deb: install-from-deb:
@echo "--> Initial apt-get update" @echo "--> Initial apt-get update"
sudo apt-get update -qq >/dev/null sudo apt-get update -qq >/dev/null
sudo apt-get install -qq -y apt-transport-https sudo apt-get -qq -y --no-install-recommends install apt-transport-https
@echo "--> Installing docker" @echo "--> Installing docker"
wget -nv -O - https://get.docker.com/ | sh wget -nv -O - https://get.docker.com/ | sh
@@ -43,7 +43,7 @@ install-from-deb:
wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add -
@echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "bionic") main" | sudo tee /etc/apt/sources.list.d/dokku.list @echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ $(shell lsb_release -cs 2>/dev/null || echo "bionic") main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null sudo apt-get update -qq >/dev/null
sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -yy dokku sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install dokku
deb-all: deb-setup deb-dokku deb-sigil deb-dokku-update deb-all: deb-setup deb-dokku deb-sigil deb-dokku-update
mv $(BUILD_DIRECTORY)/*.deb . mv $(BUILD_DIRECTORY)/*.deb .
@@ -52,7 +52,7 @@ deb-all: deb-setup deb-dokku deb-sigil deb-dokku-update
deb-setup: deb-setup:
@echo "-> Updating deb repository and installing build requirements" @echo "-> Updating deb repository and installing build requirements"
@sudo apt-get update -qq >/dev/null @sudo apt-get update -qq >/dev/null
@sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qq -y gcc git build-essential wget ruby-dev ruby1.9.1 lintian >/dev/null 2>&1 @sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 lintian >/dev/null 2>&1
@command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc @command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
@ssh -o StrictHostKeyChecking=no git@github.com || true @ssh -o StrictHostKeyChecking=no git@github.com || true

View File

@@ -327,7 +327,7 @@ export DEBIAN_FRONTEND=noninteractive
case "$DOKKU_DISTRO" in case "$DOKKU_DISTRO" in
debian|ubuntu) debian|ubuntu)
apt-get install -qq -y nginx apt-get -qq -y --no-install-recommends install nginx
;; ;;
opensuse) opensuse)
@@ -1465,7 +1465,7 @@ dokku_log_info1 "Installing GraphicsMagick..."
CMD="cat > gm && \ CMD="cat > gm && \
dpkg -s graphicsmagick >/dev/null 2>&1 || \ dpkg -s graphicsmagick >/dev/null 2>&1 || \
(apt-get update && apt-get install -y graphicsmagick && apt-get clean)" (apt-get update -qq && apt-get -qq -y --no-install-recommends install graphicsmagick && apt-get clean)"
CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD") CID=$(docker run $DOKKU_GLOBAL_RUN_ARGS -i -a stdin $IMAGE /bin/bash -c "$CMD")
test $(docker wait $CID) -eq 0 test $(docker wait $CID) -eq 0

View File

@@ -5,7 +5,7 @@ As of 0.3.18, Dokku defaults to being installed via Debian package. While certai
```shell ```shell
# install prerequisites # install prerequisites
sudo apt-get update -qq >/dev/null sudo apt-get update -qq >/dev/null
sudo apt-get install -qq -y apt-transport-https sudo apt-get -qq -y --no-install-recommends install apt-transport-https
# install docker # install docker
wget -nv -O - https://get.docker.com/ | sh wget -nv -O - https://get.docker.com/ | sh
@@ -16,7 +16,7 @@ OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")"
echo "xenial bionic focal" | grep -q "$OS_ID" || OS_ID="bionic" echo "xenial bionic focal" | grep -q "$OS_ID" || OS_ID="bionic"
echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list echo "deb https://packagecloud.io/dokku/dokku/ubuntu/ ${OS_ID} main" | sudo tee /etc/apt/sources.list.d/dokku.list
sudo apt-get update -qq >/dev/null sudo apt-get update -qq >/dev/null
sudo apt-get install -qq -y dokku sudo apt-get -qq -y install dokku
sudo dokku plugin:install-dependencies --core sudo dokku plugin:install-dependencies --core
``` ```

View File

@@ -89,17 +89,17 @@ When installing from source, this is available from `contrib/dokku-update`, and
## Upgrading using `apt` ## Upgrading using `apt`
If Dokku was installed in a Debian or Ubuntu system, via `apt install dokku` or `bootstrap.sh`, you can upgrade with `apt`: If Dokku was installed in a Debian or Ubuntu system, via `apt-get install dokku` or `bootstrap.sh`, you can upgrade with `apt-get`:
```shell ```shell
# update your local apt cache # update your local apt cache
sudo apt update sudo apt-get update
# update dokku and its dependencies # update dokku and its dependencies
sudo apt install -qq -y dokku herokuish sshcommand plugn gliderlabs-sigil sudo apt-get -qq -y install dokku herokuish sshcommand plugn gliderlabs-sigil
# or just upgrade every package: # or just upgrade every package:
sudo apt upgrade sudo apt-get upgrade
``` ```
## Upgrading from source ## Upgrading from source

View File

@@ -26,7 +26,7 @@ nginx_needs_upgrade() {
nginx_install() { nginx_install() {
declare desc="install nginx and dnsutils" declare desc="install nginx and dnsutils"
export DEBIAN_FRONTEND=noninteractive export DEBIAN_FRONTEND=noninteractive
apt-get install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" -qq -y nginx dnsutils apt-get -qq -y --no-install-recommends install -o Dpkg::Options::="--force-confdef" -o Dpkg::Options::="--force-confold" nginx dnsutils
} }
trigger-nginx-vhosts-dependencies() { trigger-nginx-vhosts-dependencies() {
@@ -55,7 +55,7 @@ trigger-nginx-vhosts-dependencies() {
[[ "$ubuntu_year" -ge "16" ]] && exit 0 [[ "$ubuntu_year" -ge "16" ]] && exit 0
[[ "$ubuntu_year" -eq "15" ]] && [[ "$ubuntu_month" -eq "10" ]] && exit 0 [[ "$ubuntu_year" -eq "15" ]] && [[ "$ubuntu_month" -eq "10" ]] && exit 0
[[ -z "$CIRCLECI" ]] && apt-get install -qq -y software-properties-common python-software-properties [[ -z "$CIRCLECI" ]] && apt-get -qq -y --no-install-recommends install software-properties-common python-software-properties
[[ -n "$CIRCLECI" ]] && aptitude install -q -y software-properties-common python-software-properties [[ -n "$CIRCLECI" ]] && aptitude install -q -y software-properties-common python-software-properties
add-apt-repository -y ppa:nginx/stable add-apt-repository -y ppa:nginx/stable

2
rpm.mk
View File

@@ -12,7 +12,7 @@ rpm-all: rpm-setup rpm-dokku rpm-sigil rpm-dokku-update
rpm-setup: rpm-setup:
@echo "-> Installing rpm build requirements" @echo "-> Installing rpm build requirements"
@sudo apt-get update -qq >/dev/null @sudo apt-get update -qq >/dev/null
@sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get install -qq -y gcc git build-essential wget ruby-dev ruby1.9.1 rpm >/dev/null 2>&1 @sudo DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true apt-get -qq -y --no-install-recommends install gcc git build-essential wget ruby-dev ruby1.9.1 rpm >/dev/null 2>&1
@command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc @command -v fpm >/dev/null || sudo gem install fpm --no-ri --no-rdoc
@ssh -o StrictHostKeyChecking=no git@github.com || true @ssh -o StrictHostKeyChecking=no git@github.com || true

View File

@@ -17,7 +17,7 @@ ifneq ($(shell shellcheck --version >/dev/null 2>&1 ; echo $$?),0)
ifeq ($(SYSTEM),Darwin) ifeq ($(SYSTEM),Darwin)
brew install shellcheck brew install shellcheck
else else
sudo apt-get update -qq && sudo apt-get install -qq -y shellcheck sudo apt-get update -qq && sudo apt-get -qq -y --no-install-recommends install shellcheck
endif endif
endif endif
@@ -37,7 +37,7 @@ ifneq ($(shell xmlstarlet --version >/dev/null 2>&1 ; echo $$?),0)
ifeq ($(SYSTEM),Darwin) ifeq ($(SYSTEM),Darwin)
brew install xmlstarlet brew install xmlstarlet
else else
sudo apt-get update -qq && sudo apt-get install -qq -y xmlstarlet sudo apt-get update -qq && sudo apt-get -qq -y --no-install-recommends install xmlstarlet
endif endif
endif endif

View File

@@ -28,8 +28,8 @@ install_dependencies() {
curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/procfile-util_${PROCFILE_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${PROCFILE_UTIL_PACKAGE_NAME}" curl -L "https://packagecloud.io/dokku/dokku/packages/ubuntu/bionic/procfile-util_${PROCFILE_VERSION}_amd64.deb/download.deb" -o "$ROOT_DIR/build/${PROCFILE_UTIL_PACKAGE_NAME}"
sudo add-apt-repository -y ppa:nginx/stable sudo add-apt-repository -y ppa:nginx/stable
sudo apt-get update sudo apt-get update -qq
sudo apt-get -qq -y install cgroupfs-mount dos2unix jq nginx sudo apt-get -qq -y --no-install-recommends install cgroupfs-mount dos2unix jq nginx
sudo cp "${ROOT_DIR}/tests/dhparam.pem" /etc/nginx/dhparam.pem sudo cp "${ROOT_DIR}/tests/dhparam.pem" /etc/nginx/dhparam.pem
sudo dpkg -i "${ROOT_DIR}/build/$HEROKUISH_PACKAGE_NAME" \ sudo dpkg -i "${ROOT_DIR}/build/$HEROKUISH_PACKAGE_NAME" \