From a84e62e9b9517a91c88cedf74051f039758a2b30 Mon Sep 17 00:00:00 2001 From: netblue30 Date: Sun, 11 Oct 2015 08:27:22 -0400 Subject: merget #78 - standalone rpm spec --- platform/rpm/mkrpm.sh | 129 +++++++++++++++++++++----------------------------- 1 file changed, 53 insertions(+), 76 deletions(-) (limited to 'platform/rpm/mkrpm.sh') diff --git a/platform/rpm/mkrpm.sh b/platform/rpm/mkrpm.sh index 2e17fdfc1..3daede84c 100755 --- a/platform/rpm/mkrpm.sh +++ b/platform/rpm/mkrpm.sh @@ -1,80 +1,52 @@ #!/bin/bash -VERSION="0.9.30" -rm -fr ~/rpmbuild -rm -f firejail-$VERSION-1.x86_64.rpm - -mkdir -p ~/rpmbuild/{RPMS,SRPMS,BUILD,SOURCES,SPECS,tmp} -cat <~/.rpmmacros -%_topdir %(echo $HOME)/rpmbuild -%_tmppath %{_topdir}/tmp -EOF - -cd ~/rpmbuild -echo "building directory tree" - -mkdir -p firejail-$VERSION/usr/bin -install -m 755 /usr/bin/firejail firejail-$VERSION/usr/bin/. -install -m 755 /usr/bin/firemon firejail-$VERSION/usr/bin/. - -mkdir -p firejail-$VERSION/usr/lib/firejail -install -m 644 /usr/lib/firejail/libtrace.so firejail-$VERSION/usr/lib/firejail/. -install -m 755 /usr/lib/firejail/ftee firejail-$VERSION/usr/lib/firejail/. -install -m 755 /usr/lib/firejail/fshaper.sh firejail-$VERSION/usr/lib/firejail/. - -mkdir -p firejail-$VERSION/usr/share/man/man1 -install -m 644 /usr/share/man/man1/firejail.1.gz firejail-$VERSION/usr/share/man/man1/. -install -m 644 /usr/share/man/man1/firemon.1.gz firejail-$VERSION/usr/share/man/man1/. - -mkdir -p firejail-$VERSION/usr/share/man/man5 -install -m 644 /usr/share/man/man5/firejail-profile.5.gz firejail-$VERSION/usr/share/man/man5/. -install -m 644 /usr/share/man/man5/firejail-login.5.gz firejail-$VERSION/usr/share/man/man5/. - -mkdir -p firejail-$VERSION/usr/share/doc/packages/firejail -install -m 644 /usr/share/doc/firejail/COPYING firejail-$VERSION/usr/share/doc/packages/firejail/. -install -m 644 /usr/share/doc/firejail/README firejail-$VERSION/usr/share/doc/packages/firejail/. -install -m 644 /usr/share/doc/firejail/RELNOTES firejail-$VERSION/usr/share/doc/packages/firejail/. - -mkdir -p firejail-$VERSION/etc/firejail -install -m 644 /etc/firejail/xchat.profile firejail-$VERSION/etc/firejail/xchat.profile -install -m 644 /etc/firejail/server.profile firejail-$VERSION/etc/firejail/server.profile -install -m 644 /etc/firejail/quassel.profile firejail-$VERSION/etc/firejail/quassel.profile -install -m 644 /etc/firejail/pidgin.profile firejail-$VERSION/etc/firejail/pidgin.profile -install -m 644 /etc/firejail/icecat.profile firejail-$VERSION/etc/firejail/icecat.profile -install -m 644 /etc/firejail/filezilla.profile firejail-$VERSION/etc/firejail/filezilla.profile -install -m 644 /etc/firejail/chromium-browser.profile firejail-$VERSION/etc/firejail/chromium-browser.profile -install -m 644 /etc/firejail/chromium.profile firejail-$VERSION/etc/firejail/chromium.profile -install -m 644 /etc/firejail/dropbox.profile firejail-$VERSION/etc/firejail/dropbox.profile -install -m 644 /etc/firejail/disable-common.inc firejail-$VERSION/etc/firejail/disable-common.inc -install -m 644 /etc/firejail/disable-history.inc firejail-$VERSION/etc/firejail/disable-history.inc -install -m 644 /etc/firejail/disable-secret.inc firejail-$VERSION/etc/firejail/disable-secret.inc -install -m 644 /etc/firejail/disable-mgmt.inc firejail-$VERSION/etc/firejail/disable-mgmt.inc -install -m 644 /etc/firejail/evince.profile firejail-$VERSION/etc/firejail/evince.profile -install -m 644 /etc/firejail/firefox.profile firejail-$VERSION/etc/firejail/firefox.profile -install -m 644 /etc/firejail/icedove.profile firejail-$VERSION/etc/firejail/icedove.profile -install -m 644 /etc/firejail/iceweasel.profile firejail-$VERSION/etc/firejail/iceweasel.profile -install -m 644 /etc/firejail/midori.profile firejail-$VERSION/etc/firejail/midori.profile -install -m 644 /etc/firejail/thunderbird.profile firejail-$VERSION/etc/firejail/thunderbird.profile -install -m 644 /etc/firejail/opera.profile firejail-$VERSION/etc/firejail/opera.profile -install -m 644 /etc/firejail/transmission-gtk.profile firejail-$VERSION/etc/firejail/transmission-gtk.profile -install -m 644 /etc/firejail/transmission-qt.profile firejail-$VERSION/etc/firejail/transmission-qt.profile -install -m 644 /etc/firejail/vlc.profile firejail-$VERSION/etc/firejail/vlc.profile -install -m 644 /etc/firejail/audacious.profile firejail-$VERSION/etc/firejail/audacious.profile -install -m 644 /etc/firejail/clementine.profile firejail-$VERSION/etc/firejail/clementine.profile -install -m 644 /etc/firejail/gnome-mplayer.profile firejail-$VERSION/etc/firejail/gnome-mplayer.profile -install -m 644 /etc/firejail/rhythmbox.profile firejail-$VERSION/etc/firejail/rhythmbox.profile -install -m 644 /etc/firejail/totem.profile firejail-$VERSION/etc/firejail/totem.profile -install -m 644 /etc/firejail/deluge.profile firejail-$VERSION/etc/firejail/deluge.profile -install -m 644 /etc/firejail/qbittorrent.profile firejail-$VERSION/etc/firejail/qbittorrent.profile -install -m 644 /etc/firejail/generic.profile firejail-$VERSION/etc/firejail/generic.profile -install -m 644 /etc/firejail/login.users firejail-$VERSION/etc/firejail/login.users -install -m 644 /etc/firejail/deadbeef.profile firejail-$VERSION/etc/firejail/deadbeef.profile -install -m 644 /etc/firejail/empathy.profile firejail-$VERSION/etc/firejail/empathy.profile - - -mkdir -p firejail-$VERSION/usr/share/bash-completion/completions -install -m 644 /usr/share/bash-completion/completions/firejail firejail-$VERSION/usr/share/bash-completion/completions/. -install -m 644 /usr/share/bash-completion/completions/firemon firejail-$VERSION/usr/share/bash-completion/completions/. - +# +# Usage: ./mkrpm.sh +# ./mkrpm.sh /path/to/firejail-0.9.30.tar.gz +# +# Script builds rpm in a temporary directory and places the built rpm in the +# current working directory. + + +source=$1 + +create_tmp_dir() { + tmpdir=$(mktemp -d) + mkdir -p ${tmpdir}/{BUILD,RPMS,SOURCES,SPECS,SRPMS} +} + + +# copy or download source +if [[ $source ]]; then + + # check file exists + if [[ ! -f $source ]]; then + echo "$source does not exist!" + exit 1 + fi + + name=$(awk '/Name:/ {print $2}' firejail.spec) + version=$(awk '/Version:/ {print $2}' firejail.spec) + expected_filename="${name}-${version}.tar.gz" + + # ensure file name matches spec file expets + if [[ $(basename $source) != $expected_filename ]]; then + echo "source ($source) does not match expected filename ($(basename $expected_filename))" + exit 1 + fi + + create_tmp_dir + cp ${source} ${tmpdir}/SOURCES +else + create_tmp_dir + if ! spectool -C ${tmpdir}/SOURCES -g firejail.spec; then + echo "Failed to fetch firejail source code" + exit 1 + fi +fi + +cp ./firejail.spec "${tmpdir}/SPECS/firejail.spec" + +<<<<<<< HEAD echo "building tar.gz archive" tar -czvf firejail-$VERSION.tar.gz firejail-$VERSION @@ -316,4 +288,9 @@ rpm -qpl RPMS/x86_64/firejail-$VERSION-1.x86_64.rpm cd .. rm -f firejail-$VERSION-1.x86_64.rpm cp rpmbuild/RPMS/x86_64/firejail-$VERSION-1.x86_64.rpm . +======= +rpmbuild --define "_topdir ${tmpdir}" -ba "${tmpdir}/SPECS/firejail.spec" +>>>>>>> d69c2f8a62fca967460265dedd5afa62592264dd +cp ${tmpdir}/RPMS/x86_64/firejail-*-1.x86_64.rpm . +rm -rf "${tmpdir}" -- cgit v1.2.3-70-g09d2