]> git.pld-linux.org Git - packages/dcmtk.git/commitdiff
- updated to 3.6.5
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 22 Dec 2019 19:05:19 +0000 (20:05 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Sun, 22 Dec 2019 19:05:19 +0000 (20:05 +0100)
- updated some charls patches
- removed obsolete fixes patch
- added icu bcond

dcmtk-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch
dcmtk-3.6.1-0002-Find-and-include-CharLS.patch
dcmtk-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch
dcmtk-etc.patch
dcmtk-fixes.patch [deleted file]
dcmtk.spec

index 5a049698b4ed3580b62cc86ca5fb43c46cc82a59..3e45b85bbe6bc726c6b68cc0f6358fd1e5d3326c 100644 (file)
@@ -12,13 +12,10 @@ index e114663..c92ac5b 100644
 --- a/dcmjpls/CMakeLists.txt
 +++ b/dcmjpls/CMakeLists.txt
 @@ -2,6 +2,6 @@
PROJECT(dcmjpls)
project(dcmjpls)
  
  # recurse into subdirectories
--FOREACH(SUBDIR libsrc libcharls apps include)
-+FOREACH(SUBDIR libsrc apps include)
-   ADD_SUBDIRECTORY(${SUBDIR})
- ENDFOREACH(SUBDIR)
--- 
-1.9.3
-
+-foreach(SUBDIR libsrc libcharls apps include)
++foreach(SUBDIR libsrc apps include)
+   add_subdirectory(${SUBDIR})
+ endforeach()
index 84a0dca2deb73874893759f34c36d7c2012e29fd..f43287466741e5d5cf00e4a083a911b4b3719132 100644 (file)
@@ -11,27 +11,24 @@ diff --git a/CMake/3rdparty.cmake b/CMake/3rdparty.cmake
 index 9fcca77..2ccda35 100755
 --- a/CMake/3rdparty.cmake
 +++ b/CMake/3rdparty.cmake
-@@ -267,6 +267,20 @@ ELSE(WIN32)
-     ENDIF(NOT WRAP_FOUND)
-   ENDIF(DCMTK_WITH_WRAP)
+@@ -357,6 +357,20 @@
+     endif()
+   endif()
  
-+  SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake)
++  set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMake)
 +  
-+  IF(DCMTK_WITH_CHARLS)
-+    FIND_PACKAGE(CharLS)
-+    INCLUDE_DIRECTORIES(${CHARLS_INCLUDE_DIRS})
-+    SET(CHARLS_LIBS ${CHARLS_LIBRARIES})
-+    IF (NOT CHARLS_LIBS)
-+      MESSAGE(STATUS "Warning: CharLS not found. Cannot build!")
-+    ELSE(NOT CHARLS_LIBS)
-+      MESSAGE(STATUS "Info: DCMTK CHARLS support will be enabled")
-+      SET(WITH_CHARLS 1)
-+    ENDIF(NOT CHARLS_LIBS)
-+  ENDIF(DCMTK_WITH_CHARLS)
++  if(DCMTK_WITH_CHARLS)
++    find_package(CharLS)
++    include_directories(${CHARLS_INCLUDE_DIRS})
++    set(CHARLS_LIBS ${CHARLS_LIBRARIES})
++    if (NOT CHARLS_LIBS)
++      message(STATUS "Warning: CharLS not found. Cannot build!")
++    else(NOT CHARLS_LIBS)
++      message(STATUS "Info: DCMTK CHARLS support will be enabled")
++      set(WITH_CHARLS 1)
++    endif(NOT CHARLS_LIBS)
++  endif(DCMTK_WITH_CHARLS)
 +
ENDIF()
endif(WIN32 AND NOT MINGW)
  
- # Find doxygen
--- 
-1.9.3
-
+ if(NOT DEFINED DCMTK_WITH_STDLIBC_ICONV)
index 669724f616c83f4ea8ab6b0fef7fa38a36c5f7c5..efb37ae179ab1c5f67e4066ac7486a83cfa97135 100644 (file)
@@ -12,13 +12,13 @@ diff --git a/dcmjpls/apps/CMakeLists.txt b/dcmjpls/apps/CMakeLists.txt
 index 2e881d7..6170f8a 100644
 --- a/dcmjpls/apps/CMakeLists.txt
 +++ b/dcmjpls/apps/CMakeLists.txt
