瀏覽代碼

The alfred role can now handle the broken libcap-dev packages on Debian and Ubuntu

Till Klocke 9 年之前
父節點
當前提交
49f8abe5f4

+ 8 - 0
roles/alfred/tasks/main.yml

@@ -10,6 +10,14 @@
 - name: Extract alfred source code
   unarchive: src=/usr/src/alfred-{{alfred_version}}.tar.gz dest=/usr/src copy=no
 
+- name: Copy libcap patch to src directory
+  when: alfred_libcap_dev_broken
+  template: src=libcap.patch.j2 dest=/usr/src/alfred-{{alfred_version}}/libcap.patch
+
+- name: Patch makefile to fix broken libcap-dev package on Debian and Ubuntu
+  when: alfred_libcap_dev_broken
+  patch: basedir=/usr/src/alfred-{{alfred_version}} src=/usr/src/alfred-{{alfred_version}}/libcap.patch remote_src=True strip=0
+
 - name: Compile and install alfred
   shell: make && make install
   args:

+ 20 - 0
roles/alfred/templates/libcap.patch.j2

@@ -0,0 +1,20 @@
+--- ../alfred_/Makefile 2015-05-01 23:47:25.179644579 +0000
++++ Makefile    2015-05-02 00:11:56.251644579 +0000
+@@ -83,11 +83,12 @@
+ 
+   ifeq ($(origin LIBCAP_CFLAGS) $(origin LIBCAP_LDLIBS), undefined undefined)
+     LIBCAP_NAME ?= libcap
+-    ifeq ($(shell $(PKG_CONFIG) --modversion $(LIBCAP_NAME) 2>/dev/null),)
+-      $(error No $(LIBCAP_NAME) development libraries found!)
+-    endif
+-    LIBCAP_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBCAP_NAME))
+-    LIBCAP_LDLIBS +=  $(shell $(PKG_CONFIG) --libs $(LIBCAP_NAME))
++#    ifeq ($(shell $(PKG_CONFIG) --modversion $(LIBCAP_NAME) 2>/dev/null),)
++#      $(error No $(LIBCAP_NAME) development libraries found!)
++#    endif
++#    LIBCAP_CFLAGS += $(shell $(PKG_CONFIG) --cflags $(LIBCAP_NAME))
++#    LIBCAP_LDLIBS +=  $(shell $(PKG_CONFIG) --libs $(LIBCAP_NAME))
++    LIBCAP_LDLIBS += -lcap
+   endif
+   CFLAGS += $(LIBCAP_CFLAGS)
+   CPPFLAGS += -DCONFIG_ALFRED_CAPABILITIES

+ 3 - 1
roles/alfred/vars/Debian-jessie.yml

@@ -4,4 +4,6 @@ alfred_build_deps:
   - libcap2
   - libcap-dev
   - libgps21
-  - libgps-dev
+  - libgps-dev
+
+alfred_libcap_dev_broken: false

+ 3 - 1
roles/alfred/vars/Debian-wheezy.yml

@@ -4,4 +4,6 @@ alfred_build_deps:
   - libcap2
   - libcap-dev
   - libgps20
-  - libgps-dev
+  - libgps-dev
+
+alfred_libcap_dev_broken: true

+ 3 - 1
roles/alfred/vars/Ubuntu-trusty.yml

@@ -4,4 +4,6 @@ alfred_build_deps:
   - libcap2
   - libcap-dev
   - libgps20
-  - libgps-dev
+  - libgps-dev
+
+alfred_libcap_dev_broken: true