1
0

osc copypac from project:openSUSE:Tools:Unstable package:obs-service-recompress revision:10

OBS-URL: https://build.opensuse.org/package/show/openSUSE:Tools/obs-service-recompress?expand=0&rev=1
This commit is contained in:
Adrian Schröter 2010-10-18 12:49:13 +00:00 committed by Git OBS Bridge
commit e92a6ed985
5 changed files with 171 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

View File

@ -0,0 +1,40 @@
Name: obs-service-recompress
License: GPL v2 or later
Group: Development/Tools/Building
Summary: An OBS source service: Recompress files
Version: 0.1
Release: 1
Source: recompress
Source1: recompress.service
Requires: xz gzip bzip2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildArch: noarch
%description
This is a source service for openSUSE Build Service.
It supports to compress, uncompress or recompress files from or to
none : No Compression
gz : Gzip Compression
bz2 : Bzip2 Compression
xz : XZ Compression
%prep
%setup -q -D -T 0 -n .
%build
%install
mkdir -p $RPM_BUILD_ROOT/usr/lib/obs/service
install -m 0755 %{SOURCE0} $RPM_BUILD_ROOT/usr/lib/obs/service
install -m 0644 %{SOURCE1} $RPM_BUILD_ROOT/usr/lib/obs/service
%files
%defattr(-,root,root)
%dir /usr/lib/obs
/usr/lib/obs/service

85
recompress Normal file
View File

@ -0,0 +1,85 @@
#!/bin/bash
# A simple script to checkout or update a svn or git repo as source service
# defaults
MYCOMPRESSION=""
FILES=""
while test $# -gt 0; do
case $1 in
*-compression)
MYCOMPRESSION="$2"
shift
;;
*-file)
FILES="$FILES ${2##*/}"
shift
;;
*-outdir)
MYOUTDIR="$2"
shift
;;
*)
echo Unknown parameter $1.
echo 'Usage: recompress --compression $COMPRESSION --file $FILE --outdir $OUT'
exit 1
;;
esac
shift
done
if [ -z "$MYCOMPRESSION" ]; then
MYCOMPRESSION="bz2"
fi
if [ -z "$FILES" ]; then
echo "ERROR: no inputs files are given via --file parameter!"
exit 1
fi
if [ -z "$MYOUTDIR" ]; then
echo "ERROR: no output directory is given via --outdir parameter!"
exit 1
fi
for i in $FILES; do
FILE=`ls -1 $i`
UNCOMPRESS="cat"
BASENAME="$FILE"
if [ "${FILE%.gz}" != "$FILE" ]; then
UNCOMPRESS="gunzip -c"
BASENAME="${FILE%.gz}"
elif [ "${FILE%.bz2}" != "$FILE" ]; then
UNCOMPRESS="bunzip2 -c"
BASENAME="${FILE%.bz2}"
elif [ "${FILE%.xz}" != "$FILE" ]; then
UNCOMPRESS="xz -dc"
BASENAME="${FILE%.xz}"
fi
if [ "$MYCOMPRESSION" == "gz" ]; then
COMPRESS="gzip -c -"
NEWFILE="${BASENAME#_service:}.gz"
elif [ "$MYCOMPRESSION" == "bz2" ]; then
COMPRESS="bzip2 -c -"
NEWFILE="${BASENAME#_service:}.bz2"
elif [ "$MYCOMPRESSION" == "xz" ]; then
COMPRESS="xz -c -"
NEWFILE="${BASENAME#_service:}.xz"
elif [ "$MYCOMPRESSION" == "none" ]; then
COMPRESS="cat -"
NEWFILE="${BASENAME#_service:}"
else
echo "ERROR: Unknown compression $MYCOMPRESSION"
exit 1
fi
# do the real work
$UNCOMPRESS "$FILE" | $COMPRESS > "$MYOUTDIR/$NEWFILE" || exit 1
if [ "${FILE#_service:}" != "$FILE" ]; then
# we can remove service files, no need to store them twice
rm -f "$FILE"
fi
done
exit 0

22
recompress.service Normal file
View File

@ -0,0 +1,22 @@
<service name="recompress">
<summary>Change File Compression</summary>
<description>This service supports to compress, uncompress or recompress files from or to
none : No Compression
gz : Gzip Compression
bz2 : Bzip2 Compression
xz : XZ Compression
</description>
<parameter name="compression">
<description>Used compression</description>
<allowedvalue>none</allowedvalue>
<allowedvalue>gz</allowedvalue>
<allowedvalue>bz2</allowedvalue>
<allowedvalue>xz</allowedvalue>
<required/>
</parameter>
<parameter name="file">
<description>name of file to be recompressed. RegExp are allowed.</description>
<required/>
</parameter>
</service>