8 Commits

Author SHA1 Message Date
Andreas Müller
5346b3baa8 Remove fixmac
MAC setup magic should not be installed by default in all our images

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-06-04 11:51:54 +02:00
Andreas Müller
903d753fc0 Ban weston-init from our images
Maybe I missed something:

* Although disabled by default it is started automatically
* A passwordless root account reached by two keys - NOT ACCECTABLE!!!
* Weston ships sessions that are the preferred way to start weston as
  unpriviledged user

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-06-04 11:51:54 +02:00
Andreas Müller
5e4b883bc2 Let all our images log volatile (not only xfce4-music-image)
should have done this much earlier:

* Don't ruin sd-cards on machines running 24/7
* On Raspi4 it buys us boot time reduced by ~2s
* Was never happy about the misleading entries in journal from boots long ago

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-05-10 13:22:54 +02:00
Andreas Müller
7e3a5954e5 network-manager-applet/-openvpn: Add missing bits to import vpn-config
This is more or less a backport of what will be send to master soon. Since
there is no hope to get backports added to stable branches, adjust recipes
here.

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-03-18 18:15:28 +01:00
Andreas Müller
eca422e4a7 console-net-image: add networkmanager-openvpn
In times of home-office users might want to tunnel to copmpany's network

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2020-03-18 18:12:04 +01:00
Andreas Müller
babc8fbe27 scripts: prepare scipts to write bbone images based upon wic
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-09-19 12:42:53 +02:00
Andreas Müller
eb55623c66 instant-sysroot-target.bbclass: Minor corrections on remote debug instructions
Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-09-10 22:06:16 +02:00
Andreas Müller
c921e73d35 Ensure rng-tools does not find it's way into images
It blocks shutdown for ages. [1] helps to see

[  232.089805] systemd-shutdown[1]: Sending SIGTERM to remaining processes...
[  232.128654] systemd-journald[188]: Received SIGTERM from PID 1 (systemd-shutdow).
[  322.127531] systemd-shutdown[1]: Sending SIGKILL to remaining processes...
[  322.166520] systemd-shutdown[1]: Sending SIGKILL to PID 178 (rngd).

[1] https://freedesktop.org/wiki/Software/systemd/Debugging/#index2h1

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2019-07-10 09:53:34 +02:00
41 changed files with 128 additions and 186 deletions

View File

@@ -70,7 +70,7 @@ It has its origin Ångström distribution - check https://github.com/Angstrom-d
* All images for console / kde / lxqt / xfce ar found. allgui-images build
images for all graphical environments.
[recipes-utils](recipes-utils):
[recipes-utlis](recipes-utlis):
* udev-rules-udisks-hide-bootpart: Hide boot partition from udisks
* Some tools (these are the only left from angstrom). Honestly: Have never
used them but kept them if users come from angstrom and might miss

View File

@@ -0,0 +1,3 @@
EXTRA_OECONF_append = " \
--with-libnm-gtk \
"

View File

@@ -1,6 +1,6 @@
PACKAGECONFIG ?= " \
jack \
portaudio \
readline \
sndfile \
jack \
pulseaudio \
portaudio \
"

View File

@@ -1 +1,12 @@
PACKAGECONFIG_append = " gnome"
DEPENDS_append = " gtk+3 networkmanager network-manager-applet"
do_configure_append() {
# network-manager-openvpn.metainfo.xml is created in source folder but
# compile expects it in build folder. As long as nobody comes up with a
# better solution just support build:
if [ -e ${S}/appdata/network-manager-openvpn.metainfo.xml ]; then
mkdir -p ${B}/appdata
cp -f ${S}/appdata/network-manager-openvpn.metainfo.xml ${B}/appdata/
fi
}

View File

@@ -1 +0,0 @@
PACKAGECONFIG_append = " shared"

View File

@@ -0,0 +1 @@
RRECOMMENDS_${PN} += "udev-rules-udisks-hide-bootpart"

View File

