diff --git a/submit b/submit index a6efaeb..750107f 100755 --- a/submit +++ b/submit @@ -3,6 +3,7 @@ PACKAGE=$(basename $(pwd)) VERSION=$(rpm -q --qf "%{version}" --specfile $PACKAGE.spec) ME=$(whoami) +SERVER=build.firewall-services.com BRANCH=$(git branch | grep '*' | cut -d' ' -f2) DIST=$1 @@ -13,11 +14,15 @@ fi TMPDIR=$(mktemp -d) mkdir -p $TMPDIR/$PACKAGE-$VERSION/ +SOCKET=$(mktemp -u) +# Open master SSH socket +ssh -M -f -N -o ControlPath=$SOCKET -l $ME $SERVER + # Tag GIT using the version in the spec file git tag -f $VERSION 2>&1 > /dev/null # Create needed dirs on the build box -ssh -l $ME build.firewall-services.com mkdir -p rpmbuild/{RPMS,SRPMS,SPECS,SOURCES} +ssh -o ControlPath=$SOCKET -l $ME $SERVER mkdir -p rpmbuild/{RPMS,SRPMS,SPECS,SOURCES} # Generate a tgz archive from the repo git archive --format=tar --prefix=$PACKAGE-$VERSION/ $BRANCH | tar xf - -C $TMPDIR @@ -25,13 +30,16 @@ git archive --format=tar --prefix=$PACKAGE-$VERSION/ $BRANCH | tar xf - -C $TMPD git log --format=%H | git log --pretty --stdin --no-walk > $TMPDIR/$PACKAGE-$VERSION/CHANGELOG.git #tar cz -C $TMPDIR $PACKAGE-$VERSION | ssh -l $ME build.firewall-services.com "cat > rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz" tar czf $TMPDIR/$PACKAGE-$VERSION.tar.gz -C $TMPDIR $PACKAGE-$VERSION -scp -C $TMPDIR/$PACKAGE-$VERSION.tar.gz $ME@build.firewall-services.com:rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz +scp -o ControlPath=$SOCKET -C $TMPDIR/$PACKAGE-$VERSION.tar.gz $ME@$SERVER:rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz # Upload the spec file -scp $PACKAGE.spec $ME@build.firewall-services.com:rpmbuild/SPECS/ +scp -o ControlPath=$SOCKET $PACKAGE.spec $ME@$SERVER:rpmbuild/SPECS/ # And build -ssh -l $ME build.firewall-services.com rpmbuild -bs --nodeps rpmbuild/SPECS/$PACKAGE.spec -ssh -l $ME build.firewall-services.com buildrpm rpmbuild/SRPMS/$PACKAGE-$VERSION-*.src.rpm $DIST -ssh -l $ME build.firewall-services.com rm -f rpmbuild/SPECS/$PACKAGE.spec rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz rpmbuild/SRPMS/$PACKAGE-$VERSION*.src.rpm +ssh -o ControlPath=$SOCKET -l $ME $SERVER rpmbuild -bs --nodeps rpmbuild/SPECS/$PACKAGE.spec +ssh -o ControlPath=$SOCKET -l $ME $SERVER buildrpm rpmbuild/SRPMS/$PACKAGE-$VERSION-*.src.rpm $DIST +ssh -o ControlPath=$SOCKET -l $ME $SERVER rm -f rpmbuild/SPECS/$PACKAGE.spec rpmbuild/SOURCES/$PACKAGE-$VERSION.tar.gz rpmbuild/SRPMS/$PACKAGE-$VERSION*.src.rpm rm -rf $TMPDIR + +# Close master SSH connexion +ssh -S $SOCKET -O exit -l $ME $SERVER