-@@ -8,5 +8,5 @@ ENDFOREACH(PROGRAM)
+@@ -8,5 +8,5 @@
  
  # make sure executables are linked to the corresponding libraries
FOREACH(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
foreach(PROGRAM dcmcjpls dcmdjpls dcml2pnm)
 -  DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls charls dcmimage dcmimgle dcmdata oflog ofstd ofstd)
 +  DCMTK_TARGET_LINK_MODULES(${PROGRAM} dcmjpls ${CHARLS_LIBS} dcmimage dcmimgle dcmdata oflog ofstd ofstd)
ENDFOREACH(PROGRAM)
endforeach()
 diff --git a/dcmjpls/libsrc/CMakeLists.txt b/dcmjpls/libsrc/CMakeLists.txt
 index 8a7b4e8..dc3ff44 100644
 --- a/dcmjpls/libsrc/CMakeLists.txt
index 451045b48d1af8d37d06abf0fce7d34107194fda..06b8028acdb922571d378e15ea180b5de467b633 100644 (file)
@@ -1,11 +1,11 @@
---- dcmtk-3.6.3/CMake/GenerateDCMTKConfigure.cmake~    2018-02-05 18:58:12.000000000 +0100
-+++ dcmtk-3.6.3/CMake/GenerateDCMTKConfigure.cmake     2018-09-19 12:54:55.238532235 +0200
-@@ -164,7 +164,7 @@ ELSE(WIN32 AND NOT CYGWIN)
-     SET(DCM_DICT_DEFAULT_PATH "")
-   ENDIF(DCMTK_ENABLE_EXTERNAL_DICTIONARY)
+--- dcmtk-3.6.5/CMake/GenerateDCMTKConfigure.cmake.orig        2019-12-17 21:15:50.393593359 +0100
++++ dcmtk-3.6.5/CMake/GenerateDCMTKConfigure.cmake     2019-12-17 21:17:34.619695384 +0100
+@@ -164,7 +164,7 @@
+     set(DCM_DICT_DEFAULT_PATH "")
+   endif()
    # Set default directory for configuration and support data.
