diff options
Diffstat (limited to 'src/minefield-packager.mk.in')
-rw-r--r-- | src/minefield-packager.mk.in | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/src/minefield-packager.mk.in b/src/minefield-packager.mk.in deleted file mode 100644 index 57b762a..0000000 --- a/src/minefield-packager.mk.in +++ /dev/null @@ -1,145 +0,0 @@ -#!/usr/bin/make -f - -# Copyright (c) 2007-2008 Fabien Tassin <fta@sofaraway.org> -# -# This program is free software; you can redistribute it and/or -# modify it under the terms of the GNU General Public License as -# published by the Free Software Foundation; either version 2, or (at -# your option) any later version. -# -# This program is distributed in the hope that it will be useful, but -# WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# General Public License for more details. -# -# You should have received a copy of the GNU General Public License along -# with this program; if not, write to the Free Software Foundation, Inc., -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - -##################################################################### - -URLBASE := http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/ -MACHINE := $(shell uname -m) -WORKDIR := temp-$(shell echo $$$$) -BUILDSTAMP := $(WORKDIR)/build-stamp -PKGNAME := firefox-minefield -TRUNK_SIG := mozilla-central - -MOZDEVSCRIPT_DIR := minefield-packager -LIBDIR := $(MOZDEVSCRIPT_DIR)/ - -ifeq (,$(filter i686 x86_64,$(MACHINE))) -$(error $(MACHINE) is not a supported platform) -endif - -ifeq (,$(DEBIAN_DATE)) -SNAPSHOT=latest -else -SNAPSHOT=$(DEBIAN_DATE) -endif - -LINE := $(shell wget -qO - $(URLBASE)$(SNAPSHOT)-$(TRUNK_SIG)/ | grep linux-$(MACHINE).tar.bz2) - -ifeq (,$(LINE)) -$(error Could not find a valid archive for $(MACHINE)) -endif - -FILE := $(shell echo '$(LINE)' | cut -d'"' -f8) - -############################# - -GARBAGE += $(WORKDIR) - -.PHONY: build -build: $(BUILDSTAMP) make_deb clean - -list: - @echo Available snapshots are: - @wget -qO - $(URLBASE) | grep -- -$(TRUNK_SIG)/ | cut -d'"' -f8,11 | sed -e 's,\(.*\)-$(TRUNK_SIG)/">\(.*\) .*,\1 \2,' - -$(BUILDSTAMP): - rm -rf $(WORKDIR) - mkdir -p $(WORKDIR)/debian/tmp/DEBIAN $(WORKDIR)/debian/tmp/usr/lib - wget -P $(WORKDIR) $(URLBASE)$(SNAPSHOT)-$(TRUNK_SIG)/$(FILE) - tar -C $(WORKDIR)/debian/tmp -jxf $(WORKDIR)/$(FILE) - mv $(WORKDIR)/debian/tmp/firefox $(WORKDIR)/debian/tmp/usr/lib/$(PKGNAME) - touch $(BUILDSTAMP) - -############################# - -make_deb_targets = \ - $(WORKDIR)/debian/tmp/usr/bin/$(PKGNAME) \ - $(WORKDIR)/debian/tmp/usr/share/applications/$(PKGNAME).desktop \ - $(WORKDIR)/debian/tmp/usr/share/pixmaps/$(PKGNAME).png \ - $(WORKDIR)/debian/tmp/DEBIAN/changelog \ - $(WORKDIR)/debian/tmp/DEBIAN/control \ - $(WORKDIR)/debian/tmp/DEBIAN/md5sums \ - $(NULL) - -make_deb: BUILDID = $(shell grep ^BuildID $(WORKDIR)/debian/tmp/usr/lib/$(PKGNAME)/platform.ini | cut -d= -f2) -make_deb: VERSION = $(shell echo $(FILE) | sed -e 's/^[^-]*-//' | cut -d. -f1,2 | sed -e 's/pre//' -e 's/\([ab]\)/~\1/') -make_deb: PACKDATE := $(shell date -R) -make_deb: $(BUILDSTAMP) $(WORKDIR)/shlibs.local $(make_deb_targets) - fakeroot dpkg-deb -b $(WORKDIR)/debian/tmp . - -############################# - -$(WORKDIR)/debian/tmp/usr/bin/$(PKGNAME): $(BUILDSTAMP) - mkdir -p $(WORKDIR)/debian/tmp/usr/bin - cd $(WORKDIR)/debian/tmp/usr/bin ; ln -s ../lib/$(PKGNAME)/firefox $(PKGNAME) - -############################# - -$(WORKDIR)/debian/tmp/usr/share/applications/$(PKGNAME).desktop: $(LIBDIR)debian/pkgname.desktop.in $(BUILDSTAMP) - mkdir -p $(WORKDIR)/debian/tmp/usr/share/applications - cat $< | sed \ - -e 's/@PKGNAME@/$(PKGNAME)/g' \ - -e 's/@VERSION@/$(subst ~, ,$(VERSION))pre/g' \ - -e 's/@BUILDID@/$(BUILDID)/g' \ - > $@ - -############################# - -$(WORKDIR)/debian/tmp/usr/share/pixmaps/$(PKGNAME).png: $(BUILDSTAMP) - mkdir -p $(WORKDIR)/debian/tmp/usr/share/pixmaps - cp $(WORKDIR)/debian/tmp/usr/lib/$(PKGNAME)/icons/mozicon128.png $(WORKDIR)/debian/tmp/usr/share/pixmaps/$(PKGNAME).png - -############################# - -$(WORKDIR)/debian/tmp/DEBIAN/changelog: $(LIBDIR)debian/changelog.in $(BUILDSTAMP) - cat $< | sed \ - -e 's/@PKGNAME@/$(PKGNAME)/g' \ - -e 's/@VERSION@/$(VERSION)~build$(BUILDID)/g' \ - -e 's/@DATE@/$(PACKDATE)/g' \ - > $@ - -############################# - -$(WORKDIR)/debian/tmp/DEBIAN/control: DEPENDS = $(shell sed -e 's/, $$//' $(WORKDIR)/deps) -$(WORKDIR)/debian/tmp/DEBIAN/control: ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH) -$(WORKDIR)/debian/tmp/DEBIAN/control: $(LIBDIR)debian/control.in $(BUILDSTAMP) - cat $< | sed \ - -e 's/@PKGNAME@/$(PKGNAME)/g' \ - -e 's/@ARCH@/$(ARCH)/g' \ - -e 's/@VERSION@/$(VERSION)~build$(BUILDID)/g' \ - -e 's/@DEPENDS@/$(DEPENDS)/g' \ - > $@ - -############################# - -$(WORKDIR)/shlibs.local: SOFILES = $(shell cd $(WORKDIR)/debian/tmp ; find usr -type f -print0 | xargs -0 file | awk '$$2 ~ /^ELF/ {print $$1}' | sed 's/:$$//') -$(WORKDIR)/shlibs.local: SONAMES = $(foreach sofile,$(SOFILES),$(shell objdump -p $(WORKDIR)/debian/tmp/$(sofile) | awk '$$1 == "SONAME" && $$2 !~ /^\.\// {print $$2}')) -$(WORKDIR)/shlibs.local: - (echo "Source: $(PKGNAME)"; echo ; echo "Package: $(PKGNAME)" ; echo "Depends:") > $(WORKDIR)/debian/control - (for soname in $(SONAMES) ; do echo $$soname | sed -e 's/\(.*\)\.so\.\(.*\)/\1 \2 \1-\2/' -e 's/.*\.so$$//' ; done) | sort -u | grep -vE '^$$' > $(WORKDIR)/shlibs.local || test $$? = 1 - cd $(WORKDIR); (for file in $(SOFILES); do LD_LIBRARY_PATH=debian/tmp/usr/lib/$(PKGNAME) dpkg-shlibdeps -O -Lshlibs.local "debian/tmp/$$file" 2> /dev/null | sed -e 's/^shlibs:Depends=//' -e 's/, /\n/g'; done) | sort -u | tr '\n' ',' | sed -e 's/ *,/, /g' > deps - rm -f $(WORKDIR)/shlibs.local $(WORKDIR)/debian/control - -############################# - -$(WORKDIR)/debian/tmp/DEBIAN/md5sums: - (cd $(WORKDIR)/debian/tmp && find usr -type f -print0 | xargs -0 md5sum) > $@ - -.PHONY: clean -clean: - @rm -rf $(GARBAGE) |