--- /dev/null
+name: Code Testing
+
+on:
+ push:
+ pull_request:
+ schedule:
+ - cron: '42 1 * * *'
+
+jobs:
+ codecheck:
+ runs-on: ubuntu-latest
+ name: Run codecheck
+
+ steps:
+ - name: Checkout source
+ uses: actions/checkout@v2
+
+ - name: pip install wheel (to make install black work)
+ run: pip3 install wheel
+
+ - name: pip install flake8, isort + black, vulture
+ run: pip3 install flake8 isort black vulture
+
+ - name: Codecheck execution
+ run: make codecheck
+
+ unittests:
+ runs-on: ubuntu-latest
+ name: Run unit tests
+
+ steps:
+ - name: Checkout source
+ uses: actions/checkout@v2
+
+ - name: Install pytest
+ run: pip3 install pytest
+
+ - name: Run Pytest
+ run: pytest
flake8 grml2usb
isort --check-only grml2usb
black --check grml2usb
+ vulture grml2usb test/grml2usb_test.py
+
+test:
+ pytest
# graph:
# sudo pycallgraph grml2usb /grml/isos/grml-small_2008.11.iso /dev/sdb1
+grml2usb (0.19.2) unstable; urgency=medium
+
+ * [2955aaf] codecheck: reformat with black, version 23.1.0
+ (Closes: #1031466)
+
+ -- Michael Prokop <mika@grml.org> Mon, 20 Feb 2023 11:33:34 +0100
+
+grml2usb (0.19.1) unstable; urgency=medium
+
+ * [27eba4a] Replace egrep usage with grep -E
+ * [ec28a50] Bump Standards-Version to 4.6.2
+
+ -- Michael Prokop <mika@grml.org> Wed, 08 Feb 2023 08:27:50 +0100
+
+grml2usb (0.19.0) unstable; urgency=medium
+
+ [ Manuel Rom ]
+ * [40221eb] Add Github action workflows for CI/CD
+
+ [ Michael Prokop ]
+ * [3f77679] Fix vulture usage and add vulture to Build-Depends
+ * [a6cce22] Github action: do not install virtualenv +
+ python3-setuptools. Thanks to Chris Hofstaedtler
+ * [78ae858] grml2iso: support parallel execution
+ * [8126bbf] grml2iso: execute under pipefail
+
+ -- Michael Prokop <mika@grml.org> Mon, 21 Mar 2022 16:19:54 +0100
+
+grml2usb (0.18.5) unstable; urgency=medium
+
+ * [01ed11d] Fix --grub and --syslinux handling. Thanks to Ralf Moll for
+ the bugreport
+
+ -- Michael Prokop <mika@grml.org> Fri, 22 Jan 2021 10:32:43 +0100
+
grml2usb (0.18.4) unstable; urgency=medium
[ Michael Prokop ]
docbook-xsl,
flake8,
isort,
+ vulture,
xsltproc,
-Standards-Version: 4.5.1
+Standards-Version: 4.6.2
Homepage: https://grml.org/grml2usb/
Vcs-git: git://git.grml.org/grml2usb.git
Vcs-Browser: https://git.grml.org/?p=grml2usb.git
override_dh_auto_build:
dh_testdir
- egrep -q '^PROG_VERSION = "\*\*\*UNKNOWN\*\*\*"' grml2usb || (echo "PROG_VERSION in grml2usb wrong." && exit 2)
+ grep -qE '^PROG_VERSION = "\*\*\*UNKNOWN\*\*\*"' grml2usb || (echo "PROG_VERSION in grml2usb wrong." && exit 2)
$(MAKE) -C mbr
$(MAKE)
# License: This file is licensed under the GPL v2 or any later version.
################################################################################
+set -e -o pipefail
+
# make sure we have the sbin directories in our PATH to find grml2usb ootb
PATH="${PATH}:/sbin:/usr/local/sbin:/usr/sbin"
# adjust variables if necessary through environment {{{
# path to the grml2usb script you'd like to use
- [ -n "$GRML2USB" ] || GRML2USB='grml2usb'
-# work directory for creating the filesystem
- [ -n "$TMPDIR" ] && WRKDIR="${TMPDIR}/grml2iso.tmp"
- [ -n "$WRKDIR" ] || WRKDIR='/tmp/grml2iso.tmp'
+[ -n "$GRML2USB" ] || GRML2USB='grml2usb'
+
# support mkisofs as well as genisoimage
if which xorriso >/dev/null 2>&1 ; then
MKISOFS='xorriso -as mkisofs'
# }}}
# helper stuff {{{
- set -e
-
usage() {
echo >&2 "Usage: $0 [OPTIONS] -o target.iso source1.iso [source2.iso ...]"
echo >&2 "
restrictions in the bootprocess only IPs are allowed.
Supported protocols are: http and ftp
-t Directory Directory that should be used for temporary files
- during build. Defaults to /tmp/grml2iso.tmp if unset.
+ during build, instead of using a temporary directory
+ created by mktemp(1).
Examples:
- $0 -s http://192.168.23.42:8000/grml/ -o small.iso grml64-small_2018.12.iso
+ $0 -s http://192.168.23.42:8000/grml/ -o small.iso grml64-small_2021.07.iso
Will generate a file small.iso which tries to download the squashfs file from
http://192.168.23.42:8000/grml/ - the squashfs file is placed in the same
GRML2USB_OPTS+=(--bootoptions="fetch=$URI")
fi
- if [ -n "$WRKDIR" ] ; then
- GRML2USB_OPTS+=(--tmpdir="$WRKDIR")
- fi
-
# make sure -o is specified
[ -n "$ISOFILE" ] || usage 1
esac
# }}}
-# create necessary stuff under WRKDIR {{{
- [ -d "$WRKDIR" ] && WRKDIR_EXISTED='true' || WRKDIR_EXISTED='false'
+# ensure to properly set up working directory {{{
+ WRKDIR_EXISTED='false'
+ if [ -z "$WRKDIR" ] ; then
+ WRKDIR="$(mktemp -d)"
+ else
+ [ -d "$WRKDIR" ] && WRKDIR_EXISTED='true'
+ fi
+
+ GRML2USB_OPTS+=(--tmpdir="$WRKDIR")
+
rm -rf "$WRKDIR/cddir" "$WRKDIR/grub_tmp"
mkdir -p "$WRKDIR/cddir"
# }}}}
new_grml_cfg = "%s/%s_grml.cfg" % (syslinux_target, flavour_filename)
if os.path.isfile(defaults_file):
-
# remove default menu entry in menu
remove_default_entry(new_default_with_path)
| |-- grml64
| | |-- linux26 [Kernel]
| | |-- initrd.gz [initramfs]
- | |-- grml-medium
- | | |-- linux26 [...]
- | | |-- initrd.gz
- | |-- grml64-medium
- | | |-- linux26
- | | |-- initrd.gz
| |-- grml-small
| | |-- linux26
| | |-- initrd.gz
|-- grml/
| |-- filesystem.module [module specifying which squashfs should be used for grml]
| `-- grml.squashfs [squashfs file for grml]
- |-- grml-medium/
- | |-- filesystem.module [module specifying which squashfs should be used for grml-medium]
- | `-- grml-medium.squashfs [squashfs file for grml-medium]
|-- grml-small/
- | |-- filesystem.module [module specifying which squashfs should be used for grml-medium]
+ | |-- filesystem.module [module specifying which squashfs should be used for grml-small]
| `-- grml-small.squashfs [squashfs file for grml-small]
`-- ...