--  SET(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}/dcmtk/")
-+  SET(DCMTK_DEFAULT_CONFIGURATION_DIR "/${DCMTK_INSTALL_ETCDIR}/")
-   SET(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/")
ENDIF(WIN32 AND NOT CYGWIN)
+-  set(DCMTK_DEFAULT_CONFIGURATION_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_SYSCONFDIR}/dcmtk/")
++  set(DCMTK_DEFAULT_CONFIGURATION_DIR "${CMAKE_INSTALL_FULL_SYSCONFDIR}/dcmtk/")
+   set(DCMTK_DEFAULT_SUPPORT_DATA_DIR "${DCMTK_PREFIX}/${CMAKE_INSTALL_DATADIR}/dcmtk/")
endif()
  
diff --git a/dcmtk-fixes.patch b/dcmtk-fixes.patch
deleted file mode 100644 (file)
index 5f7db0d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
---- dcmtk-3.6.3/ofstd/include/dcmtk/ofstd/variadic/helpers.h   2018-02-05 18:58:12.000000000 +0100
-+++ dcmtk-3.6.4/ofstd/include/dcmtk/ofstd/variadic/helpers.h   2018-11-29 13:14:03.000000000 +0100
-@@ -54,7 +54,7 @@
- template<size_t Index,typename T>
- struct OFvariadic_find_type_t<Index,T>
--: OFintegral_constant<size_t,-1> {};
-+: OFintegral_constant<size_t,~OFstatic_cast(size_t,0)> {};
- template<typename T,typename T0=OFvariadic_nil,typename T1=OFvariadic_nil,typename T2=OFvariadic_nil,typename T3=OFvariadic_nil,typename T4=OFvariadic_nil,typename T5=OFvariadic_nil,typename T6=OFvariadic_nil,typename T7=OFvariadic_nil,typename T8=OFvariadic_nil,typename T9=OFvariadic_nil,typename T10=OFvariadic_nil,typename T11=OFvariadic_nil,typename T12=OFvariadic_nil,typename T13=OFvariadic_nil,typename T14=OFvariadic_nil,typename T15=OFvariadic_nil,typename T16=OFvariadic_nil,typename T17=OFvariadic_nil,typename T18=OFvariadic_nil,typename T19=OFvariadic_nil,typename T20=OFvariadic_nil,typename T21=OFvariadic_nil,typename T22=OFvariadic_nil,typename T23=OFvariadic_nil,typename T24=OFvariadic_nil,typename T25=OFvariadic_nil,typename T26=OFvariadic_nil,typename T27=OFvariadic_nil,typename T28=OFvariadic_nil,typename T29=OFvariadic_nil,typename T30=OFvariadic_nil,typename T31=OFvariadic_nil,typename T32=OFvariadic_nil,typename T33=OFvariadic_nil,typename T34=OFvariadic_nil,typename T35=OFvariadic_nil,typename T36=OFvariadic_nil,typename T37=OFvariadic_nil,typename T38=OFvariadic_nil,typename T39=OFvariadic_nil,typename T40=OFvariadic_nil,typename T41=OFvariadic_nil,typename T42=OFvariadic_nil,typename T43=OFvariadic_nil,typename T44=OFvariadic_nil,typename T45=OFvariadic_nil,typename T46=OFvariadic_nil,typename T47=OFvariadic_nil,typename T48=OFvariadic_nil,typename T49=OFvariadic_nil>
- struct OFvariadic_find_type
index e914386660880d789323f676fffbb554800108d6..9210ae2c6273861d39ca8cb3e506ccbd0981d87b 100644 (file)
@@ -1,17 +1,22 @@
 # TODO:
 # - use system libjpeg? (rather hard: it needs 8/12/16-bit versions; included libijg*
 #   are libjpeg 6b with some arithmetic and lossless patches applied;
-#   libjpeg 8 already inclded arithmetic encoding support, but not lossless)
+#   libjpeg 8 already included arithmetic encoding support, but not lossless)
 #
-Summary:       DICOM To:olkit - implementation of DICOM/MEDICOM standard
+# Conditional build:
+%bcond_without icu     # use glibc iconv() instead of icu for charset conversion
+# glibc iconv supports only AbortTranscodingOnIllegalSequence conversion flag
+# icu supports AbortTranscodingOnIllegalSequence and DiscardIllegalSequences
+# standalone libiconv >= 1.8 supports additionally TransliterateIllegalSequences
+Summary:       DICOM Toolkit - implementation of DICOM/MEDICOM standard
 Summary(pl.UTF-8):     Narzędzia DICOM - implementacja standardu DICOM/MEDICOM
 Name:          dcmtk
-Version:       3.6.3
-Release:       3
+Version:       3.6.5
+Release:       1
 License:       BSD
 Group:         Libraries
-Source0:       ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk363/%{name}-%{version}.tar.gz
-# Source0-md5: 2f79082d52cbbb06a360f48b4a9c61be
+Source0:       https://dicom.offis.de/download/dcmtk/release/%{name}-%{version}.tar.gz
+# Source0-md5: e19707f64ee5695c496b9c1e48e39d07
 Patch0:                %{name}-3.6.0-0005-Fixed-includes-for-CharLS-1.0.patch
 Patch1:                %{name}-3.6.1-0001-Removed-reference-to-bundled-libcharls.patch
 Patch2:                %{name}-3.6.1-0002-Find-and-include-CharLS.patch
@@ -19,17 +24,21 @@ Patch3:             %{name}-3.6.1-0003-Create-FindCharLS.cmake.patch
 Patch4:                %{name}-3.6.1-0004-Use-cmake-suggested-location-for-CharLS.patch
 Patch5:                %{name}-etc.patch
 Patch6:                CharLS.patch
-Patch7:                %{name}-fixes.patch
 URL:           http://dicom.offis.de/dcmtk
 BuildRequires: CharLS-devel < 2.0
-BuildRequires: cmake >= 2.4
-BuildRequires: libicu-devel
+BuildRequires: cmake >= 2.8.5
+BuildRequires: doxygen
+%{?with_icu:BuildRequires:     libicu-devel}
 BuildRequires: libpng-devel >= 2:1.2.8
+# handled during configuration, but actually not used
+#BuildRequires:        libsndfile-devel
 BuildRequires: libstdc++-devel >= 6:4.8.1
 BuildRequires: libtiff-devel >= 3.7.0
 BuildRequires: libwrap-devel
 BuildRequires: libxml2-devel >= 1:2.6.26
-BuildRequires: openssl-devel >= 0.9.8
+BuildRequires: openjpeg2-devel >= 2
+BuildRequires: openssl-devel >= 1.0.1
+BuildRequires: pkgconfig
 BuildRequires: zlib-devel >= 1.2.3
 Requires:      %{name}-libs = %{version}-%{release}
 BuildRoot:     %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -47,6 +56,7 @@ Summary:      DICOM ToolKit shared libraries
 Summary(pl.UTF-8):     Biblioteki współdzielone DICOM
 Group:         Libraries
 Requires:      libstdc++ >= 6:4.8.1
+Requires:      openssl >= 1.0.1
 
 %description libs
 DICOM ToolKit shared libraries.
@@ -76,25 +86,28 @@ Pliki nagłówkowe bibliotek DCMTK.
 %patch4 -p1
 %patch5 -p1
 %patch6 -p1
-%patch7 -p1
 
 # enforce system CharLS
 %{__rm} -r dcmjpls/libcharls
 
 %build
-%cmake . \
-       -DDCMTK_INSTALL_ETCDIR=%{_sysconfdir}/%{name} \
-       -DDCMTK_INSTALL_LIBDIR=%{_lib} \
+install -d build
+cd build
+%cmake .. \
+       -DCMAKE_INSTALL_LIBDIR=%{_lib} \
        -DDCMTK_INSTALL_CMKDIR=%{_lib}/cmake/dcmtk \
        -DBUILD_APPS:BOOL=ON \
        -DBUILD_SHARED_LIBS:BOOL=ON \
+       -DDCMTK_ENABLE_CXX11:BOOL=ON \
        -DDCMTK_USE_CXX11_STL:BOOL=ON \
+       -DDCMTK_WITH_CHARLS:BOOL=ON \
+       -DDCMTK_WITH_ICONV:BOOL=OFF \
+       %{!?with_icu:-DDCMTK_WITH_ICU:BOOL=OFF} \
        -DDCMTK_WITH_OPENSSL:BOOL=ON \
        -DDCMTK_WITH_PNG:BOOL=ON \
        -DDCMTK_WITH_PRIVATE_TAGS:BOOL=ON \
        -DDCMTK_WITH_TIFF:BOOL=ON \
        -DDCMTK_WITH_XML:BOOL=ON \
-       -DDCMTK_WITH_CHARLS=ON \
        -DDCMTK_WITH_ZLIB:BOOL=ON
 
 %{__make}
@@ -102,9 +115,10 @@ Pliki nagłówkowe bibliotek DCMTK.
 %install
 rm -rf $RPM_BUILD_ROOT
 
-%{__make} install \
+%{__make} -C build install \
        DESTDIR=$RPM_BUILD_ROOT
 
+# packaged as %doc
 %{__rm} -r $RPM_BUILD_ROOT%{_docdir}
 
 %clean
@@ -118,6 +132,7 @@ rm -rf $RPM_BUILD_ROOT
 %doc ANNOUNCE CHANGES COPYRIGHT FAQ HISTORY README
 %doc dcmdata/docs/datadict.txt dcmnet/docs/asconfig.txt
 %doc dcmqrdb/docs/dcmqr*.txt dcmtls/docs/ciphers.txt
+%attr(755,root,root) %{_bindir}/cda2dcm
 %attr(755,root,root) %{_bindir}/dcm*
 %attr(755,root,root) %{_bindir}/dcod2lum
 %attr(755,root,root) %{_bindir}/dconvlum
@@ -136,6 +151,7 @@ rm -rf $RPM_BUILD_ROOT
 %attr(755,root,root) %{_bindir}/msgserv
 %attr(755,root,root) %{_bindir}/ofstd_tests
 %attr(755,root,root) %{_bindir}/pdf2dcm
+%attr(755,root,root) %{_bindir}/stl2dcm
 %attr(755,root,root) %{_bindir}/storescp
 %attr(755,root,root) %{_bindir}/storescu
 %attr(755,root,root) %{_bindir}/termscu
@@ -152,6 +168,7 @@ rm -rf $RPM_BUILD_ROOT
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescp.cfg
 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/dcmtk/storescu.cfg
 %{_datadir}/dcmtk
+%{_mandir}/man1/cda2dcm.1*
 %{_mandir}/man1/dcm*.1*
 %{_mandir}/man1/dcod2lum.1*
 %{_mandir}/man1/dconvlum.1*
@@ -166,6 +183,7 @@ rm -rf $RPM_BUILD_ROOT
 %{_mandir}/man1/img2dcm.1*
 %{_mandir}/man1/movescu.1*
 %{_mandir}/man1/pdf2dcm.1*
+%{_mandir}/man1/stl2dcm.1*
 %{_mandir}/man1/storescp.1*
 %{_mandir}/man1/storescu.1*
 %{_mandir}/man1/termscu.1*
@@ -176,55 +194,55 @@ rm -rf $RPM_BUILD_ROOT
 %files libs
 %defattr(644,root,root,755)
 %attr(755,root,root) %{_libdir}/libcmr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libcmr.so.13
+%attr(755,root,root) %ghost %{_libdir}/libcmr.so.15
 %attr(755,root,root) %{_libdir}/libdcmdata.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmdata.so.15
 %attr(755,root,root) %{_libdir}/libdcmdsig.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmdsig.so.15
 %attr(755,root,root) %{_libdir}/libdcmfg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmfg.so.15
 %attr(755,root,root) %{_libdir}/libdcmimage.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmimage.so.15
 %attr(755,root,root) %{_libdir}/libdcmimgle.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmimgle.so.15
 %attr(755,root,root) %{_libdir}/libdcmiod.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmiod.so.15
 %attr(755,root,root) %{_libdir}/libdcmjpeg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpeg.so.15
 %attr(755,root,root) %{_libdir}/libdcmjpls.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmjpls.so.15
 %attr(755,root,root) %{_libdir}/libdcmnet.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmnet.so.15
 %attr(755,root,root) %{_libdir}/libdcmpstat.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmpstat.so.15
 %attr(755,root,root) %{_libdir}/libdcmqrdb.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmqrdb.so.15
 %attr(755,root,root) %{_libdir}/libdcmrt.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmrt.so.15
 %attr(755,root,root) %{_libdir}/libdcmseg.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmseg.so.15
 %attr(755,root,root) %{_libdir}/libdcmpmap.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmpmap.so.15
 %attr(755,root,root) %{_libdir}/libdcmsr.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmsr.so.15
 %attr(755,root,root) %{_libdir}/libdcmtract.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmtract.so.15
 %attr(755,root,root) %{_libdir}/libdcmtls.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmtls.so.15
 %attr(755,root,root) %{_libdir}/libdcmwlm.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.13
+%attr(755,root,root) %ghost %{_libdir}/libdcmwlm.so.15
 %attr(755,root,root) %{_libdir}/libi2d.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libi2d.so.13
+%attr(755,root,root) %ghost %{_libdir}/libi2d.so.15
 %attr(755,root,root) %{_libdir}/libijg12.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg12.so.13
+%attr(755,root,root) %ghost %{_libdir}/libijg12.so.15
 %attr(755,root,root) %{_libdir}/libijg16.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg16.so.13
+%attr(755,root,root) %ghost %{_libdir}/libijg16.so.15
 %attr(755,root,root) %{_libdir}/libijg8.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libijg8.so.13
+%attr(755,root,root) %ghost %{_libdir}/libijg8.so.15
 %attr(755,root,root) %{_libdir}/liboflog.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/liboflog.so.13
+%attr(755,root,root) %ghost %{_libdir}/liboflog.so.15
 %attr(755,root,root) %{_libdir}/libofstd.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libofstd.so.13
+%attr(755,root,root) %ghost %{_libdir}/libofstd.so.15
 
 %files devel
 %defattr(644,root,root,755)
This page took 0.166699 seconds and 4 git commands to generate.