Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
suse-xsl-stylesheets
susexsl-fetch-source-git
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File susexsl-fetch-source-git of Package suse-xsl-stylesheets
#!/bin/bash # # # Create suse-xsl source tarball from GitHub # Needed because we would like to exclude unnecessary stuff from # the source RPM in order to keep it lean. # # How to use this: # $ susexsl-fetch-source-git <URL> # # Copyright (C) 2015 SUSE Linux GmbH # # Author: # Frank Sundermeyer <fsundermeyer at opensuse dot org> # NAME=suse-xsl PNAME=suse-xsl-stylesheets VERSION= SPECFILE=${PNAME}.spec TMPDIR=$(mktemp -q -d --tmpdir susexsl_XXXXXXXX) #---------- # Functions #---------- # exit on error # function exit_on_error { echo -e "$1" # rm -rf $TMPDIR exit 1 } function help { echo -e "$(basename $0) <ARCHIVE_FILENAME>\n" } #----- # MAIN #----- # # Check for archive file name # if [[ -z $1 ]]; then exit_on_error "Please specify a URL for a suse-xsl release archive, e.g. susexsl-fetch-source-git https://github.com/openSUSE/suse-xsl/archive/2.0-rc5.tar.gz" else ARCHIVE_URL="$1" ARCHIVE_NAME="${ARCHIVE_URL##*/}" fi # This script needs to be called from the osc checkout directory, so # lets check whether we are in the correct directory # if [[ ! -s $SPECFILE && ! -d .osc ]]; then echo "Looks like you are not in the suse-xsl checkout directory." read -p "Continue anyway (y/n) [n]: " CONT if [[ n = $CONT || N = $CONT ]]; then exit_on_error "Aborted by user." fi fi #----------- # Download archive # echo "Downloading archive:" (cd $TMPDIR && wget -nv $ARCHIVE_URL) || exit_on_error "Download of $ARCHIVE_URL failed" #----------- # Unpack archive # case ${ARCHIVE_NAME##*.} in zip) UNPACK="unzip" ARCHIVE_DIR=$(basename $ARCHIVE_NAME .zip) ;; gz) UNPACK="tar xfz" ARCHIVE_DIR=$(basename $ARCHIVE_NAME .tar.gz) ;; bz2) UNPACK="tar xfj" ARCHIVE_DIR=$(basename $ARCHIVE_NAME .tar.bz2) ;; *) exit_on_error "Unknown archive format" esac SRC_DIR=${TMPDIR}/${PNAME} EXCLUDES=${SRC_DIR}/packaging/exclude-files_for_susexsl_package.txt (cd $TMPDIR && $UNPACK $ARCHIVE_NAME) || exit_on_error "Unpacking $ARCHIVE_NAME failed" mv ${TMPDIR}/${NAME}-${ARCHIVE_DIR}/ ${SRC_DIR}/ #----------- # Get the version number # VERSION=$(egrep "^Version:\s*" ${SRC_DIR}/packaging/$SPECFILE | sed 's/^Version:\s*//') if [[ -z $VERSION ]]; then exit_on_error "Couldn't get version number from spec-file." fi #----------- # Create the tarball # export BZIP2=--best tar cf ${PNAME}-${VERSION}.tar -C ${TMPDIR} \ --exclude-from=$EXCLUDES ${PNAME} || exit_on_error "Failed to create the tarball." bzip2 -9 ${PNAME}-${VERSION}.tar echo "Successfully wrote source tarball ${NAME}-${VERSION}.tar.bz2" # # Copy the spec file if necessary # diff -q $SPECFILE ${SRC_DIR}/packaging/$SPECFILE >/dev/null if [[ 0 = $? ]]; then echo "Spec file is up-to-date." else cp ${SRC_DIR}/packaging/$SPECFILE . || exit_on_error "Failed to copy the specfile." echo "Successfully updated the spec file." fi #rm -rf ${TMPDIR} exit 0
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor