Add capability to build extension zip-files

Now, typing "make zip-file" will create a standard zip-file for each
extension, with everything necessary, including translations and GSettings schemas.
These files can then be installed with the tweak-tool or uploaded
at extensions.gnome.org

Based on an earlier patch by Jasper St. Pierre.
This commit is contained in:
Giovanni Campagna
2011-11-19 15:42:27 +01:00
parent f61af132e7
commit 9e4156a706
8 changed files with 38 additions and 14 deletions

View File

@@ -3,3 +3,24 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = extensions po
DISTCHECK_CONFIGURE_FLAGS = --enable-extensions=all
include include.mk
zip-file: all
-rm -fR $(builddir)/_build
-rm -fR $(builddir)/zip-files
mkdir $(builddir)/_build; \
mkdir $(builddir)/zip-files; \
$(MAKE) install DESTDIR="`pwd`/_build"; \
for i in $(ENABLED_EXTENSIONS); do \
mv "`pwd`/_build/$(topextensiondir)/$${i}$(extensionbase)" "`pwd`/_build/"; \
cp -r "`pwd`/_build/$(datadir)/locale" "`pwd`/_build/$${i}$(extensionbase)"; \
if [ -f "`pwd`/_build/$(datadir)/glib-2.0/schemas/$(gschemabase).$${i}.gschema.xml" ]; then \
mkdir "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
mv "`pwd`/_build/$(datadir)/glib-2.0/schemas/$(gschemabase).$${i}.gschema.xml" "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
glib-compile-schemas "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
fi; \
(cd "`pwd`/_build/$${i}$(extensionbase)"; \
zip -qr "$(abs_builddir)/zip-files/$${i}$(extensionbase).shell-extension.zip" .; \
); \
done

View File

@@ -1,12 +1,4 @@
extensionurl = http://git.gnome.org/gnome-shell-extensions
# Change these to modify how installation is performed
topextensiondir = $(datadir)/gnome-shell/extensions
extensionbase = @gnome-shell-extensions.gcampax.github.com
uuid = $(EXTENSION_ID)$(extensionbase)
extensiondir = $(topextensiondir)/$(uuid)
include $(top_srcdir)/include.mk
dist_extension_DATA = extension.js stylesheet.css
nodist_extension_DATA = metadata.json $(EXTRA_EXTENSION)

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = alternate-tab
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.alternate-tab.gschema.xml.in
gschemas_in = $(gschemabase).alternate-tab.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = auto-move-windows
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
gschemas_in = $(gschemabase).auto-move-windows.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = dock
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.dock.gschema.xml.in
gschemas_in = $(gschemabase).dock.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = native-window-placement
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.native-window-placement.gschema.xml.in
gschemas_in = $(gschemabase).native-window-placement.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = user-theme
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.user-theme.gschema.xml.in
gschemas_in = $(gschemabase).user-theme.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

11
include.mk Normal file
View File

@@ -0,0 +1,11 @@
extensionurl = http://git.gnome.org/gnome-shell-extensions
# Change these to modify how installation is performed
topextensiondir = $(datadir)/gnome-shell/extensions
extensionbase = @gnome-shell-extensions.gcampax.github.com
gschemabase = org.gnome.shell.extensions
uuid = $(EXTENSION_ID)$(extensionbase)
extensiondir = $(topextensiondir)/$(uuid)