@@ -1 +1 @@
PACKAGECONFIG_append = " startup-notification gladeui2"
PACKAGECONFIG_append = " startup-notification gladeui"

View File

@@ -1,3 +0,0 @@
RRECOMMENDS_${PN} += " \
imsettings \
"

View File

@@ -1 +1 @@
PACKAGECONFIG_append = " sound-setter notify"
PACKAGECONFIG_append = " datetime-setter sound-setter notify"

View File

@@ -0,0 +1 @@
PACKAGECONFIG_append = " gnome"

View File

@@ -0,0 +1,2 @@
RRECOMMENDS_${PN}-sshd_remove_class-target = "rng-tools"

View File

@@ -173,7 +173,7 @@ do_copy_to_target_sysroot() {
fi
}
addtask copy_to_target_sysroot after do_package_write_deb do_package_write_ipk do_package_write_rpm before do_build
addtask copy_to_target_sysroot after do_package before do_build
# same as do package
do_copy_to_target_sysroot[vardeps] = "${PACKAGEBUILDPKGD} ${PACKAGESPLITFUNCS} ${PACKAGEFUNCS} ${@gen_packagevar(d)}"

View File

@@ -4,7 +4,7 @@ def armv7_tune_handler(d):
# to common tune value
if d.getVar('MORTSGNA_ARMV7_TUNE') == '1':
features = d.getVar('TUNE_FEATURES').split()
if 'armv7a' in features or 'armv7ve' or 'armv7ve' or 'cortexa7' or 'cortexa8' or 'cortexa9' in features:
if 'armv7a' in features or 'armv7ve' in features:
tune = 'armv7athf'
if 'bigendian' in features:
tune += 'b'
@@ -12,5 +12,6 @@ def armv7_tune_handler(d):
tune += '-neon'
else:
tune = d.getVar('DEFAULTTUNE')
return tune

View File

@@ -34,10 +34,10 @@ VIRTUAL-RUNTIME_init_manager = "systemd"
# USE-flag like features
DISTRO_FEATURES += "tk"
DISTRO_FEATURES += "x11"
DISTRO_FEATURES += "3g"
DISTRO_FEATURES += "pulseaudio"
DISTRO_FEATURES += "ldconfig"
DISTRO_FEATURES += "polkit"
DISTRO_FEATURES += "helpfiles"
# OpenGL support
DISTRO_FEATURES += "opengl"
@@ -56,6 +56,3 @@ DISTRO_FEATURES += "${DISTRO_WAYLAND}"
# Inherit the default LIBC features superset from OE-core
DISTRO_FEATURES += "${DISTRO_FEATURES_LIBC}"
# Uncomment for tests on gold-trouble only
#DISTRO_FEATURES += 'ld-is-gold'

View File

@@ -4,8 +4,6 @@
# libc settings
DISTRO_FEATURES += "${@['', ' nls'][d.getVar('ENABLE_BINARY_LOCALE_GENERATION') == '1']}"
DISTRO_FEATURES_remove = "ldconfig"
USE_NLS_glib-2.0 = "yes"
USE_NLS_glib-2.0-native = "yes"
USE_NLS_gcc-cross = "no"

View File

@@ -22,13 +22,3 @@ XSERVER ?= " \
xf86-video-modesetting \
"
# Follow meta-java README:
# Possible provider: cacao-initial-native and jamvm-initial-native
PREFERRED_PROVIDER_virtual/java-initial-native = "cacao-initial-native"
# Possible provider: cacao-native and jamvm-native
PREFERRED_PROVIDER_virtual/java-native = "jamvm-native"
# Optional since there is only one provider for now
PREFERRED_PROVIDER_virtual/javac-native = "ecj-bootstrap-native"

View File

