Skip to content

Commit

Permalink
Added readme and license
Browse files Browse the repository at this point in the history
Signed-off-by: Morten Linderud <morten@linderud.pw>
  • Loading branch information
Foxboron committed Dec 11, 2017
1 parent 822f711 commit 0d8b546
Show file tree
Hide file tree
Showing 2 changed files with 106 additions and 0 deletions.
5 changes: 5 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
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.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
101 changes: 101 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
repro
=====

The goal is to create a tool that can easily verify Arch Linux packages for reproducability.

The current goals are:
- Build package N times with environment changes to check for reproducability
- Recreate packages given `.BUILDINFO` file

Work in progress. Please read the code file before using.


```
$ repro
==> Using SOURCE_DATE_EPOCH: 1513029322
:: Synchronizing package databases...
core is up to date
extra is up to date
community is up to date
pacman is up to date
:: Starting full system upgrade...
there is nothing to do
==> Starting build1...
-> Create snapshot for build1...
-> Creating rsync snapshot
==> Making package: archlinux-keyring 20171020-1 (Mon Dec 11 22:55:31 CET 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found archlinux-keyring-20171020.tar.gz
-> Found archlinux-keyring-20171020.tar.gz.sig
==> Validating source files with sha256sums...
archlinux-keyring-20171020.tar.gz ... Passed
archlinux-keyring-20171020.tar.gz.sig ... Skipped
==> Verifying source file signatures with gpg...
archlinux-keyring-20171020.tar.gz ...
==> Extracting sources...
-> Extracting archlinux-keyring-20171020.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
install -dm755 /startdir/pkg/archlinux-keyring/usr/share/pacman/keyrings/
install -m0644 archlinux{.gpg,-trusted,-revoked} /startdir/pkg/archlinux-keyring/usr/share/pacman/keyrings/
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "archlinux-keyring"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Adding install file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Signing package(s)...
==> Finished making: archlinux-keyring 20171020-1 (Mon Dec 11 22:55:32 CET 2017)
==> Cleaning up...
-> Delete snapshot for build1...
==> Starting build2...
-> Create snapshot for build2...
-> Creating rsync snapshot
==> Making package: archlinux-keyring 20171020-1 (Mon Dec 11 22:55:44 CET 2017)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found archlinux-keyring-20171020.tar.gz
-> Found archlinux-keyring-20171020.tar.gz.sig
==> Validating source files with sha256sums...
archlinux-keyring-20171020.tar.gz ... Passed
archlinux-keyring-20171020.tar.gz.sig ... Skipped
==> Verifying source file signatures with gpg...
archlinux-keyring-20171020.tar.gz ...
==> Extracting sources...
-> Extracting archlinux-keyring-20171020.tar.gz with bsdtar
==> Entering fakeroot environment...
==> Starting package()...
install -dm755 /startdir/pkg/archlinux-keyring/usr/share/pacman/keyrings/
install -m0644 archlinux{.gpg,-trusted,-revoked} /startdir/pkg/archlinux-keyring/usr/share/pacman/keyrings/
==> Tidying install...
-> Removing libtool files...
-> Purging unwanted files...
-> Removing static library files...
-> Stripping unneeded symbols from binaries and libraries...
-> Compressing man and info pages...
==> Checking for packaging issues...
==> Creating package "archlinux-keyring"...
-> Generating .PKGINFO file...
-> Generating .BUILDINFO file...
-> Adding install file...
-> Generating .MTREE file...
-> Compressing package...
==> Leaving fakeroot environment.
==> Signing package(s)...
==> Finished making: archlinux-keyring 20171020-1 (Mon Dec 11 22:55:45 CET 2017)
==> Cleaning up...
-> Delete snapshot for build2...
==> Comparing hashes...
-> archlinux-keyring-20171020-1-any.pkg.tar.xz is reproducible!
==> Package is reproducible!

0 comments on commit 0d8b546

Please sign in to comment.