From fc4d41772a7deedca09e5e50084f2999d603b500 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 25 Feb 2011 22:19:15 +0100 Subject: [PATCH] Add build information (like time, id and hostname) in packages. --- pakfire/builder.py | 16 +++++++++++++++- pakfire/constants.py | 7 ++++--- pakfire/packages/packager.py | 1 + 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/pakfire/builder.py b/pakfire/builder.py index 991b40969..409560cd8 100644 --- a/pakfire/builder.py +++ b/pakfire/builder.py @@ -7,6 +7,7 @@ import math import os import re import shutil +import socket import stat import time @@ -24,7 +25,7 @@ class Builder(object): # The version of the kernel this machine is running. kernel_version = os.uname()[2] - def __init__(self, pakfire, pkg, **settings): + def __init__(self, pakfire, pkg, build_id="", **settings): self.pakfire = pakfire self.pkg = pkg @@ -41,9 +42,22 @@ class Builder(object): self._lock = None self.lock() + # Save the build time. + self.build_time = int(time.time()) + self.build_id = build_id + # Initialize the environment self.prepare() + @property + def info(self): + return { + "build_date" : time.strftime("%a, %d %b %Y %H:%M:%S +0000", time.gmtime(self.build_time)), + "build_host" : socket.gethostname(), + "build_id" : self.build_id, + "build_time" : self.build_time, + } + @property def path(self): return self.pakfire.path diff --git a/pakfire/constants.py b/pakfire/constants.py index fa0a27656..0d3bc9b51 100644 --- a/pakfire/constants.py +++ b/pakfire/constants.py @@ -57,9 +57,10 @@ BINARY_PACKAGE_META = """\ VERSION="%(package_format)s" # Build information -BUILD_DATE="XXX" -BUILD_HOST="XXX" -BUILD_ID="XXX" +BUILD_DATE="%(build_date)s" +BUILD_HOST="%(build_host)s" +BUILD_ID="%(build_id)s" +BUILD_TIME="%(build_time)s" # Distribution information DISTRO_NAME="%(distro_name)s" diff --git a/pakfire/packages/packager.py b/pakfire/packages/packager.py index 57aa2dea1..6fe99e4bc 100644 --- a/pakfire/packages/packager.py +++ b/pakfire/packages/packager.py @@ -194,6 +194,7 @@ class Packager(object): } self.info.update(self.pkg.info) self.info.update(self.pakfire.distro.info) + self.info.update(self.env.info) ### Create temporary files # Create temp directory to where we extract all files again and -- 2.39.5