Reduce libmagic-data package size 77/141377/3 accepted/tizen/base/20170804.132433 submit/tizen_base/20170801.015110
authorDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 31 Jul 2017 08:01:20 +0000 (17:01 +0900)
committerDongHun Kwak <dh0128.kwak@samsung.com>
Mon, 31 Jul 2017 08:11:14 +0000 (17:11 +0900)
 - for ivi build

[Model] all
[BinType] AP
[Customer] OPEN

[Issue#] N/A
[Request] N/A
[Occurrence Version] N/A

[Problem]
[Cause & Measure]
[Checking Method] N/A

[Team] Open Source Management and Setting Part
[Developer] dh0128.kwak
[Solution company] Samsung
[Change Type] N/A

Change-Id: I4e25d118d0f4027034c1028ce9b04d7f62280f83
Signed-off-by: DongHun Kwak <dh0128.kwak@samsung.com>
configure.ac
magic/Makefile.am
packaging/file.spec

index 8d0c581..c011615 100644 (file)
@@ -66,7 +66,8 @@ esac
 AC_SUBST(MINGW)
 AM_CONDITIONAL(MINGW, test "$MINGW" = 1)
 
-AC_SUBST([pkgdatadir], ['$(datadir)/misc'])
+AC_SUBST([pkgdatafulldir], ['$(datadir)'])
+AC_SUBST([pkgdataminidir], ['$(datadir)'])
 AC_SUBST(fsect)
 AM_CONDITIONAL(FSECT5, test x$fsect = x5)
 
index c0aa55c..40b9af9 100644 (file)
@@ -5,9 +5,10 @@ MAGIC_FRAGMENT_BASE = Magdir
 MAGIC_DIR = $(top_srcdir)/magic
 MAGIC_FRAGMENT_DIR = $(MAGIC_DIR)/$(MAGIC_FRAGMENT_BASE)
 
-pkgdata_DATA = magic.mgc
+pkgdatafull_DATA = magic_full.mgc
+pkgdatamini_DATA = magic_mini.mgc
 
-EXTRA_DIST = \
+EXTRA_FULL_DIST = \
 $(MAGIC_DIR)/Header \
 $(MAGIC_DIR)/Localstuff \
 $(MAGIC_FRAGMENT_DIR)/acorn \
@@ -291,10 +292,10 @@ $(MAGIC_FRAGMENT_DIR)/xwindows \
 $(MAGIC_FRAGMENT_DIR)/yara \
 $(MAGIC_FRAGMENT_DIR)/zfs \
 $(MAGIC_FRAGMENT_DIR)/zilog \
-$(MAGIC_FRAGMENT_DIR)/zyxel 
+$(MAGIC_FRAGMENT_DIR)/zyxel
 
-MAGIC = magic.mgc
-CLEANFILES = ${MAGIC} $(MAGIC_FRAGMENT_DIR)/Localstuff
+MAGIC_FULL = magic_full.mgc
+CLEANFILES = ${MAGIC_FULL} $(MAGIC_FRAGMENT_DIR)/Localstuff
 
 # FIXME: Build file natively as well so that it can be used to compile
 # the target's magic file; for now we bail if the local version does not match
@@ -306,9 +307,9 @@ FILE_COMPILE = $(top_builddir)/src/file${EXEEXT}
 FILE_COMPILE_DEP = $(FILE_COMPILE)
 endif
 
-${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP)
-       @rm -fr magic
-       @mkdir magic && cp -p $(EXTRA_DIST) magic
+${MAGIC_FULL}: $(EXTRA_DIST) $(FILE_COMPILE_DEP)
+       @rm -fr magic_full
+       @mkdir magic_full && cp -p $(EXTRA_FULL_DIST) magic_full
        @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \
            echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \
          else \
@@ -320,5 +321,31 @@ ${MAGIC}: $(EXTRA_DIST) $(FILE_COMPILE_DEP)
                exit 1; \
            fi; \
          fi)
