Compare commits
10 Commits
Author | SHA1 | Date | |
---|---|---|---|
316293ed95 | |||
4ebb1b9a1f | |||
4d8a9cf78d | |||
9dbb80b3ad | |||
9dbe9d74c6 | |||
ad75eb00fd | |||
944ea951a7 | |||
7b304f2b6b | |||
5b9dd03e14 | |||
695de1786d |
16
.drone.yml
16
.drone.yml
@ -1,4 +1,5 @@
|
||||
kind: pipeline
|
||||
type: docker
|
||||
name: default
|
||||
|
||||
steps:
|
||||
@ -8,7 +9,7 @@ steps:
|
||||
settings:
|
||||
daemon_off: false
|
||||
dry_run: true
|
||||
repo: registry.libreschool.org/libreschool-automation/libreschool-iso-builder
|
||||
repo: git.libreschool.org/libreschool-automation/libreschool-iso-builder
|
||||
tags:
|
||||
- latest
|
||||
when:
|
||||
@ -21,14 +22,15 @@ steps:
|
||||
pull: always
|
||||
settings:
|
||||
daemon_off: false
|
||||
password:
|
||||
from_secret: docker_password
|
||||
registry: registry.libreschool.org
|
||||
repo: registry.libreschool.org/libreschool-automation/libreschool-iso-builder
|
||||
tags:
|
||||
- latest
|
||||
force_tag: true
|
||||
registry: git.libreschool.org
|
||||
username:
|
||||
from_secret: docker_username
|
||||
password:
|
||||
from_secret: docker_password
|
||||
repo: git.libreschool.org/libreschool-automation/libreschool-iso-builder
|
||||
tags:
|
||||
- latest
|
||||
when:
|
||||
event:
|
||||
- tag
|
||||
|
10
Dockerfile
10
Dockerfile
@ -1,7 +1,11 @@
|
||||
FROM debian:stable
|
||||
FROM centos:7
|
||||
|
||||
RUN apt-get update && \
|
||||
apt-get install -y curl wget p7zip-full createrepo genisoimage syslinux-utils isomd5sum cpio
|
||||
RUN yum install -y epel-release && \
|
||||
yum localinstall -y http://mirror.nethserver.org/nethserver/7/base/x86_64/Packages/nethserver-release-7-19.ns7.noarch.rpm && \
|
||||
yum localinstall -y https://repo.libreschool.org/nethserver/7/base/x86_64/Packages/libreschool-release-1.0-1.noarch.rpm && \
|
||||
sed -i 's/^gpgcheck.*/gpgcheck=0/' /etc/yum.repos.d/LibreSchool.repo && \
|
||||
sed -i 's/^repo_gpgcheck.*/repo_gpgcheck=0/' /etc/yum.repos.d/LibreSchool.repo && \
|
||||
yum install -y curl wget p7zip p7zip-plugins createrepo genisoimage syslinux isomd5sum cpio
|
||||
|
||||
ADD run.sh /usr/local/bin
|
||||
RUN chmod 755 /usr/local/bin/run.sh
|
||||
|
@ -2,12 +2,11 @@
|
||||
|
||||
[](https://drone.libreschool.org/libreschool-automation/libreschool-iso-builder)
|
||||
|
||||
Debian docker image with some packages preinstalled and a script to correctly
|
||||
Centos 7 docker image with some packages preinstalled and a script to correctly
|
||||
package the LibreSchool ISO
|
||||
|
||||
|
||||
## Build
|
||||
|
||||
```
|
||||
```bash
|
||||
docker build . -t libreschool-automation/libreschool-iso-builder:latest
|
||||
```
|
||||
|
33
run.sh
33
run.sh
@ -2,7 +2,7 @@
|
||||
|
||||
set -e
|
||||
|
||||
PLUGIN_SOURCE_ISO_URL=${PLUGIN_SOURCE_ISO_URL:-"http://downloads.sourceforge.net/project/nethserver/nethserver-7.6.1810-x86_64.iso"}
|
||||
PLUGIN_SOURCE_ISO_URL=${PLUGIN_SOURCE_ISO_URL:-"http://downloads.sourceforge.net/project/nethserver/nethserver-7.7.1908-x86_64.iso"}
|
||||
PLUGIN_OUTPUT_ISO=${PLUGIN_OUTPUT_ISO:-"output.iso"}
|
||||
|
||||
echo "+ PWD: $PWD"
|
||||
@ -13,6 +13,11 @@ if [ ! -r /source.iso ] ; then
|
||||
wget -qO/source.iso "$PLUGIN_SOURCE_ISO_URL" || exit 1
|
||||
fi
|
||||
|
||||
if [ ! -r /drone/src/packages.list ] ; then
|
||||
echo "! missing packages.list"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir /src
|
||||
echo "+ Extracting source ISO"
|
||||
7z x -o/src -bd /source.iso || exit 1
|
||||
@ -21,22 +26,28 @@ echo "+ Removing all TRANS.TBL files"
|
||||
find /src -name TRANS.TBL -delete
|
||||
|
||||
echo "+ Adding custom files from 'root'"
|
||||
cp -vr /drone/src/root/* /src/
|
||||
cp -vfr /drone/src/root/* /src/
|
||||
|
||||
echo "+ Adding GPG signing key"
|
||||
curl -s "http://repo.libreschool.org/nethserver/RPM-GPG-KEY-LibreSchool" > /src/RPM-GPG-KEY-LibreSchool
|
||||
rpm --import /src/RPM-GPG-KEY-LibreSchool
|
||||
|
||||
echo "+ Adding custom packages"
|
||||
if [ ! -r /drone/src/packages.list ] ; then
|
||||
echo "! missing packages.list"
|
||||
exit 1
|
||||
fi
|
||||
mkdir -p /src/libreschool
|
||||
# TODO: find a way to remove packages already on ISO
|
||||
mkdir -p /src/libreschool /drone/src/package_cache
|
||||
cat /drone/src/packages.list | xargs yum install --downloaddir=/drone/src/package_cache --downloadonly && \
|
||||
cat /drone/src/packages.list | xargs yumdownloader --destdir=/drone/src/package_cache --downloadonly --archlist=x86_64 \
|
||||
|| ( echo "! cannot download all packages." ; exit 1 )
|
||||
cp /drone/src/package_cache/*.rpm /src/libreschool
|
||||
cd /src/libreschool
|
||||
wget -qi /drone/src/packages.list
|
||||
|
||||
echo "+ Updating libreschool local repo"
|
||||
createrepo -dp .
|
||||
if [ -r comps.xml ] ; then
|
||||
echo "+ Updating libreschool local repo (with groups)"
|
||||
createrepo -g comps.xml -dp .
|
||||
else
|
||||
echo "+ Updating libreschool local repo"
|
||||
createrepo -dp .
|
||||
fi
|
||||
|
||||
if [ -d /drone/src/anaconda ] ; then
|
||||
echo "+ Generating anaconda customization package"
|
||||
@ -55,4 +66,4 @@ implantisomd5 /output.iso
|
||||
echo "+ Renaming file"
|
||||
mv /output.iso "/drone/src/$PLUGIN_OUTPUT_ISO"
|
||||
|
||||
echo "+ Done"
|
||||
echo "+ Done"
|
||||
|
Loading…
x
Reference in New Issue
Block a user