Mesa (robust-tarballs): make: Determine tarballs contents via git ls-files.

Jose Fonseca jrfonseca at kemper.freedesktop.org
Sat Jul 9 12:38:38 UTC 2011


Module: Mesa
Branch: robust-tarballs
Commit: 34983337f9d7db984e9f0117808274106d262110
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=34983337f9d7db984e9f0117808274106d262110

Author: José Fonseca <jose.r.fonseca at gmail.com>
Date:   Sat Jul  9 11:59:29 2011 +0100

make: Determine tarballs contents via git ls-files.

The wildcards were a mess:
- lots of files for non Linux platforms missing
- several files listed and archived twice

Using git-ls-files ensures things are not loss when making the tarballs.

---

 .gitignore |    1 +
 Makefile   |  290 ++++++------------------------------------------------------
 2 files changed, 30 insertions(+), 261 deletions(-)

diff --git a/.gitignore b/.gitignore
index df90c4f..a9bc5d4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -29,4 +29,5 @@ cscope*
 .scon*
 config.py
 build
+manifest.txt
 .dir-locals.el
diff --git a/Makefile b/Makefile
index ba24650..6c222ff 100644
--- a/Makefile
+++ b/Makefile
@@ -187,261 +187,27 @@ VERSION=7.12-devel
 DIRECTORY = Mesa-$(VERSION)
 LIB_NAME = MesaLib-$(VERSION)
 
