[Reproducible-commits] [sbuild] 01/01: srebuild: add man page, copyright and adapt makefiles

Johannes Schauer josch-guest at moszumanska.debian.org
Fri Jan 2 11:25:27 UTC 2015


This is an automated email from the git hooks/post-receive script.

josch-guest pushed a commit to branch pu/reproducible_builds
in repository sbuild.

commit 542ebc22f12b91d1f595db6a9f834f0e141784e7
Author: josch <j.schauer at email.de>
Date:   Fri Jan 2 12:04:57 2015 +0100

    srebuild: add man page, copyright and adapt makefiles
---
 bin/Makefile.am       |  2 ++
 bin/srebuild          |  2 +-
 debian/changelog      |  1 +
 debian/copyright      | 17 ++++++++++++++++
 debian/sbuild.install |  1 +
 man/Makefile.am       |  1 +
 man/srebuild.1.in     | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++
 7 files changed, 78 insertions(+), 1 deletion(-)

diff --git a/bin/Makefile.am b/bin/Makefile.am
index 423a313..760daf2 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -35,6 +35,7 @@ bin_SCRIPTS = 				\
 	sbuild-shell			\
 	sbuild-hold			\
 	sbuild-unhold			\
+	srebuild			\
 	buildd				\
 	buildd-mail			\
 	buildd-uploader			\
@@ -48,6 +49,7 @@ sbin_SCRIPTS = 			\
 
 sbuilddata_SCRIPTS =		\
 	create-chroot		\
+	srebuild-hook		\
 	dobuildlog
 
 doc_DATA = 		\
diff --git a/bin/srebuild b/bin/srebuild
index fb41c1f..1d2172b 100755
--- a/bin/srebuild
+++ b/bin/srebuild
@@ -243,7 +243,7 @@ print "mirror =  http://snapshot.debian.org/archive/$archive/$newest/\n";
 my $bn_buildinfo = basename $buildinfo;
 
 my $retval = system "sbuild", "--arch=$arch", "--dist=wheezy",
-    "--pre-build-command=cp /home/josch/sbuild/bin/srebuild-hook $buildinfo %SBUILD_CHROOT_DIR/tmp",
+    "--pre-build-command=cp /usr/share/sbuild/srebuild-hook $buildinfo %SBUILD_CHROOT_DIR/tmp",
     "--chroot-setup-command=/tmp/srebuild-hook chroot-setup /tmp/$bn_buildinfo $newest",
     "--starting-build-commands=/tmp/srebuild-hook starting-build /tmp/$bn_buildinfo",
     $dsc_fname;
