From 71515d6a9ca24ff625a09d859909d3bb78196f25 Mon Sep 17 00:00:00 2001 From: Mario Limonciello Date: Mon, 4 Jun 2018 07:48:22 -0500 Subject: [PATCH] trivial: snap: Split up to a snapcraft.yaml for stable and unstable builds This allows easily building all the dependencies but makes snaps more likely to be stable. --- .../{snapcraft.yaml => snapcraft-master.yaml} | 2 +- contrib/snap/snapcraft-stable.yaml | 242 ++++++++++++++++++ snap/snapcraft.yaml | 2 +- 3 files changed, 244 insertions(+), 2 deletions(-) rename contrib/snap/{snapcraft.yaml => snapcraft-master.yaml} (99%) create mode 100644 contrib/snap/snapcraft-stable.yaml diff --git a/contrib/snap/snapcraft.yaml b/contrib/snap/snapcraft-master.yaml similarity index 99% rename from contrib/snap/snapcraft.yaml rename to contrib/snap/snapcraft-master.yaml index e157e6456..1a70a6736 100644 --- a/contrib/snap/snapcraft.yaml +++ b/contrib/snap/snapcraft-master.yaml @@ -1,4 +1,4 @@ -name: fwupdtool +name: fwupd version-script: cat $SNAPCRAFT_STAGE/version version: 'daily' summary: A standalone version of fwupd to install newer firmware updates diff --git a/contrib/snap/snapcraft-stable.yaml b/contrib/snap/snapcraft-stable.yaml new file mode 100644 index 000000000..f653c5fcd --- /dev/null +++ b/contrib/snap/snapcraft-stable.yaml @@ -0,0 +1,242 @@ +name: fwupd +version-script: cat $SNAPCRAFT_STAGE/version +version: 'daily' +summary: A standalone version of fwupd to install newer firmware updates +description: | + This is a tool that can be used to install firmware updates on devices + not yet supported by the version of fwupd distributed with the OS. + +grade: devel +confinement: classic + +architectures: + - amd64 + +apps: + fwupdtool: + command: fwupdtool.wrapper + completer: + usr/share/bash-completion/completions/fwupdtool + +parts: + libefivar-dev: + plugin: make + source: https://github.com/rhboot/efivar/releases/download/35/efivar-35.tar.bz2 + build-packages: + - libpopt-dev + organize: + usr/lib64: usr/lib/x86_64-linux-gnu + usr/lib: usr/lib/i386-linux-gnu + prime: + - -usr/include + - -usr/bin + - -usr/share/man + - -usr/lib/*/pkgconfig + #adjust the paths from libefivar + libefivar-fixpkgconfig: + plugin: make + source: contrib/snap/libefivar-fixpkgconfig + make-parameters: + - SNAPCRAFT_STAGE=$SNAPCRAFT_STAGE + after: [libefivar-dev] + libsmbios: + plugin: autotools + source: https://github.com/dell/libsmbios + source-type: git + build-packages: + - libxml2-dev + - pkg-config + - autoconf + - automake + - libtool + - autopoint + prime: + - -include/ + - -lib/pkgconfig + - -lib/python3.5 + - -sbin/ + - -share/ + - -etc/ + - -lib/*.a + libfwup-dev: + plugin: make + source: https://github.com/rhboot/fwupdate/releases/download/11/fwupdate-11.tar.bz2 + make-parameters: + - EFIDIR=ubuntu + - GNUEFIDIR=/usr/lib + - LIBDIR=$SNAPCRAFT_STAGE/usr/lib/x86_64-linux-gnu + - libdir=/usr/lib/x86_64-linux-gnu + - PKG_CONFIG_PATH=$SNAPCRAFT_STAGE/usr/lib/x86_64-linux-gnu/pkgconfig + - --eval=export PKG_CONFIG_PATH + build-packages: + - elfutils + - gnu-efi + - libasm1 + - libdw1 + prime: + - -usr/lib/debug + - -usr/lib/systemd + - -usr/src + - -usr/share + - -usr/lib/*/pkgconfig + - -usr/include + - -usr/bin + after: [libsmbios, libefivar-fixpkgconfig] + meson: + plugin: python + source: https://github.com/mesonbuild/meson/releases/download/0.46.1/meson-0.46.1.tar.gz + build-packages: + - ninja-build + prime: + - -bin + - -etc + - -lib + - -share + - -usr + appstream-glib-dev: + plugin: meson + meson-parameters: [--prefix=/usr, -Dgtk-doc=false, -Dintrospection=false, -Dman=false, -Drpm=false] + source: https://github.com/hughsie/appstream-glib/archive/appstream_glib_0_7_9.tar.gz + build-packages: + - python3-pip + - gperf + - intltool + - libarchive-dev + - libgcab-dev + - libgdk-pixbuf2.0-dev + - libgirepository1.0-dev + - libglib2.0-dev + - libgtk-3-dev + - libjson-glib-dev + - libsoup2.4-dev + - libsqlite3-dev + - libyaml-dev + - libstemmer-dev + - uuid-dev + - xmlto + stage-packages: + - libarchive13 + - libgcab-1.0-0 + - libsoup2.4-1 + - libstemmer0d + - libgdk-pixbuf2.0-0 + prime: + - -usr/bin + - -usr/include + - -usr/share/doc + - -usr/lib/*/asb-plugins-5 + - -usr/share/bash-completion + - -usr/share/aclocal + - -usr/lib/*/pkgconfig + - -usr/share/installed-tests + - -usr/lib/systemd + - -usr/lib/glib-networking + - -usr/lib/dconf + - -usr/share/X11 + - -usr/share/GConf + - -usr/share/dbus-1 + - -usr/share/glib-2.0/schemas + - -usr/share/lintian + - -usr/share/man + after: [meson] + gudev: + plugin: autotools + source: https://github.com/GNOME/libgudev/archive/232.tar.gz + configflags: + - --disable-umockdev + build-packages: + - libglib2.0-dev + - pkg-config + - libudev-dev + - gtk-doc-tools + - gnome-common + prime: + - -include + - -lib/girepository-1.0 + - -lib/pkgconfig + - -share/ + fwupd: + plugin: meson + meson-parameters: [--prefix=/usr, + --libexecdir=/usr/lib, + -Dtests=false, + -Ddaemon=false, + -Dgtkdoc=false, + -Dplugin_uefi_labels=false, + -Dintrospection=false, + -Dsystemd=false, + -Dman=false, + -Dconsolekit=false, + -Dpkcs7=false, + -Dgpg=false] + source: . + source-type: git + override-build: | + snapcraftctl build + echo $(git describe HEAD) > $SNAPCRAFT_STAGE/version + build-packages: + - bash-completion + - gcab + - gettext + - libarchive-dev + - libelf-dev + - libgcab-dev + - libglib2.0-dev + - libgpgme11-dev + - libgusb-dev + - libjson-glib-dev + - libsoup2.4-dev + - libsqlite3-dev + - locales + - pkg-config + stage-packages: + - libassuan0 + - liblcms2-2 + - libelf1 + - libgpgme11 + - libjson-glib-1.0-0 + - libgusb2 + prime: + - -usr/bin + - -usr/sbin + - -usr/lib/gnupg + - -usr/share/mime + - -usr/share/man + - -usr/share/GConf + - -etc/X11 + - -etc/ldap + - -etc/logcheck + - -usr/lib/dconf + - -usr/lib/gcc + - -usr/lib/glib-networking + - -usr/lib/gnupg2 + - -usr/lib/sasl2 + - -usr/lib/systemd + - -usr/lib/*/audit + - -usr/share/glib-2.0/schemas + - -usr/share/X11 + - -usr/include + - -etc/dbus-1 + - -lib/systemd + - -lib/udev + - -usr/lib/fwupd/fwupd + - -usr/share/dbus-1 + - -usr/share/gnupg + - -usr/share/lintian + - -usr/share/pkgconfig + - -usr/share/installed-tests + - -usr/share/polkit-1 + - -usr/share/vala + - -usr/share/doc + - -usr/share/gnupg2 + - -usr/share/info + - -usr/share/gir-1.0 + - -usr/share/upstart + - -usr/lib/*/glib-2.0 + - -usr/lib/*/pkgconfig + after: [appstream-glib-dev, libfwup-dev, gudev] + fwupdtool-wrapper: + plugin: dump + source: contrib/snap + stage: + - fwupdtool.wrapper diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml index 15469b4ee..25d9b6844 120000 --- a/snap/snapcraft.yaml +++ b/snap/snapcraft.yaml @@ -1 +1 @@ -../contrib/snap/snapcraft.yaml \ No newline at end of file +../contrib/snap/snapcraft-stable.yaml \ No newline at end of file