diff --git a/src/build_rpm_from_dir b/src/build_rpm_from_dir deleted file mode 100755 index 1d2499e008..0000000000 --- a/src/build_rpm_from_dir +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -set -euo pipefail - -srcdir=$1; shift -name=$1; shift -outdir=$1; shift - -sha256=$(cd "${srcdir}" && find . ! -type d -print0 | xargs -0 -r sha256sum \ - | sha256sum | cut -f 1 -d ' ') - -latest_rpm=$(find "$outdir/" -iname "$name-*.rpm" | sort -Vr | head -n 1) - -if rpm -qp "$latest_rpm" --qf '%{DESCRIPTION}' | grep -q "(sha256:$sha256)"; then - echo "Re-using ${latest_rpm} ($sha256)." - exit 0 -fi - -# shellcheck disable=SC2154 -cat > "$name.spec" << EOF -Name: $name -Version: $(date +%s) -Release: ${sha256::7} -BuildArch: noarch -Summary: $summary overlay -License: $license -# this shows up then in rpm -qi (XXX: don't hardcode this) -URL: https://github.com/coreos/fedora-coreos-config - -BuildRequires: rsync - -%description -%{summary} (sha256:$sha256) - -%build -# Nothing to build - -%install -rsync -av "${srcdir}/" %{buildroot} - -%files -$(cd "${srcdir}" && find . ! -type d | cut -c 2-) -EOF - -rm -rf rpms -rpmbuild -ba \ - --define "_sourcedir $PWD" \ - --define "_specdir $PWD" \ - --define "_builddir $PWD/.build" \ - --define "_srcrpmdir $PWD/rpms" \ - --define "_rpmdir $PWD/rpms" \ - --define "_buildrootdir $PWD/.buildroot" "$name.spec" - -# delete any older RPMs first -rm -f "$outdir/$name"-*.rpm -cp rpms/noarch/*.rpm "$outdir" diff --git a/src/cmdlib.sh b/src/cmdlib.sh index b9a843b28c..397cb2e61b 100755 --- a/src/cmdlib.sh +++ b/src/cmdlib.sh @@ -239,6 +239,11 @@ runcompose() { local overridesdir=${workdir}/overrides local tmp_overridesdir=${TMPDIR}/override local override_manifest="${tmp_overridesdir}"/coreos-assembler-override-manifest.yaml + + local git_timestamp="January 1 1970" + if [ -d "${configdir_gitrepo}/.git" ]; then + git_timestamp=$(git -C "${configdir_gitrepo}" show -s --format=%ci HEAD) + fi if [ -d "${overridesdir}" ] || [ -n "${ref_is_temp}" ] || [ -d "${configdir}/overlay" ]; then mkdir "${tmp_overridesdir}" cat > "${override_manifest}" <> "${override_manifest}" fi if [ -d "${configdir}/overlay" ]; then + echo -n "Committing ${configdir}/overlay... " + ostree commit --repo="${tmprepo}" --tree=dir="${configdir}/overlay" -b "${name}-config-overlay" \ + --owner-uid 0 --owner-gid 0 --no-xattrs --no-bindings --parent=none \ + --timestamp "${git_timestamp}" cat >> "${override_manifest}" < /dev/null) ]]; then (cd "${overridesdir}"/rpm && createrepo_c .) @@ -278,9 +284,10 @@ EOF fi rootfs_overlay="${overridesdir}/rootfs" if [ -d "${rootfs_overlay}" ]; then - echo "Committing ${rootfs_overlay}" - sudo ostree commit --repo="${workdir}/tmp/repo" --tree=dir="${rootfs_overlay}" -b cosa-bin-overlay \ - --owner-uid 0 --owner-gid 0 --no-xattrs --no-bindings --parent=none + echo -n "Committing ${rootfs_overlay}... " + ostree commit --repo="${tmprepo}" --tree=dir="${rootfs_overlay}" -b cosa-bin-overlay \ + --owner-uid 0 --owner-gid 0 --no-xattrs --no-bindings --parent=none \ + --timestamp "${git_timestamp}" cat >> "${override_manifest}" << EOF ostree-override-layers: - cosa-bin-overlay