From 28acd96199764cc78ff3efb49d28a7a4df63e725 Mon Sep 17 00:00:00 2001 From: Andy Neff Date: Sat, 18 Jul 2015 02:43:53 -0400 Subject: [PATCH] First attempt at GPG integration --- docker/centos_script.bsh | 4 ++++ docker/debian_script.bsh | 17 ++++++++++++++--- docker/distributions | 7 +------ docker/git-lfs_debian_8/Dockerfile | 1 + docker/signing.key | 0 rpm/SOURCES/git-lfs.repo | 4 ++-- rpm/SPECS/git-lfs-repo-release.spec | 1 - 7 files changed, 22 insertions(+), 12 deletions(-) create mode 100644 docker/signing.key diff --git a/docker/centos_script.bsh b/docker/centos_script.bsh index 6de42285..0bc4d50d 100755 --- a/docker/centos_script.bsh +++ b/docker/centos_script.bsh @@ -14,6 +14,10 @@ cd "${GIT_LFS_BUILD_DIR}" git clean -xdf . || ./rpm/clean.bsh #clean is needed when git isn't alread installed "${GIT_LFS_BUILD_DIR}"/rpm/build_rpms.bsh +if [ "${RPM_REPO_HOSTNAME-}" == "" ]; then + sed -ir 's/(^baseurl=https?:\/\/)[^/]*/\1'"${RPM_REPO_HOSTNAME}"'/' ../rpm/SOURCES/git-lfs.repo +fi + rpmbuild --define "_topdir ${GIT_LFS_BUILD_DIR}/rpm" -ba ${GIT_LFS_BUILD_DIR}/rpm/SPECS/git-lfs-repo-release.spec rsync -ra ${GIT_LFS_BUILD_DIR}/rpm/{SRPMS,RPMS} ${REPO_DIR} diff --git a/docker/debian_script.bsh b/docker/debian_script.bsh index 5cfb8609..2fb6dec9 100755 --- a/docker/debian_script.bsh +++ b/docker/debian_script.bsh @@ -5,17 +5,28 @@ set -eu REPO_DIR=${REPO_DIR:-/repo} GIT_LFS_BUILD_DIR=${GIT_LFS_BUILD_DIR:-/tmp/docker_run/git-lfs} SRC_DIR=${SRC_DIR:-/src} -REPO_CODENAME=${REPO_CODENAME:-git-lfs} +REPO_CODENAME=${REPO_CODENAME:-$(source /etc/os-release; echo $VERSION | sed -r 's|.*\((.*)\)|\1|')} mkdir -p $(dirname "${GIT_LFS_BUILD_DIR}") cp -r -T "${SRC_DIR}" "${GIT_LFS_BUILD_DIR}" cd "${GIT_LFS_BUILD_DIR}" git clean -xdf . -dpkg-buildpackage -us -uc mkdir -p "${REPO_DIR}/conf/" -cp /tmp/distributions "${REPO_DIR}/conf/" +sed 's|^Codename:.*|Codename: '${REPO_CODENAME}'|' /tmp/distributions > "${REPO_DIR}/conf/distributions" +if [ -s /tmp/signing.key ]; then + eval $(gpg-agent --daemon) + gpg --import /tmp/signing.key + rm /tmp/signing.key + printf "" > "${GIT_LFS_BUILD_DIR}"/docker/signing.key + echo "SignWith: yes" >> "${REPO_DIR}/conf/distributions" + echo ask-passphrase >> "${REPO_DIR}/conf/options" + + dpkg-buildpackage +else + dpkg-buildpackage -us -uc +fi #This will add the deb, xz, AND dsc! Perfect for DSC in $(ls /tmp/docker_run/*.changes); do diff --git a/docker/distributions b/docker/distributions index 863198b4..2c175f2b 100644 --- a/docker/distributions +++ b/docker/distributions @@ -1,4 +1,4 @@ -Origin: git-hub +Origin: github Label: git-lfs Suite: stable Codename: git-lfs @@ -6,8 +6,3 @@ Version: 0.1 Architectures: amd64 source Components: main Description: Git-lfs packages -#UDebComponents: main -#SignWith: yes -#DebOverride: override -#UDebOverride: override -#DscOverride: srcoverride diff --git a/docker/git-lfs_debian_8/Dockerfile b/docker/git-lfs_debian_8/Dockerfile index 0e8d431a..2067b1ce 100644 --- a/docker/git-lfs_debian_8/Dockerfile +++ b/docker/git-lfs_debian_8/Dockerfile @@ -9,5 +9,6 @@ apt-get install -y golang git dpkg-dev dh-golang ruby-ronn reprepro ADD debian_script.bsh /tmp/docker_run/ ADD distributions /tmp/ +ADD signing.key /tmp/ CMD /tmp/docker_run/debian_script.bsh \ No newline at end of file diff --git a/docker/signing.key b/docker/signing.key new file mode 100644 index 00000000..e69de29b diff --git a/rpm/SOURCES/git-lfs.repo b/rpm/SOURCES/git-lfs.repo index 3d4146a4..e83c37d1 100644 --- a/rpm/SOURCES/git-lfs.repo +++ b/rpm/SOURCES/git-lfs.repo @@ -4,7 +4,7 @@ baseurl=http://git-lfs.github.com/centos/$releasever/RPMS enabled=1 gpgcheck=0 #gpgcheck=1 -#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-GITLFS +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-GITLFS [git-lfs-source] name=Packages for git-lfs for Enterprise Linux $releasever - $basearch @@ -12,4 +12,4 @@ baseurl=http://git-lfs.github.com/centos/$releasever/SRPMS enabled=0 gpgcheck=0 #gpgcheck=1 -#gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-GITLFS +gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-GITLFS diff --git a/rpm/SPECS/git-lfs-repo-release.spec b/rpm/SPECS/git-lfs-repo-release.spec index 65cf5457..b4b5eb74 100644 --- a/rpm/SPECS/git-lfs-repo-release.spec +++ b/rpm/SPECS/git-lfs-repo-release.spec @@ -22,7 +22,6 @@ GPG key as well as configuration for yum. %prep %setup -q -c -T -#install -pm 644 %{SOURCE0} . %build