- Update to 2.4.6
- Apply patch from upstream CVS to fix .so install permissions (bug #235673) - Add rpm macros
This commit is contained in:
parent
635186fdd4
commit
3a97714d00
@ -1 +1 @@
|
|||||||
cmake-2.4.5.tar.gz
|
cmake-2.4.6.tar.gz
|
||||||
|
121
cmake-2.4.6-soexe.patch
Normal file
121
cmake-2.4.6-soexe.patch
Normal file
@ -0,0 +1,121 @@
|
|||||||
|
Index: CMake/Source/cmFileCommand.cxx
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/CMake/CMake/Source/cmFileCommand.cxx,v
|
||||||
|
retrieving revision 1.75
|
||||||
|
retrieving revision 1.76
|
||||||
|
diff -u -r1.75 -r1.76
|
||||||
|
--- CMake/Source/cmFileCommand.cxx 12 Mar 2007 18:15:25 -0000 1.75
|
||||||
|
+++ CMake/Source/cmFileCommand.cxx 10 Apr 2007 15:22:15 -0000 1.76
|
||||||
|
@@ -1184,6 +1184,9 @@
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Choose a default for shared library permissions.
|
||||||
|
+ bool install_so_no_exe = this->Makefile->IsOn("CMAKE_INSTALL_SO_NO_EXE");
|
||||||
|
+
|
||||||
|
// If file permissions were not specified set default permissions
|
||||||
|
// for this target type.
|
||||||
|
if(!use_given_permissions_file && !use_source_permissions)
|
||||||
|
@@ -1192,15 +1195,16 @@
|
||||||
|
{
|
||||||
|
case cmTarget::SHARED_LIBRARY:
|
||||||
|
case cmTarget::MODULE_LIBRARY:
|
||||||
|
-#if defined(__linux__)
|
||||||
|
- // Use read/write permissions.
|
||||||
|
- permissions_file = 0;
|
||||||
|
- permissions_file |= mode_owner_read;
|
||||||
|
- permissions_file |= mode_owner_write;
|
||||||
|
- permissions_file |= mode_group_read;
|
||||||
|
- permissions_file |= mode_world_read;
|
||||||
|
- break;
|
||||||
|
-#endif
|
||||||
|
+ if(install_so_no_exe)
|
||||||
|
+ {
|
||||||
|
+ // Use read/write permissions.
|
||||||
|
+ permissions_file = 0;
|
||||||
|
+ permissions_file |= mode_owner_read;
|
||||||
|
+ permissions_file |= mode_owner_write;
|
||||||
|
+ permissions_file |= mode_group_read;
|
||||||
|
+ permissions_file |= mode_world_read;
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
case cmTarget::EXECUTABLE:
|
||||||
|
case cmTarget::INSTALL_PROGRAMS:
|
||||||
|
// Use read/write/executable permissions.
|
||||||
|
Index: CMake/Source/cmLocalGenerator.cxx
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/CMake/CMake/Source/cmLocalGenerator.cxx,v
|
||||||
|
retrieving revision 1.207
|
||||||
|
retrieving revision 1.208
|
||||||
|
diff -u -r1.207 -r1.208
|
||||||
|
--- CMake/Source/cmLocalGenerator.cxx 30 Mar 2007 14:53:02 -0000 1.207
|
||||||
|
+++ CMake/Source/cmLocalGenerator.cxx 10 Apr 2007 15:22:15 -0000 1.208
|
||||||
|
@@ -393,6 +393,18 @@
|
||||||
|
"ENDIF(NOT CMAKE_INSTALL_COMPONENT)\n"
|
||||||
|
"\n";
|
||||||
|
|
||||||
|
+ // Copy user-specified install options to the install code.
|
||||||
|
+ if(const char* so_no_exe =
|
||||||
|
+ this->Makefile->GetDefinition("CMAKE_INSTALL_SO_NO_EXE"))
|
||||||
|
+ {
|
||||||
|
+ fout <<
|
||||||
|
+ "# Install shared libraries without execute permission?\n"
|
||||||
|
+ "IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)\n"
|
||||||
|
+ " SET(CMAKE_INSTALL_SO_NO_EXE \"" << so_no_exe << "\")\n"
|
||||||
|
+ "ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)\n"
|
||||||
|
+ "\n";
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
// Ask each install generator to write its code.
|
||||||
|
std::vector<cmInstallGenerator*> const& installers =
|
||||||
|
this->Makefile->GetInstallGenerators();
|
||||||
|
Index: CMake/Modules/Platform/Linux.cmake
|
||||||
|
===================================================================
|
||||||
|
RCS file: /cvsroot/CMake/CMake/Modules/Platform/Linux.cmake,v
|
||||||
|
retrieving revision 1.11
|
||||||
|
retrieving revision 1.12
|
||||||
|
diff -u -r1.11 -r1.12
|
||||||
|
--- CMake/Modules/Platform/Linux.cmake 15 Sep 2006 18:08:39 -0000 1.11
|
||||||
|
+++ CMake/Modules/Platform/Linux.cmake 10 Apr 2007 15:22:15 -0000 1.12
|
||||||
|
@@ -18,4 +18,41 @@
|
||||||
|
SET(CMAKE_${type}_LINK_DYNAMIC_C_FLAGS "-Wl,-Bdynamic")
|
||||||
|
ENDFOREACH(type)
|
||||||
|
|
||||||
|
+# Debian policy requires that shared libraries be installed without
|
||||||
|
+# executable permission. Fedora policy requires that shared libraries
|
||||||
|
+# be installed with the executable permission. Since the native tools
|
||||||
|
+# create shared libraries with execute permission in the first place a
|
||||||
|
+# reasonable policy seems to be to install with execute permission by
|
||||||
|
+# default. In order to support debian packages we provide an option
|
||||||
|
+# here. The option default is based on the current distribution, but
|
||||||
|
+# packagers can set it explicitly on the command line.
|
||||||
|
+IF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||||
|
+ # Store the decision variable in the cache. This preserves any
|
||||||
|
+ # setting the user provides on the command line.
|
||||||
|
+ SET(CMAKE_INSTALL_SO_NO_EXE "${CMAKE_INSTALL_SO_NO_EXE}" CACHE INTERNAL
|
||||||
|
+ "Install .so files without execute permission.")
|
||||||
|
+ELSE(DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||||
|
+ # Detect the linux distribution.
|
||||||
|
+ SET(CMAKE_LINUX_DISTRO)
|
||||||
|
+ IF(EXISTS "/proc/version")
|
||||||
|
+ FILE(READ "/proc/version" CMAKE_LINUX_DISTRO)
|
||||||
|
+ ENDIF(EXISTS "/proc/version")
|
||||||
|
+
|
||||||
|
+ # List the distributions that require shared libraries to not have
|
||||||
|
+ # execute permission.
|
||||||
|
+ SET(CMAKE_INSTALL_SO_NO_EXE_DISTRO "(Debian|Ubuntu)")
|
||||||
|
+
|
||||||
|
+ # Store the decision variable as an internal cache entry to avoid
|
||||||
|
+ # checking the platform every time. This option is advanced enough
|
||||||
|
+ # that only package maintainers should need to adjust it. They are
|
||||||
|
+ # capable of providing a setting on the command line.
|
||||||
|
+ IF("${CMAKE_LINUX_DISTRO}" MATCHES "${CMAKE_INSTALL_SO_NO_EXE_DISTRO}")
|
||||||
|
+ SET(CMAKE_INSTALL_SO_NO_EXE 1 CACHE INTERNAL
|
||||||
|
+ "Install .so files without execute permission.")
|
||||||
|
+ ELSE("${CMAKE_LINUX_DISTRO}" MATCHES "${CMAKE_INSTALL_SO_NO_EXE_DISTRO}")
|
||||||
|
+ SET(CMAKE_INSTALL_SO_NO_EXE 0 CACHE INTERNAL
|
||||||
|
+ "Install .so files without execute permission.")
|
||||||
|
+ ENDIF("${CMAKE_LINUX_DISTRO}" MATCHES "${CMAKE_INSTALL_SO_NO_EXE_DISTRO}")
|
||||||
|
+ENDIF(DEFINED CMAKE_INSTALL_SO_NO_EXE)
|
||||||
|
+
|
||||||
|
INCLUDE(Platform/UnixPaths)
|
19
cmake.spec
19
cmake.spec
@ -1,6 +1,6 @@
|
|||||||
Name: cmake
|
Name: cmake
|
||||||
Version: 2.4.5
|
Version: 2.4.6
|
||||||
Release: 2%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Cross-platform make system
|
Summary: Cross-platform make system
|
||||||
|
|
||||||
Group: Development/Tools
|
Group: Development/Tools
|
||||||
@ -8,11 +8,14 @@ License: BSD
|
|||||||
URL: http://www.cmake.org
|
URL: http://www.cmake.org
|
||||||
Source0: http://www.cmake.org/files/v2.4/cmake-%{version}.tar.gz
|
Source0: http://www.cmake.org/files/v2.4/cmake-%{version}.tar.gz
|
||||||
Source1: cmake-init-fedora
|
Source1: cmake-init-fedora
|
||||||
|
Source2: macros.cmake
|
||||||
Patch0: cmake-2.4.2-fedora.patch
|
Patch0: cmake-2.4.2-fedora.patch
|
||||||
Patch1: cmake-2.4.5-xmlrpc.patch
|
Patch1: cmake-2.4.5-xmlrpc.patch
|
||||||
|
Patch2: cmake-2.4.6-soexe.patch
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
BuildRequires: ncurses-devel, libX11-devel
|
BuildRequires: ncurses-devel, libX11-devel
|
||||||
BuildRequires: curl-devel, expat-devel, xmlrpc-c-devel, zlib-devel
|
BuildRequires: curl-devel, expat-devel, xmlrpc-c-devel, zlib-devel
|
||||||
|
Requires: rpm
|
||||||
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -28,6 +31,7 @@ generation, code generation, and template instantiation.
|
|||||||
%setup -q
|
%setup -q
|
||||||
%patch -p1 -b .fedora
|
%patch -p1 -b .fedora
|
||||||
%patch1 -p1 -b .xmlrpc
|
%patch1 -p1 -b .xmlrpc
|
||||||
|
%patch2 -p1 -b .soexe
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -36,7 +40,7 @@ export CXXFLAGS="$RPM_OPT_FLAGS"
|
|||||||
./bootstrap --init=%SOURCE1 --prefix=%{_prefix} --datadir=/share/%{name} \
|
./bootstrap --init=%SOURCE1 --prefix=%{_prefix} --datadir=/share/%{name} \
|
||||||
--docdir=/share/doc/%{name}-%{version} --mandir=/share/man \
|
--docdir=/share/doc/%{name}-%{version} --mandir=/share/man \
|
||||||
--system-libs
|
--system-libs
|
||||||
make %{?_smp_mflags}
|
make VERBOSE=1 %{?_smp_mflags}
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -46,6 +50,9 @@ find $RPM_BUILD_ROOT/%{_datadir}/%{name}/Modules -type f | xargs chmod -x
|
|||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
|
mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp
|
||||||
cp -a Example $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}/
|
cp -a Example $RPM_BUILD_ROOT%{_datadir}/doc/%{name}-%{version}/
|
||||||
install -m 0644 Docs/cmake-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/
|
install -m 0644 Docs/cmake-mode.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/
|
||||||
|
# RPM macros
|
||||||
|
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/rpm
|
||||||
|
install -m 0644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/rpm/
|
||||||
|
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
@ -54,6 +61,7 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root,-)
|
%defattr(-,root,root,-)
|
||||||
|
%config(noreplace) %{_sysconfdir}/rpm/macros.cmake
|
||||||
%{_datadir}/doc/%{name}-%{version}/
|
%{_datadir}/doc/%{name}-%{version}/
|
||||||
%{_bindir}/ccmake
|
%{_bindir}/ccmake
|
||||||
%{_bindir}/cmake
|
%{_bindir}/cmake
|
||||||
@ -65,6 +73,11 @@ rm -rf $RPM_BUILD_ROOT
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Apr 19 2006 Orion Poplawski <orion@cora.nwra.com> - 2.4.6-1
|
||||||
|
- Update to 2.4.6
|
||||||
|
- Apply patch from upstream CVS to fix .so install permissions (bug #235673)
|
||||||
|
- Add rpm macros
|
||||||
|
|
||||||
* Mon Dec 18 2006 Orion Poplawski <orion@cora.nwra.com> - 2.4.5-2
|
* Mon Dec 18 2006 Orion Poplawski <orion@cora.nwra.com> - 2.4.5-2
|
||||||
- Use system libraries (bootstrap --system-libs)
|
- Use system libraries (bootstrap --system-libs)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user