From: Michael Tremer Date: Fri, 25 Feb 2011 21:19:15 +0000 (+0100) Subject: Add build information (like time, id and hostname) in packages. X-Git-Tag: 0.9.3~125 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=fc4d41772a7deedca09e5e50084f2999d603b500;p=pakfire.git Add build information (like time, id and hostname) in packages. --- 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