diff --git a/.forgejo/workflows/ci.yml b/.forgejo/workflows/ci.yml index 6497d16..179eb72 100644 --- a/.forgejo/workflows/ci.yml +++ b/.forgejo/workflows/ci.yml @@ -103,6 +103,18 @@ jobs: # Update changelog for trixie echo 'Updating changelog for trixie...' dch --local '+trixie' --distribution trixie 'Backport from sid to trixie' + + # Install build dependencies + echo 'Installing build dependencies...' + mk-build-deps -i -t 'apt-get -y' debian/control || echo 'Build deps installation failed, continuing...' + + # Check source package structure + echo 'Checking source package structure...' + ls -la + echo 'Debian directory contents:' + ls -la debian/ + echo 'Control file:' + cat debian/control # Build packages echo 'Building ostree packages...' @@ -111,11 +123,18 @@ jobs: ls -la echo 'Running dpkg-buildpackage...' + echo 'Build dependencies check:' + dpkg -l | grep -E "(libglib2.0-dev|libfuse3-dev|libsoup2.4-dev|libarchive-dev|libcurl4-openssl-dev|libsystemd-dev)" || echo "Some dependencies missing" + if dpkg-buildpackage -us -uc -b; then echo 'Build successful!' else echo 'Build failed! Checking for any partial packages...' ls -la /tmp/*.deb 2>/dev/null || echo 'No .deb files found after failed build' + echo 'Checking build logs...' + ls -la /tmp/ostree-*/ 2>/dev/null || echo 'No build directory found' + echo 'Checking for build errors...' + find /tmp -name "*.log" -exec echo "=== {} ===" \; -exec cat {} \; 2>/dev/null || echo 'No log files found' exit 1 fi @@ -123,12 +142,25 @@ jobs: ls -la /tmp/*.deb 2>/dev/null || echo 'No .deb files found in /tmp' ls -la /tmp/*.dsc 2>/dev/null || echo 'No .dsc files found in /tmp' ls -la /tmp/*.tar.xz 2>/dev/null || echo 'No .tar.xz files found in /tmp' + + # Check if we're in the right directory for the build + echo 'Current working directory:' + pwd + echo 'Files in current directory:' + ls -la + echo 'Looking for .deb files in current directory:' + ls -la *.deb 2>/dev/null || echo 'No .deb files in current directory' # Copy built packages to workspace echo 'Copying built packages to workspace...' cp /tmp/*.deb /workspace/ 2>/dev/null || true cp /tmp/*.dsc /workspace/ 2>/dev/null || true cp /tmp/*.tar.xz /workspace/ 2>/dev/null || true + + # Also copy from current directory (where dpkg-buildpackage might have put them) + cp *.deb /workspace/ 2>/dev/null || true + cp *.dsc /workspace/ 2>/dev/null || true + cp *.tar.xz /workspace/ 2>/dev/null || true echo 'Built packages in /workspace:' ls -la /workspace/*.deb 2>/dev/null || echo 'No .deb files found in /workspace' diff --git a/Dockerfile b/Dockerfile index cc54e88..74a6b7a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,16 +5,48 @@ ENV DEBIAN_FRONTEND=noninteractive ENV LANG=C.UTF-8 ENV LC_ALL=C.UTF-8 -# Install basic build tools +# Install build dependencies for OSTree RUN apt update && \ apt install -y \ build-essential \ devscripts \ debhelper \ + dh-autoreconf \ pkg-config \ git \ curl \ wget \ + cmake \ + ninja-build \ + meson \ + autotools-dev \ + autoconf \ + automake \ + libtool \ + libglib2.0-dev \ + libgpgme-dev \ + libfuse3-dev \ + libsoup2.4-dev \ + libarchive-dev \ + libcurl4-openssl-dev \ + libsystemd-dev \ + libcap-dev \ + liblzma-dev \ + libzstd-dev \ + libbz2-dev \ + liblz4-dev \ + libz-dev \ + libssl-dev \ + libxml2-dev \ + libyaml-dev \ + libjson-c-dev \ + libavahi-client-dev \ + libavahi-common-dev \ + libavahi-glib-dev \ + libavahi-gobject-dev \ + libavahi-ui-gtk3-dev \ + libavahi-ui-gtk3-0 \ + libavahi-ui-gtk3-0-dev \ && \ apt clean && \ rm -rf /var/lib/apt/lists/*