@@ -10,7 +10,7 @@
###############################################################################
# follow Yocto version scheme
DISTRO_VERSION = "v3.1"
DISTRO_VERSION = "v2.7"
# With Angstrom we had DISTRO_TYPE = "debug"/"release". No recipe except
# good old lxdm takes care (yes it was me). OE-Core way is setting
@@ -114,8 +114,10 @@ ENABLE_BINARY_LOCALE_GENERATION_ep9312 = "0"
ENABLE_BINARY_LOCALE_GENERATION_armeb = "0"
# blacklist policy
PNBLACKLIST[pn-fso-apm] = "regular apmd is good enough"
PNBLACKLIST[pn-fso-apm] = "regular apmd is good enough"
# warrior specific - on master there might come times they do the right thing...
PNBLACKLIST[rng-tools] = "blocks shutdown and no issues found for openssl"
###############################################################################
# Quality & security hardening
@@ -131,15 +133,11 @@ require conf/distro/include/no-static-libs.inc
# 1. They make sense
# 2. Many poky users out there might complain about my other layers or patches
# sent
# wait with 'mime' & 'mime-xdg' (meta-browser tests with old branches)
WARN_TO_ERROR_QA = " \
already-stripped compile-host-path install-host-path \
xorg-driver-abi textrel incompatible-license files-invalid infodir \
build-deps symlink-to-sysroot multilib \
installed-vs-shipped ldflags pn-overrides rpaths staticdev libdir \
uppercase-pn \
installed-vs-shipped ldflags pn-overrides rpaths staticdev \
unknown-configure-option useless-rpaths host-user-contaminated \
invalid-packageconfig patch-fuzz src-uri-bad \
invalid-packageconfig patch-fuzz \
"
WARN_QA_remove = "${WARN_TO_ERROR_QA}"
ERROR_QA_append = " ${WARN_TO_ERROR_QA}"

View File

@@ -8,7 +8,7 @@ BBFILE_COLLECTIONS += "mortsgna-layer"
BBFILE_PATTERN_mortsgna-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_mortsgna-layer = "7"
LAYERSERIES_COMPAT_mortsgna-layer = "zeus dunfell"
LAYERSERIES_COMPAT_mortsgna-layer = "sumo thud warrior"
# This is a compromise: Because of dynamic appends it needs oe-core only. Our
# images have a huge dependency list (see README). So the layers set here are
@@ -20,10 +20,10 @@ BBFILES_DYNAMIC += " \
\
gnome-layer:${LAYERDIR}/appends/meta-gnome/*.bbappend \
\
networking-layer:${LAYERDIR}/appends/meta-networking/*.bbappend \
\
multimedia-layer:${LAYERDIR}/appends/meta-multimedia/*.bbappend \
\
networking-layer:${LAYERDIR}/appends/meta-networking/*.bbappend \
\
openembedded-layer:${LAYERDIR}/appends/meta-oe/*.bbappend \
\
qt5-layer:${LAYERDIR}/appends/meta-qt5/*.bbappend \

View File

@@ -1,22 +0,0 @@
[General]
Show_Title=false
Show_Labels=false
str_fontsize=small
val_fontsize=1
Font=Sans 11
Show_Units=true
Small_Spacings=false
Command_Name=xfce4-sensors
[Chip0]
Name=ACPI
Number=0
[Chip0_Feature0]
Address=0
Name=thermal_zone0
Color=#008000
Show=true
Min=0.00
Max=70.00

View File

@@ -1,10 +1,8 @@
[Configuration]
ColorForeground=#ffffffffffff
ColorBackground=#000000000000
ColorCursor=#a0a0a0a0a0a0
FontName=Monospace 10
FontName=Monospace 9
MiscAlwaysShowTabs=FALSE
MiscBell=FALSE
MiscBellUrgent=FALSE
MiscBordersDefault=TRUE
MiscCursorBlinks=FALSE
MiscCursorShape=TERMINAL_CURSOR_SHAPE_BLOCK
@@ -12,6 +10,7 @@ MiscDefaultGeometry=80x24
MiscInheritGeometry=FALSE
MiscMenubarDefault=FALSE
MiscMouseAutohide=FALSE
MiscMouseWheelZoom=TRUE
MiscToolbarDefault=TRUE
MiscConfirmClose=TRUE
MiscCycleTabs=TRUE
@@ -19,5 +18,12 @@ MiscTabCloseButtons=TRUE
MiscTabCloseMiddleClick=TRUE
MiscTabPosition=GTK_POS_TOP
MiscHighlightUrls=TRUE
ScrollingLines=1000000
MiscMiddleClickOpensUri=FALSE
MiscCopyOnSelect=FALSE
MiscDefaultWorkingDir=
MiscRewrapOnResize=TRUE
MiscUseShiftArrowsToScroll=FALSE
MiscSlimTabs=FALSE
ColorForeground=#000000000000
ColorBackground=#fae0f4f1a311