diff --git a/debian/changelog b/debian/changelog
index 6aeef32..ec7c32f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,7 @@ sbuild (0.65.1-1) UNRELEASED; urgency=medium
   * Move running of pre-build-commands until after 'Chroot Dir' is defined
     - this prevents the %SBUILD_CHROOT_DIR percentage escape being empty
       when running the pre-build-commands hook (Closes: #774359)
+  * add srebuild, a wrapper to make reproducible builds from .buildinfo files
 
  -- Roger Leigh <rleigh at debian.org>  Sun, 30 Nov 2014 22:44:47 +0000
 
diff --git a/debian/copyright b/debian/copyright
index 990425e..f7c4fdc 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -69,6 +69,23 @@ the GNU General Public License, version 3 or later:
 On Debian systems, the complete text of the GNU General Public
 License, version 3, can be found in /usr/share/common-licenses/GPL-3.
 
+Files:
+ bin/srebuild
+ bin/srebuild-hooks
+ man/srebuild.1.in
+Copyright: 2015 Johannes Schauer <j.schauer at email.de>
+License: Expat
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated documentation
+ files (the "Software"), to deal in the Software without
+ restriction, including without limitation the rights to use,
+ copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the
+ Software is furnished to do so, subject to the following
+ conditions:
+ .
+ The above copyright notice and this permission notice shall be
+ included in all copies or substantial portions of the Software.
 
 Debian packaging copyright:
 	© 2001-2003 Rick Younie <younie at debian.org>
diff --git a/debian/sbuild.install b/debian/sbuild.install
index 695c3ee..7b785d8 100644
--- a/debian/sbuild.install
+++ b/debian/sbuild.install
@@ -1,5 +1,6 @@
 debian/install/etc/sbuild                          etc
 debian/install/usr/bin/sbuild*                     usr/bin
+debian/install/usr/bin/srebuild                    usr/bin
 debian/install/usr/sbin/sbuild*                    usr/sbin
 debian/install/usr/share/doc/sbuild                usr/share/doc
 debian/install/usr/share/man/man1/sbuild*          usr/share/man/man1
diff --git a/man/Makefile.am b/man/Makefile.am
index 9d1b8d0..7ee2b9d 100644
--- a/man/Makefile.am
+++ b/man/Makefile.am
@@ -28,6 +28,7 @@ man_MANS =				\
 	buildd-uploader.1		\
 	buildd-vlog.1			\
 	buildd-watcher.1		\
+	srebuild.1			\
 	sbuild.1			\
 	sbuild.conf.5			\
 	sbuild-abort.1			\
diff --git a/man/srebuild.1.in b/man/srebuild.1.in
new file mode 100644
index 0000000..3d96c53
--- /dev/null
+++ b/man/srebuild.1.in
@@ -0,0 +1,55 @@
+.\" # Copyright 2014 Johannes Schauer
+.\"
+.\" Permission is hereby granted, free of charge, to any person obtaining a copy
+.\" of this software and associated documentation files (the "Software"), to deal
+.\" in the Software without restriction, including without limitation the rights
+.\" to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+.\" copies of the Software, and to permit persons to whom the Software is
+.\" furnished to do so, subject to the following conditions:
+.\"
+.\" The above copyright notice and this permission notice shall be included in
+.\" all copies or substantial portions of the Software.
+.so defs.man
+.TH SREBUILD 1 "\*[RELEASE_DATE]" "Version \*[VERSION]" "Debian sbuild"
+.SH NAME
+srebuild \- sbuild wrapper to make a reproducible build using a .buildinfo file
+.SH SYNOPSIS
+.B srebuild package.buildinfo
+.SH DESCRIPTION
+\fBsrebuild\fR is a thin wrapper around sbuild. Given a \fI.buildinfo\fP file,
+it first finds a timestamp of Debian Sid from snapshot.debian.org which
+contains the requested packages in their exact versions. It then runs sbuild
+with the right architecture as given by the .buildinfo file and the right base
+system to upgrade from, as given by the version of the base-files package
+version in the .buildinfo file. Using two hooks it will install the right
+package versions and verify that the installed packages are in the right
+version before the build starts.
+.SH OPTIONS
+There are no options yet.
+.SH BUGS
+\fBsrebuild\fR will give up if not all packages can be found in a single
+snapshot. It should be possible to retrieve the right packages from multiple
+timestamps.
+.PP
+Querying the snapshot.debian.org API for the right timestamp with the correct
+versions takes some time. It should be possible to manually supply the right
+timestamp on the command line, allowing to skip the step of figuring out the
+right timestamp. Conversely, every run should output the timestamp it found so
+that it can be used to skip the step for repeated runs.
+.PP
+The right snapshot is expected to be found in Debian sid, main. It should be
+possible to find it in stable and testing as well or even mix different suites.
+It should be possible to find the right packages in contrib and non free, too.
+Additionally, it might be worthwhiel to search debian-archive,
+debian-backports, debian-ports, debian-security or debian-volatile for the
+right version.
+.PP
+Currently, wheezy will always be used as the base. Instead, the version of the
+base-files package should be used to select the optimal release to upgrade
+from.
+.SH AUTHORS
+Johannes Schauer <j.schauer at email.de>
+.SH COPYRIGHT
+Copyright 2015 Johannes Schauer <j.schauer at email.de>
+.SH SEE ALSO
+.BR sbuild (1)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/reproducible/sbuild.git



More information about the Reproducible-commits mailing list