From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4ZTjqc3P55z331k for ; Fri, 4 Apr 2025 15:55:24 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1) client-signature RSA-PSS (4096 bits)) (Client CN "mail01.haj.ipfire.org", Issuer "R10" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4ZTjqX6bHqz3316 for ; Fri, 4 Apr 2025 15:55:20 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4ZTjqX3QWNzm2 for ; Fri, 4 Apr 2025 15:55:20 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1743782120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDq/xcQYe4rlb4tcoEpfJFcBBssnkUJVQj17Ki/r77Y=; b=+prUK+DmmF+fnh6llKS6ZdsOnhGDZwKJ2ubzoROqJDCG97IuoitmZjBDTL45wk+Jbo84dy UMHWSsnd5ZFPoWCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1743782120; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DDq/xcQYe4rlb4tcoEpfJFcBBssnkUJVQj17Ki/r77Y=; b=izZIUMqHa5CTJhthVdQ3Ls0inQLOfLkdCdBGbS1tbRaHwHeWxzAS6SgXH652j/HQQBv7UI ozHK+D2g70Q5FEOyR1fjsI10mM+rEkUXiWXOb3C48gB6iQwRT74AUFHaBOdvxbSci+OKFL ouknul9779VXEaGvks4nn01eBdyQ3kXk2XBrEqqRMsj754cpCOXygA7hAqf5esTfMktzzQ iiaMmOUkFzTLCubp0xBuS1qp/tI2/rjFENY+HD43RurarWfybZlaPcFvH808wBJNkPwL8k J2neAz7fU9PS6oZdQfp/NjncAnGXbBQkM37zCNbnnrunB27QXUXSMzfWsEz5Cw== From: Michael Tremer Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Precedence: list List-Id: List-Subscribe: , List-Unsubscribe: , List-Post: List-Help: Sender: Mail-Followup-To: Mime-Version: 1.0 Subject: This Week in Pakfire: Source Packages Message-Id: <73BFEFB7-A74D-4A99-A0F1-5C137E1E586A@ipfire.org> Date: Fri, 4 Apr 2025 16:55:19 +0100 To: "IPFire: Development-List" Hello to this week=E2=80=99s update! Another new addition to Pakfire are source packages. In order to be able = to verify builds and reproduce them, we need to make sure that we have a = defined set of files that are needed to build some software. In IPFire 2 = we solved this by having a large directory and referencing files in = there. That works well when you always build the entire distribution in = one piece, but it is not very helpful you want to share a single package = with another developer for review or testing. Now, you can bundle everything together so that somebody else has = exactly the source that you have seen. Usually that is the source = tarball, build instructions and meta data as well optional patches. All = is bundled into a package which can be easily shared since it is only = one single file. You can create a source package using the dist command like so: # pakfire-builder dist /build/ipfire-3.x/beep/beep.nm beep-1.4.12-1.ipfire3.src = = 88k 0B/s 100% You can then run a build without any further ado: # pakfire-builder build beep-1.4.12-1.ipfire3.src.pfm Scanning local = = 00:00 406/406 Building beep-1.4.12-1.ipfire3.src... Name : beep Version : 1.4.12-1.ipfire3 Arch : src Size : 90k Download Size : 90k Repo : @commandline Summary : Beep the PC speaker any number of ways. =E2=80=A6 After that, you will have some binary packages built which you can = install either to your build environment or install on an IPFire system = for testing. We also use the source packages to transfer build jobs to the build = service and from there to the builders. One single file that is signed, = integrity checked and contains everything that is needed is a great way = to have contingent builds that are repeatable and verifiable. That is all for today. See you next week! -Michael=