View File

@@ -21,7 +21,6 @@
<value type="int" value="2"/>
<value type="int" value="4"/>
<value type="int" value="11"/>
<value type="int" value="7"/>
<value type="int" value="12"/>
<value type="int" value="1"/>
</property>
@@ -86,6 +85,5 @@
<property name="plugin-1" type="string" value="cpugraph"/>
<property name="plugin-11" type="string" value="cpufreq"/>
<property name="plugin-12" type="string" value="systemload"/>
<property name="plugin-7" type="string" value="xfce4-sensors-plugin"/>
</property>
</channel>

View File

@@ -3,6 +3,6 @@
<channel name="xfce4-settings-manager" version="1.0">
<property name="last" type="empty">
<property name="window-width" type="int" value="858"/>
<property name="window-height" type="int" value="675"/>
<property name="window-height" type="int" value="661"/>
</property>
</channel>

View File

@@ -0,0 +1,37 @@
[Default Applications]
application/x-bzip-compressed-tar=xarchiver.desktop
application/x-compressed-tar=xarchiver.desktop
text/plain=gedit.desktop
application/x-lrzip=xarchiver.desktop
application/x-bzip=xarchiver.desktop
application/gzip=xarchiver.desktop
application/x-lzip=xarchiver.desktop
application/zip=xarchiver.desktop
application/x-lzma-compressed-tar=xarchiver.desktop
application/x-tar=xarchiver.desktop
application/x-tarz=xarchiver.desktop
application/x-ustar=xarchiver.desktop
application/x-xz-compressed-tar=xarchiver.desktop
image/png=ristretto.desktop
image/jpeg=ristretto.desktop
application/x-deb=xarchiver.desktop
application/pdf=evince.desktop
[Added Associations]
application/x-bzip-compressed-tar=xarchiver.desktop;
application/x-compressed-tar=xarchiver.desktop;
text/plain=gedit.desktop;
application/x-lrzip=xarchiver.desktop;
application/x-bzip=xarchiver.desktop;
application/gzip=xarchiver.desktop;
application/x-lzip=xarchiver.desktop;
application/zip=xarchiver.desktop;
application/x-lzma-compressed-tar=xarchiver.desktop;
application/x-tar=xarchiver.desktop;
application/x-tarz=xarchiver.desktop;
application/x-ustar=xarchiver.desktop;
application/x-xz-compressed-tar=xarchiver.desktop;
image/png=ristretto.desktop;
image/jpeg=ristretto.desktop;
application/x-deb=xarchiver.desktop;
application/pdf=evince.desktop;

View File

@@ -17,8 +17,6 @@ IMAGE_INSTALL += " \
network-manager-applet \
xfce4-default-config \
\
packagegroup-gnome-desktop \
\
packagegroup-lxqt-base \
lxqt-default-config \
\

View File

@@ -13,15 +13,6 @@ IMAGE_INSTALL += " \
\
orage \
xfce4-orageclock-plugin \
\
pkgconfig binutils-symlinks elfutils gnu-config \
cmake meson \
gdbserver \
git git-bash-completion \
qt5-creator \
qwt-qt5 \
\
nodejs nodejs-npm nodejs-systemtap \
"
IMAGE_LINGUAS_libc-glibc = "${IMAGE_LINGUAS_FULL}"

