[Vimperator] [PATCH] make install to install in UUID path if present
Bart Trojanowski
bart at jukie.net
Sat Apr 28 07:56:28 PDT 2007
* Martin Stubenschrott <stubenschrott at gmx.net> [070426 10:40]:
> On Thu, Apr 26, 2007 at 08:34:31AM -0400, Bart Trojanowski wrote:
> > Maybe make install should only install if it can find
> > extensions/*/chrome/vimperator.jar, and fail otherwise.
>
> sounds like a good idea.
>
> maybe on failure also writing a message, that the user needs to manually
> install the vimperator xpi for the first time.
This patch will chose the extensions/{UUID}/chrome over
extensions/vimperator at mozdev.org/chrome when running make install.
make info will show which one is to install in and complain if you have
two.
This does not seem to update the version shown in :addons. If someone
can tell me how that's done, I can replicate it in the install target.
-Bart
Index: Makefile
===================================================================
RCS file: /cvs/vimperator/src/Makefile,v
retrieving revision 1.5
diff -u -r1.5 Makefile
--- Makefile 25 Apr 2007 17:11:52 -0000 1.5
+++ Makefile 28 Apr 2007 14:50:38 -0000
@@ -15,7 +15,11 @@
# find the vimperator chrome dir
FIREFOX_DEFAULT = $(wildcard ${HOME}/.mozilla/firefox/*.default)
-VIMPERATOR_CHROME = ${FIREFOX_DEFAULT}/extensions/vimperator at mozdev.org/chrome/
+VIMPERATOR_CHROME_EMAIL = ${FIREFOX_DEFAULT}/extensions/vimperator at mozdev.org/chrome/
+FOUND_CHROME_UUID = $(dir $(wildcard ${FIREFOX_DEFAULT}/extensions/{*-*-*-*-*}/chrome/vimperator.jar))
+FOUND_CHROME_EMAIL = $(dir $(wildcard ${VIMPERATOR_CHROME_EMAIL}))
+FOUND_CHROME = $(if ${FOUND_CHROME_UUID},${FOUND_CHROME_UUID},${FOUND_CHROME_EMAIL})
+INSTALL_CHROME = $(if ${FOUND_CHROME}, ${FOUND_CHROME}, ${VIMPERATOR_CHROME_EMAIL})
# specify V=1 on make line to see more verbose output
Q=$(if ${V},,@)
@@ -44,20 +48,25 @@
@echo -e "jar files $(shell echo ${JAR_FILES} | sed 's/ /\\n /g' )"
@test -d "${FIREFOX_DEFAULT}" || ( echo "E: didn't find your .mozilla/firefox/*.default/ dir" ; false )
@echo "firefox default ${FIREFOX_DEFAULT}"
- @test -d "${VIMPERATOR_CHROME}" || ( echo "E: didn't find an existing vimperator chrome dir" ; false )
- @echo "vimperator chrome ${VIMPERATOR_CHROME}"
+ @test -d "${FOUND_CHROME}" || ( echo "E: didn't find an existing vimperator chrome dir" ; false )
+ @[ -n "${FOUND_CHROME_UUID}" ] && \
+ echo "vimperator chrome ${FOUND_CHROME_UUID}" || true
+ @[ -n "${FOUND_CHROME_EMAIL}" ] && \
+ echo "vimperator chrome ${FOUND_CHROME_EMAIL}" || true
+ @[ -z "${FOUND_CHROME_UUID}" -o -z "${FOUND_CHROME_EMAIL}" ] || \
+ (echo "E: you have multiple vimperator's installed, you need to fix that" ; false)
needs_chrome_dir:
@echo "Checking chrome dir..."
- -${Q}mkdir -p "${VIMPERATOR_CHROME}"
- ${Q}test -d "${VIMPERATOR_CHROME}"
+ -${Q}mkdir -p "${INSTALL_CHROME}"
+ ${Q}test -d "${INSTALL_CHROME}"
xpi: ${RELEASE}
jar: ${JAR}
install: needs_chrome_dir ${JAR}
@echo "Installing JAR..."
- ${Q}cp ${CP_V} ${JAR} ${VIMPERATOR_CHROME}
+ ${Q}cp ${CP_V} ${JAR} ${INSTALL_CHROME}
clean:
@echo "Cleanup..."
More information about the Vimperator
mailing list