-       LD_LIBRARY_PATH=../src/.libs $(FILE_COMPILE) -C -m magic
-       @rm -fr magic
+       LD_LIBRARY_PATH=../src/.libs $(FILE_COMPILE) -C -m magic_full
+       @rm -fr magic_full
+
+EXTRA_MINI_DIST = \
+$(MAGIC_DIR)/Header \
+$(MAGIC_DIR)/Localstuff \
+$(MAGIC_FRAGMENT_DIR)/filesystems \
+$(MAGIC_FRAGMENT_DIR)/rpm
+
+MAGIC_MINI = magic_mini.mgc
+CLEANFILES = ${MAGIC_MINI} $(MAGIC_FRAGMENT_DIR)/Localstuff
+
+${MAGIC_MINI}: $(EXTRA_DIST) $(FILE_COMPILE_DEP)
+       @rm -fr magic_mini
+       @mkdir magic_mini && cp -p $(EXTRA_MINI_DIST) magic_mini
+       @(if expr "${FILE_COMPILE}" : '.*/.*' > /dev/null; then \
+           echo "Using ${FILE_COMPILE} to generate ${MAGIC}" > /dev/null; \
+         else \
+           v=$$(${FILE_COMPILE} --version | sed -e s/file-// -e q); \
+           if [ "$$v" != "${PACKAGE_VERSION}" ]; then \
+               echo "Cannot use the installed version of file ($$v) to"; \
+               echo "cross-compile file ${PACKAGE_VERSION}"; \
+               echo "Please install file ${PACKAGE_VERSION} locally first"; \
+               exit 1; \
+           fi; \
+         fi)
+       LD_LIBRARY_PATH=../src/.libs $(FILE_COMPILE) -C -m magic_mini
+       @rm -fr magic_mini
index 767a833..05e209d 100644 (file)
@@ -23,11 +23,21 @@ specified file. File type recognition is controlled by the file
 /etc/magic, which contains the classification criteria. This command is
 used by apsfilter to permit automatic printing of different file types.
 
-%package -n libmagic-data
+%package -n libmagic-data-full
 Summary:        The magic files for libmagic to use
 Group:          System/Libraries
+Provides:              libmagic-data
 
-%description -n libmagic-data
+%description -n libmagic-data-full
+This package contains the basic magic files that libmagic reads and uses
+to estimate a file's type.
+
+%package -n libmagic-data-mini
+Summary:        The magic files for libmagic to use
+Group:          System/Libraries
+Provides:              libmagic-data
+
+%description -n libmagic-data-mini
 This package contains the basic magic files that libmagic reads and uses
 to estimate a file's type.
 
@@ -35,6 +45,7 @@ to estimate a file's type.
 Summary:        Library with file's functionality
 Group:          System/Libraries
 Requires:       libmagic-data = %{version}
+Recommends:            libmagic-data-full
 Provides:       libfile
 Obsoletes:      libfile =< 5.04
 
@@ -88,39 +99,52 @@ echo '# Localstuff: file(1) magic(5) for locally observed files' > %{buildroot}%
 echo '#     global magic file is %{_miscdir}/magic(.mgc)'   >> %{buildroot}%{_sysconfdir}/magic
 %{nil install -s dcore %{buildroot}%{_bindir}}
 # Check out that the binary does not bail out:
+ln -sf %{buildroot}%{_miscdir}/magic_full.mgc %{buildroot}%{_miscdir}/magic.mgc
 LD_LIBRARY_PATH=%{buildroot}%{_libdir}
 export LD_LIBRARY_PATH
 %{buildroot}%{_bindir}/file --version
 find %{buildroot}%{_bindir}/file %{_bindir}/ /%{_lib}/ %{_libdir}/ | \
-    xargs %{buildroot}%{_bindir}/file -m %{buildroot}%{_miscdir}/magic
+    xargs %{buildroot}%{_bindir}/file -m %{buildroot}%{_miscdir}/magic.mgc
 unset LD_LIBRARY_PATH
 %{__rm} -f %{buildroot}%{_libdir}/*.la
+%{__rm} -f %{buildroot}%{_miscdir}/magic.mgc
+
+%remove_docs
 
 %post -n libmagic -p /sbin/ldconfig
 
+%post -n libmagic-data-full
+ln -sf %{_miscdir}/magic_full.mgc %{_miscdir}/magic.mgc
+
+%post -n libmagic-data-mini
+ln -sf %{_miscdir}/magic_mini.mgc %{_miscdir}/magic.mgc
+
 %postun -n libmagic -p /sbin/ldconfig
 
 %files -n libmagic
 %manifest %{name}.manifest
 %defattr (644,root,root,755)
 %license COPYING
+%config(noreplace) %{_sysconfdir}/magic
 %{_libdir}/lib*.so.*
 
-%files -n libmagic-data
+%files -n libmagic-data-full
 %manifest %{name}.manifest
 %defattr (644,root,root,755)
 %license COPYING
-%config(noreplace) %{_sysconfdir}/magic
-#%%{_miscdir}/magic
-%{_miscdir}/magic.mgc
-%doc %{_mandir}/man5/magic.5.gz
+%{_miscdir}/magic_full.mgc
+
+%files -n libmagic-data-mini
+%manifest %{name}.manifest
+%defattr (644,root,root,755)
+%license COPYING
+%{_miscdir}/magic_mini.mgc
 
 %files
 %manifest %{name}.manifest
 %defattr (644,root,root,755)
 %{nil %{_bindir}/dcore}
 %attr(755,root,root) %{_bindir}/file
-%doc %{_mandir}/man1/file.1.gz
 %license COPYING
 
 %files -n file-devel
@@ -128,5 +152,4 @@ unset LD_LIBRARY_PATH
 %defattr (644,root,root,755)
 %{_libdir}/lib*.so
 %{_includedir}/magic.h
-%doc %{_mandir}/man3/libmagic.3.gz
 %license COPYING