View File

@@ -13,7 +13,5 @@ IMAGE_INSTALL += " \
\
packagegroup-kde-apps-tiny \
\
packagegroup-gnome-apps \
\
weston-examples \
"

View File

@@ -1,19 +0,0 @@
require recipes-image/console/console-net-image.bb
require recipes-image/include/x11-base.inc
export IMAGE_BASENAME = "gnome-base-image"
GNOME_DM ?= "gdm"
IMAGE_INSTALL += " \
${X11_BASE_INSTALL} \
${GNOME_DM} \
\
packagegroup-gnome-desktop \
packagegroup-gui-base \
\
network-manager-applet \
"
# reenable graphical target
IMAGE_FEATURES += "x11-base"

View File

@@ -1,10 +0,0 @@
require gnome-base-image.bb
export IMAGE_BASENAME = "gnome-tiny-image"
IMAGE_INSTALL += " \
packagegroup-gnome-apps \
\
packagegroup-gui-tiny \
"

View File

@@ -4,7 +4,7 @@ X11_BASE_INSTALL += " \
${DISTRO_GUI_USER} \
packagegroup-core-x11-xserver \
\
dbus \
dbus-x11 \
iso-codes \
mime-support \
xauth \

View File

@@ -8,7 +8,7 @@ RDEPENDS_${PN} = " \
qt5-creator \
qtquickcontrols2-examples qtwayland-examples \
hexedit \
glade \
glade3 glade \
umbrello \
lokalize \
geany-plugins \
@@ -17,7 +17,7 @@ RDEPENDS_${PN} = " \
weston weston-xwayland \
\
unzip xz tar bzip2 \
make cmake meson \
make cmake \
automake autoconf libtool m4 \
gcc-symlinks g++-symlinks cpp-symlinks \
dtc \
@@ -32,14 +32,12 @@ RDEPENDS_${PN} = " \
man man-pages \
gawk \
chrpath \
nodejs nodejs-npm nodejs-systemtap \
\
wireshark \
nfs-utils-client \
lmsensors-sensord lmsensors-sensorsdetect \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'browser-layer', 'chromium-x11', '', d)} \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-microcontroller', 'packagegroup-avr', '', d)} \
"
RDEPENDS_${PN}_append_libc-glibc = " \

View File

@@ -17,36 +17,43 @@ RDEPENDS_${PN} = " \
tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libreoffice', '', d)} \
abiword-meta \
gimp \
fontforge \
menulibre \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'browser-layer', 'chromium-x11', '', d)} \
\
gparted \
\
mpd \
vlc \
parole gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-omx gstreamer1.0-libav \
dragon \
gstreamer1.0-plugins-base-meta gstreamer1.0-plugins-good-meta \
pulseaudio-misc \
${MACHINE_SPECIFICS_FULL} \
\
ark \
filelight \
konsole \
spectacle \
\
kde-apps-world \
\
gottcode-world \
\
qwt-qt5-examples \
gnuplot gnuplot-x11 \
qskinny \
\
${MACHINE_SPECIFICS_FULL} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'browser-layer', 'chromium-x11', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-retro', 'mame dosbox cass80 z80 vice stella opentyrian d1x-rebirth', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'office-layer', 'libreoffice abiword-meta', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-retro', 'mame dosbox z80 vice stella opentyrian d1x-rebirth', '', d)} \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'games-layer', 'pingus supertux2 freeciv wesnoth-all astromenace chromium-bsu maelstrom', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-musicians', 'packagegroup-gui-musicians', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'sdr-layer', 'packagegroup-sdr-python-extended packagegroup-sdr-gnuradio-base packagegroup-sdr-gnuradio-extended packagegroup-sdr-rtlsdr packagegroup-sdr-uhd', '', d)} \
\
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-qt5-extra', 'gottcode-world kde-apps-world qmlarkdown', '', d)} \
"
# firefox

View File