-# This is part of MAIN_FILES
-MAIN_ES_FILES = \
-	$(DIRECTORY)/src/mesa/main/*.xml				\
-	$(DIRECTORY)/src/mesa/main/*.py					\
-	$(DIRECTORY)/src/mesa/main/*.dtd
-
-MAIN_FILES = \
-	$(DIRECTORY)/Makefile*						\
-	$(DIRECTORY)/configure						\
-	$(DIRECTORY)/configure.ac					\
-	$(DIRECTORY)/acinclude.m4					\
-	$(DIRECTORY)/aclocal.m4						\
-	$(DIRECTORY)/SConstruct						\
-	$(DIRECTORY)/common.py						\
-	$(DIRECTORY)/scons/*py						\
-	$(DIRECTORY)/bin/config.guess					\
-	$(DIRECTORY)/bin/config.sub					\
-	$(DIRECTORY)/bin/extract_git_sha1				\
-	$(DIRECTORY)/bin/install-sh					\
-	$(DIRECTORY)/bin/mklib						\
-	$(DIRECTORY)/bin/minstall					\
-	$(DIRECTORY)/bin/version.mk					\
-	$(DIRECTORY)/configs/[a-z]*					\
-	$(DIRECTORY)/docs/*.html					\
-	$(DIRECTORY)/docs/COPYING					\
-	$(DIRECTORY)/docs/README.*					\
-	$(DIRECTORY)/docs/RELNOTES*					\
-	$(DIRECTORY)/docs/*.spec					\
-	$(DIRECTORY)/include/GL/gl.h					\
-	$(DIRECTORY)/include/GL/glext.h					\
-	$(DIRECTORY)/include/GL/gl_mangle.h				\
-	$(DIRECTORY)/include/GL/glu.h					\
-	$(DIRECTORY)/include/GL/glu_mangle.h				\
-	$(DIRECTORY)/include/GL/glx.h					\
-	$(DIRECTORY)/include/GL/glxext.h				\
-	$(DIRECTORY)/include/GL/glx_mangle.h				\
-	$(DIRECTORY)/include/GL/glfbdev.h				\
-	$(DIRECTORY)/include/GL/mesa_wgl.h				\
-	$(DIRECTORY)/include/GL/osmesa.h				\
-	$(DIRECTORY)/include/GL/vms_x_fix.h				\
-	$(DIRECTORY)/include/GL/wglext.h				\
-	$(DIRECTORY)/include/GL/wmesa.h					\
-	$(DIRECTORY)/include/pci_ids/*.h				\
-	$(DIRECTORY)/include/c99/*.h					\
-	$(DIRECTORY)/src/getopt/SConscript				\
-	$(DIRECTORY)/src/getopt/getopt*.[ch]				\
-	$(DIRECTORY)/src/glsl/Makefile					\
-	$(DIRECTORY)/src/glsl/Makefile.template				\
-	$(DIRECTORY)/src/glsl/SConscript				\
-	$(DIRECTORY)/src/glsl/*.[ch]					\
-	$(DIRECTORY)/src/glsl/*.ll					\
-	$(DIRECTORY)/src/glsl/*.yy					\
-	$(DIRECTORY)/src/glsl/*.[cly]pp					\
-	$(DIRECTORY)/src/glsl/README					\
-	$(DIRECTORY)/src/glsl/glcpp/*.[chly]				\
-	$(DIRECTORY)/src/glsl/glcpp/README				\
-	$(DIRECTORY)/src/glsl/builtins					\
-	$(DIRECTORY)/src/Makefile					\
-	$(DIRECTORY)/src/SConscript					\
-	$(DIRECTORY)/src/mesa/Makefile*					\
-	$(DIRECTORY)/src/mesa/SConscript				\
-	$(DIRECTORY)/src/mesa/sources.mak				\
-	$(DIRECTORY)/src/mesa/descrip.mms				\
-	$(DIRECTORY)/src/mesa/gl.pc.in					\
-	$(DIRECTORY)/src/mesa/osmesa.pc.in				\
-	$(DIRECTORY)/src/mesa/depend					\
-	$(MAIN_ES_FILES)						\
-	$(DIRECTORY)/src/mesa/main/*.[chS]				\
-	$(DIRECTORY)/src/mesa/main/*.cpp				\
-	$(DIRECTORY)/src/mesa/main/descrip.mms				\
-	$(DIRECTORY)/src/mesa/math/*.[ch]				\
-	$(DIRECTORY)/src/mesa/math/descrip.mms				\
-	$(DIRECTORY)/src/mesa/program/*.[chly]				\
-	$(DIRECTORY)/src/mesa/program/*.cpp				\
-	$(DIRECTORY)/src/mesa/program/descrip.mms			\
-	$(DIRECTORY)/src/mesa/swrast/*.[ch]				\
-	$(DIRECTORY)/src/mesa/swrast/descrip.mms			\
-	$(DIRECTORY)/src/mesa/swrast_setup/*.[ch]			\
-	$(DIRECTORY)/src/mesa/swrast_setup/descrip.mms			\
-	$(DIRECTORY)/src/mesa/vbo/*.[chS]				\
-	$(DIRECTORY)/src/mesa/vbo/descrip.mms				\
-	$(DIRECTORY)/src/mesa/tnl/*.[chS]				\
-	$(DIRECTORY)/src/mesa/tnl/descrip.mms				\
-	$(DIRECTORY)/src/mesa/tnl_dd/*.[ch]				\
-	$(DIRECTORY)/src/mesa/tnl_dd/imm/*.[ch]				\
-	$(DIRECTORY)/src/mesa/tnl_dd/imm/NOTES.imm			\
-	$(DIRECTORY)/src/mesa/drivers/Makefile				\
-	$(DIRECTORY)/src/mesa/drivers/beos/*.cpp			\
-	$(DIRECTORY)/src/mesa/drivers/beos/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/common/*.[ch]			\
-	$(DIRECTORY)/src/mesa/drivers/common/descrip.mms		\
-	$(DIRECTORY)/src/mesa/drivers/fbdev/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/fbdev/glfbdev.c			\
-	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/osmesa/Makefile.win		\
-	$(DIRECTORY)/src/mesa/drivers/osmesa/descrip.mms		\
-	$(DIRECTORY)/src/mesa/drivers/osmesa/osmesa.def			\
-	$(DIRECTORY)/src/mesa/drivers/osmesa/*.[ch]			\
-	$(DIRECTORY)/src/mesa/drivers/dri/r300/compiler/*.[ch]		\
-	$(DIRECTORY)/src/mesa/drivers/dri/r300/compiler/Makefile	\
-	$(DIRECTORY)/src/mesa/drivers/dri/r300/compiler/SConscript	\
-	$(DIRECTORY)/src/mesa/drivers/windows/*/*.[ch]			\
-	$(DIRECTORY)/src/mesa/drivers/windows/*/*.def			\
-	$(DIRECTORY)/src/mesa/drivers/x11/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/x11/descrip.mms			\
-	$(DIRECTORY)/src/mesa/drivers/x11/*.[ch]			\
-	$(DIRECTORY)/src/mesa/ppc/*.[ch]				\
-	$(DIRECTORY)/src/mesa/sparc/*.[chS]				\
-	$(DIRECTORY)/src/mesa/x86/Makefile				\
-	$(DIRECTORY)/src/mesa/x86/*.[ch]				\
-	$(DIRECTORY)/src/mesa/x86/*.S					\
-	$(DIRECTORY)/src/mesa/x86/rtasm/*.[ch]				\
-	$(DIRECTORY)/src/mesa/x86-64/*.[chS]				\
-	$(DIRECTORY)/src/mesa/x86-64/Makefile
-
-MAPI_FILES = \
-	$(DIRECTORY)/include/GLES/*.h					\
-	$(DIRECTORY)/include/GLES2/*.h					\
-	$(DIRECTORY)/include/VG/*.h					\
-	$(DIRECTORY)/src/mapi/es?api/Makefile				\
-	$(DIRECTORY)/src/mapi/es?api/*.pc.in				\
-	$(DIRECTORY)/src/mapi/glapi/gen/Makefile			\
-	$(DIRECTORY)/src/mapi/glapi/gen/*.xml				\
-	$(DIRECTORY)/src/mapi/glapi/gen/*.py				\
-	$(DIRECTORY)/src/mapi/glapi/gen/*.dtd				\
-	$(DIRECTORY)/src/mapi/glapi/gen-es/Makefile			\
-	$(DIRECTORY)/src/mapi/glapi/gen-es/*.xml			\
-	$(DIRECTORY)/src/mapi/glapi/gen-es/*.py				\
-	$(DIRECTORY)/src/mapi/glapi/Makefile				\
-	$(DIRECTORY)/src/mapi/glapi/SConscript				\
-	$(DIRECTORY)/src/mapi/glapi/sources.mak				\
-	$(DIRECTORY)/src/mapi/glapi/*.[chS]				\
-	$(DIRECTORY)/src/mapi/mapi/mapi_abi.py				\
-	$(DIRECTORY)/src/mapi/mapi/sources.mak				\
-	$(DIRECTORY)/src/mapi/mapi/*.[ch]				\
-	$(DIRECTORY)/src/mapi/shared-glapi/SConscript			\
-	$(DIRECTORY)/src/mapi/shared-glapi/Makefile			\
-	$(DIRECTORY)/src/mapi/vgapi/Makefile				\
-	$(DIRECTORY)/src/mapi/vgapi/SConscript				\
-	$(DIRECTORY)/src/mapi/vgapi/vgapi.csv				\
-	$(DIRECTORY)/src/mapi/vgapi/vg.pc.in
-
-EGL_FILES = \
-	$(DIRECTORY)/include/KHR/*.h					\
-	$(DIRECTORY)/include/EGL/*.h					\
-	$(DIRECTORY)/src/egl/Makefile					\
-	$(DIRECTORY)/src/egl/*/Makefile					\
-	$(DIRECTORY)/src/egl/*/Makefile.template			\
-	$(DIRECTORY)/src/egl/*/*.[ch]					\
-	$(DIRECTORY)/src/egl/*/*/Makefile				\
-	$(DIRECTORY)/src/egl/*/*/*.[ch]					\
-	$(DIRECTORY)/src/egl/wayland/wayland-drm/protocol/*.xml		\
-	$(DIRECTORY)/src/egl/wayland/wayland-egl/*.pc.in		\
-	$(DIRECTORY)/src/egl/main/SConscript				\
-	$(DIRECTORY)/src/egl/main/*.pc.in				\
-	$(DIRECTORY)/src/egl/main/*.def
-
-GBM_FILES = \
-	$(DIRECTORY)/src/gbm/Makefile					\
-	$(DIRECTORY)/src/gbm/main/*.pc.in				\
-	$(DIRECTORY)/src/gbm/main/*.[ch]				\
-	$(DIRECTORY)/src/gbm/main/Makefile				\
-	$(DIRECTORY)/src/gbm/backends/Makefile				\
-	$(DIRECTORY)/src/gbm/backends/Makefile.template			\
-	$(DIRECTORY)/src/gbm/backends/*/*.[ch]				\
-	$(DIRECTORY)/src/gbm/backends/*/Makefile			\
-
-GALLIUM_FILES = \
-	$(DIRECTORY)/src/mesa/state_tracker/*[ch]			\
-	$(DIRECTORY)/src/gallium/Makefile				\
-	$(DIRECTORY)/src/gallium/Makefile.template			\
-	$(DIRECTORY)/src/gallium/SConscript				\
-	$(DIRECTORY)/src/gallium/targets/Makefile.dri			\
-	$(DIRECTORY)/src/gallium/targets/Makefile.xorg			\
-	$(DIRECTORY)/src/gallium/targets/SConscript.dri			\
-	$(DIRECTORY)/src/gallium/*/Makefile				\
-	$(DIRECTORY)/src/gallium/*/SConscript				\
-	$(DIRECTORY)/src/gallium/*/*/Makefile				\
-	$(DIRECTORY)/src/gallium/*/*/SConscript				\
-	$(DIRECTORY)/src/gallium/*/*/*.[ch]				\
-	$(DIRECTORY)/src/gallium/auxiliary/gallivm/*.cpp		\
-	$(DIRECTORY)/src/gallium/*/*/*.py				\
-	$(DIRECTORY)/src/gallium/*/*/*.csv				\
-	$(DIRECTORY)/src/gallium/*/*/*/Makefile				\
-	$(DIRECTORY)/src/gallium/*/*/*/SConscript			\
-	$(DIRECTORY)/src/gallium/*/*/*/*.[ch]				\
-	$(DIRECTORY)/src/gallium/*/*/*/*.py
-
-APPLE_DRI_FILES = \
-	$(DIRECTORY)/src/glx/apple/Makefile 				\
-	$(DIRECTORY)/src/glx/apple/*.[ch]
-
-DRI_FILES = \
-	$(DIRECTORY)/include/GL/internal/dri_interface.h		\
-	$(DIRECTORY)/include/GL/internal/sarea.h			\
-	$(DIRECTORY)/src/glx/Makefile					\
-	$(DIRECTORY)/src/glx/*.[ch]					\
-	$(APPLE_DRI_FILES)						\
-	$(DIRECTORY)/src/mesa/drivers/dri/Makefile*			\
-	$(DIRECTORY)/src/mesa/drivers/dri/dri.pc.in			\
-	$(DIRECTORY)/src/mesa/drivers/dri/common/xmlpool/*.po		\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/*.[chS]			\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/*.cpp			\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/*/*.[chS]			\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/*/Makefile			\
-	$(DIRECTORY)/src/mesa/drivers/dri/*/Doxyfile
-
-SGI_GLU_FILES = \
-	$(DIRECTORY)/src/glu/Makefile					\
-	$(DIRECTORY)/src/glu/glu.pc.in					\
-	$(DIRECTORY)/src/glu/sgi/Makefile				\
-	$(DIRECTORY)/src/glu/sgi/Makefile.mgw				\
-	$(DIRECTORY)/src/glu/sgi/Makefile.win				\
-	$(DIRECTORY)/src/glu/sgi/glu.def				\
-	$(DIRECTORY)/src/glu/sgi/dummy.cc				\
-	$(DIRECTORY)/src/glu/sgi/glu.exports				\
-	$(DIRECTORY)/src/glu/sgi/glu.exports.darwin			\
-	$(DIRECTORY)/src/glu/sgi/mesaglu.opt				\
-	$(DIRECTORY)/src/glu/sgi/include/gluos.h			\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.h			\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/interface/*.cc		\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.h			\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/internals/*.cc		\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.h			\
-	$(DIRECTORY)/src/glu/sgi/libnurbs/nurbtess/*.cc			\
-	$(DIRECTORY)/src/glu/sgi/libtess/README				\
-	$(DIRECTORY)/src/glu/sgi/libtess/alg-outline			\
-	$(DIRECTORY)/src/glu/sgi/libtess/*.[ch]				\
-	$(DIRECTORY)/src/glu/sgi/libutil/*.[ch]
-
-GLW_FILES = \
-	$(DIRECTORY)/src/glw/*.[ch]			\
-	$(DIRECTORY)/src/glw/Makefile*			\
-	$(DIRECTORY)/src/glw/README			\
-	$(DIRECTORY)/src/glw/glw.pc.in			\
-	$(DIRECTORY)/src/glw/depend
-
-DEPEND_FILES = \
-	$(TOP)/src/mesa/depend		\
-	$(TOP)/src/glx/depend		\
-	$(TOP)/src/glw/depend		\
-	$(TOP)/src/glu/sgi/depend
+EXTRA_FILES = \
+	aclocal.m4					\
+	configure					\
+	configure.ac					\
+	src/glsl/glsl_parser.cpp			\
+	src/glsl/glsl_parser.h				\
+	src/glsl/glsl_lexer.cpp				\
+	src/glsl/glcpp/glcpp-lex.c			\
+	src/glsl/glcpp/glcpp-parse.c			\
+	src/glsl/glcpp/glcpp-parse.h			\
+	src/mesa/depend					\
+	src/mesa/program/lex.yy.c			\
+	src/mesa/program/program_parse.tab.c		\
+	src/mesa/program/program_parse.tab.h
 
 
-LIB_FILES = \
-	$(MAIN_FILES)		\
-	$(MAPI_FILES)		\
-	$(ES_FILES)		\
-	$(EGL_FILES)		\
-	$(GBM_FILES)		\
-	$(GALLIUM_FILES)	\
-	$(DRI_FILES)		\
-	$(SGI_GLU_FILES)	\
-	$(GLW_FILES)
+DEPEND_FILES = \
+	src/mesa/depend		\
+	src/glx/depend		\
+	src/glw/depend		\
+	src/glu/sgi/depend
 
 
 parsers: configure
@@ -474,23 +240,25 @@ rm_depend:
 		touch $$dep ; \
 	done
 
-rm_config: parsers
-	rm -f configs/current
-	rm -f configs/autoconf
+manifest.txt: .git
+	( \
+		ls -1 $(EXTRA_FILES) ; \
+		git ls-files -x autogen.sh \
+	) | sed -e '/^\(.*\/\)\?\./d' -e "s@^@$(DIRECTORY)/@" > $@
 
 ../$(DIRECTORY):
 	ln -s $(PWD) $@
 
-$(LIB_NAME).tar: rm_config ../$(DIRECTORY)
-	cd .. ; tar -cf $(DIRECTORY)/$(LIB_NAME).tar $(LIB_FILES)
+$(LIB_NAME).tar: parsers ../$(DIRECTORY) manifest.txt
+	cd .. ; tar -cf $(DIRECTORY)/$(LIB_NAME).tar -T $(DIRECTORY)/manifest.txt
 
 $(LIB_NAME).tar.gz: $(LIB_NAME).tar ../$(DIRECTORY)
 	gzip --stdout --best $(LIB_NAME).tar > $(LIB_NAME).tar.gz
 
-$(LIB_NAME).zip: rm_config ../$(DIRECTORY)
+$(LIB_NAME).zip: parsers ../$(DIRECTORY)
 	rm -f $(LIB_NAME).zip ; \
 	cd .. ; \
-	zip -qr $(LIB_NAME).zip $(LIB_FILES) ; \
+	zip -q -@ $(LIB_NAME).zip < $(DIRECTORY)/manifest.txt ; \
 	mv $(LIB_NAME).zip $(DIRECTORY)
 
 md5: $(ARCHIVES)
@@ -498,4 +266,4 @@ md5: $(ARCHIVES)
 	@-md5sum $(LIB_NAME).tar.bz2
 	@-md5sum $(LIB_NAME).zip
 
-.PHONY: tarballs rm_depend rm_config md5
+.PHONY: tarballs rm_depend md5




More information about the mesa-commit mailing list