Add zypper element
This provides some customizations for zypper based distributions (e.g. openSUSE and SLES). It is heavily inspired by the yum element and sets up zypper to cache downloaded package outside of the chroot so that they can be reused to speed up subsequent builds. Change-Id: I775c921ee19cf7d1180fb68c1b7857ea6245a77d
This commit is contained in:
parent
ca667d0a33
commit
f8a0715c56
@ -1,2 +1,3 @@
|
||||
cache-url
|
||||
dib-run-parts
|
||||
zypper
|
||||
|
10
elements/zypper/README.md
Normal file
10
elements/zypper/README.md
Normal file
@ -0,0 +1,10 @@
|
||||
This element provides some customizations for zypper based distributions like
|
||||
SLES and openSUSE. It works in a very similar way as the yum element does for
|
||||
yum based distributions.
|
||||
|
||||
Zypper is reconfigured so that it keeps downloaded packages cached outside of
|
||||
the build chroot so that they can be reused by subsequent image builds. The
|
||||
cache increases image building speed when building multiple images, especially
|
||||
on slow connections. This is more effective than using an HTTP proxy for
|
||||
caching packages since the download servers will often redirect clients to
|
||||
different mirrors.
|
6
elements/zypper/post-install.d/99-zypper-no-keep-packages
Executable file
6
elements/zypper/post-install.d/99-zypper-no-keep-packages
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Disable caching packages for all repositories
|
||||
sudo zypper modifyrepo --all --no-keep-packages
|
6
elements/zypper/pre-install.d/01-zypper-keep-packages
Executable file
6
elements/zypper/pre-install.d/01-zypper-keep-packages
Executable file
@ -0,0 +1,6 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
# Enable caching packages for all repositories
|
||||
sudo zypper modifyrepo --all --keep-packages
|
10
elements/zypper/root.d/50-zypper-cache
Executable file
10
elements/zypper/root.d/50-zypper-cache
Executable file
@ -0,0 +1,10 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
[ -n "$TARGET_ROOT" ]
|
||||
|
||||
ZYPPER_CACHE_DIR=~/.cache/image-create/zypper
|
||||
mkdir -p $ZYPPER_CACHE_DIR
|
||||
|
||||
sudo mount --bind $ZYPPER_CACHE_DIR $TMP_MOUNT_PATH/var/cache/zypp
|
Loading…
Reference in New Issue
Block a user