@@ -5,12 +5,14 @@ LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda
inherit packagegroup
RDEPENDS_${PN} = " \
tzdata \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-initramfs', 'plymouth plymouth-set-default-theme plymouth-initrd', '', d)} \
xdg-user-dirs \
\
evince \
geany \
\
ntp ntp-utils \
tzdata \
dnsmasq \
devilspie2 \
@@ -18,5 +20,5 @@ RDEPENDS_${PN} = " \
gnome-system-monitor \
dconf-editor \
\
glmark2 mesa-demos \
glmark2 mesa-demos eglinfo-x11 \
"

View File

@@ -8,6 +8,5 @@ IMAGE_INSTALL += " \
rodent-icon-theme \
\
packagegroup-gui-tiny \
${@bb.utils.contains('BBFILE_COLLECTIONS', 'meta-musicians', 'xfce4-mixer', '', d)} \
"

View File

@@ -1,60 +1,42 @@
#!/bin/sh
# raspberrypi-card-write.sh
# (c) Copyright 2020 Andreas Müller <schnitzeltony@gmail.com>
# (c) Copyright 2018 Andreas Müller <schnitzeltony@gmail.com>
# Licensed under terms of GPLv2
#
# This script updates checksums in recipes after version bump. It is supposed
# to run run in same environment as bitbake:
#
# update-recipe-checksums.sh [-d <recipedir> <recipes>
# update-recipe-checksums.sh <recipe>
#
# where <recipe> can be a single recipe, a packagegroup an image or...
# Includes
. `dirname $0`/include/common-helpers.inc
echo
if [ "$1" = "-d" ]; then
shift
_TOPDIR="$1"
echo -e "${style_bold}Use $1 as recipe directory...${style_normal}"
shift
fi
if [ -z "$1" ]; then
ErrorOut "No fetch target set in first parameter!"
fi
if [ "x$_TOPDIR" = "x" ]; then
echo -e "${style_bold}Ask bitbake for recipe directory...${style_normal}"
GetBitbakeEnvVar "TOPDIR"
_TOPDIR="$BitbakeEnvVar"
fi
# Ask bitbake for recipe directory
GetBitbakeEnvVar "TOPDIR"
_TOPDIR="$BitbakeEnvVar"
echo
echo -e "${style_bold}Run bitbake -k --runall=fetch $@...${style_normal}"
while true; do
replaced=""
bitbake -k --runall=fetch "$@" 2>&1 | while read line; do
if echo "$line" | grep -q "was expected"; then
# Shorten line to ensure not being confused by filenames containing spaces
line=`echo "$line" | sed 's:.*checksum ::'`
# Extract checksums
newchecksum=`echo "$line" | awk '{print $1}'`
oldchecksum=`echo "$line" | awk '{print $3}'`
# Lazy way: just grep for old checksums to find recipes
for recipe in `grep -rl "$oldchecksum" "${_TOPDIR}"`; do
if [ -f "$recipe" ]; then
replaced="1"
EvalExAuto "sed -i '"s:$oldchecksum:$newchecksum:"' "$recipe"" "Change checksum in $recipe to $newchecksum"
fi
done
fi
done
if [ $replaced != "1" ]
break
fi
bitbake -k --runall=fetch "$@" 2>&1 | while read line; do
if echo "$line" | grep -q "was expected"; then
# Shorten line to ensure not being confused by filenames containing spaces
line=`echo "$line" | sed 's:.*checksum ::'`
# Extract checksums
newchecksum=`echo "$line" | awk '{print $1}'`
oldchecksum=`echo "$line" | awk '{print $3}'`
# Lazy way: just grep for old checksums to find recipes
for recipe in `grep -rl "$oldchecksum" "${_TOPDIR}"`; do
if [ -f "$recipe" ]; then
EvalExAuto "sed -i '"s:$oldchecksum:$newchecksum:"' "$recipe"" "Change checksum in $recipe to $newchecksum"
fi
done
fi
done