SHA256
1
0
forked from pool/appimaged
appimaged/appimaged.spec

108 lines
3.3 KiB
RPMSpec
Raw Normal View History

#
# spec file for package
#
# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: appimaged
Version: 9~pre.1495805837.d05eac1
Release: 0
License: MIT
Url: http://www.appimage.org
Summary: Daemon handles (un)registering AppImages with the system
Group: System/Daemons
Source0: AppImageKit-%version.tar.xz
Source1: appimaged.service
BuildRequires: glib2-devel libpng-devel
BuildRequires: inotify-tools-devel
BuildRequires: cairo-devel
BuildRequires: fuse-devel
BuildRequires: xz-devel
BuildRequires: libarchive-devel
BuildRequires: openssl-devel
BuildRequires: squashfs
BuildRequires: libtool
BuildRequires: autoconf
BuildRequires: automake
Requires: zsync
%description
appimaged is a daemon that handles registering and unregistering AppImages
with the system (e.g., menu entries, icons, MIME types, binary delta updates,
and such).
%prep
%setup -q -n AppImageKit-%version
sed -i -e s,^version=.*,version=%version, build.sh
%build
export PATH=$PWD/bin:$PATH
cd squashfuse
patch -p1 < ../squashfuse.patch
export ACLOCAL_FLAGS="-I /usr/share/aclocal"
libtoolize --force
aclocal
autoheader
automake --force-missing --add-missing
autoreconf -fi || true # Errors out, but the following succeeds then?
autoconf
sed -i '/PKG_CHECK_MODULES.*/,/,:./d' configure # https://github.com/vasi/squashfuse/issues/12
./configure --disable-demo --disable-high-level --without-lzo --without-lz4
make
cd ..
CC=gcc
$CC -std=gnu99 -o appimaged -I./squashfuse/ ./getsection.c ./notify.c ./elf.c ./appimaged.c \
-D_FILE_OFFSET_BITS=64 -DHAVE_LIBARCHIVE3=0 -DVERSION_NUMBER=\"%version\" \
./squashfuse/.libs/libsquashfuse.a ./squashfuse/.libs/libfuseprivate.a \
-Wl,-Bdynamic -linotifytools -larchive \
-Wl,--as-needed \
$(pkg-config --cflags --libs glib-2.0) \
$(pkg-config --cflags --libs gio-2.0) \
$(pkg-config --cflags --libs cairo) \
-ldl -lpthread -lz -llzma
# basic tools for validation
$CC -o appimage.digest ./getsection.c ./digest.c -Wl,-Bdynamic -lssl -lcrypto -lz -ldl
$CC -o appimage.validate ./getsection.c ./validate.c -Wl,-Bdynamic -lssl -lcrypto \
-Wl,--as-needed $(pkg-config --cflags --libs glib-2.0) -lz -ldl
%install
mkdir -p %{buildroot}%{_bindir}
install -m 0755 appimaged appimage.digest appimage.validate %{buildroot}%{_bindir}
# install systemd per user service
mkdir -p %{buildroot}%{_userunitdir}
install -m 0644 %{SOURCE1} %{buildroot}%{_userunitdir}/appimaged.service
%post
%systemd_user_post appimaged.service
%preun
%systemd_user_preun appimaged.service
%postun
%systemd_user_postun appimaged.service
%files
%defattr(-,root,root)
%doc LICENSE README.md
%{_bindir}/appimage.digest
%{_bindir}/appimage.validate
%{_bindir}/appimaged
%{_userunitdir}/appimaged.service