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.

Cherry-picked from master. The zip file contains everything that is
needed for extensions, but schemas and translations are not loaded
from there, as convenience.js cannot be supported in 3.2
This commit is contained in:
Giovanni Campagna
2011-11-19 15:42:27 +01:00
parent 3c5b893830
commit da622f3f61
8 changed files with 38 additions and 14 deletions
+21
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
+1 -9
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)
+1 -1
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@
+1 -1
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@
+1 -1
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@
@@ -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@
+1 -1
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
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)