diff options
author | Roger Leigh <rleigh@debian.org> | 2013-09-08 22:51:43 +0100 |
---|---|---|
committer | Roger Leigh <rleigh@debian.org> | 2013-09-29 16:45:34 +0100 |
commit | 4a272b256ea0cae74cad442eca75363e9d8edb47 (patch) | |
tree | 1450526d5688bb52b058db50634cfef0a1f53624 /etc | |
parent | f71acb7a31d7932cf3d5f8aaa1682787c18b2127 (diff) | |
download | schroot-4a272b256ea0cae74cad442eca75363e9d8edb47.tar.gz |
build: Add cmake build infrastructure
This permits building using cmake rather than the existing
autoconf/automake/libtool infrastructure. The autotools-
based build may be removed in future commits, but either
may be used until that point.
Diffstat (limited to 'etc')
-rw-r--r-- | etc/CMakeLists.txt | 73 | ||||
-rw-r--r-- | etc/bash_completion/CMakeLists.txt | 22 | ||||
-rw-r--r-- | etc/pam/CMakeLists.txt | 23 | ||||
-rw-r--r-- | etc/setup.d/CMakeLists.txt | 47 |
4 files changed, 165 insertions, 0 deletions
diff --git a/etc/CMakeLists.txt b/etc/CMakeLists.txt new file mode 100644 index 00000000..7500271c --- /dev/null +++ b/etc/CMakeLists.txt @@ -0,0 +1,73 @@ +# Copyright © 2004-2013 Roger Leigh <rleigh@debian.org> +# +# schroot 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 3 of the License, or +# (at your option) any later version. +# +# schroot 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, see +# <http://www.gnu.org/licenses/>. +# +##################################################################### + +set(schroot_sysconf_data + schroot.conf) + +install(FILES ${schroot_sysconf_data} + DESTINATION ${SCHROOT_SYSCONF_DIR}) + +set(files + copyfiles + fstab + nssdatabases) + +set(profiles + buildd + default + desktop + minimal + sbuild) + +set(arches + ${SBUILD_PLATFORM}) + +foreach(profile ${profiles}) + foreach(file ${files}) + file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/profiles/${profile}") + set(output_file "${CMAKE_CURRENT_BINARY_DIR}/profiles/${profile}/${file}") + foreach(arch ${arches}) + if(EXISTS ${output_file}) + file(REMOVE ${output_file}) + endif(EXISTS ${output_file}) + foreach(source_file + ${CMAKE_CURRENT_SOURCE_DIR}/profile-templates/all/all/${file} + ${CMAKE_CURRENT_SOURCE_DIR}/profile-templates/all/${arch}/${file} + ${CMAKE_CURRENT_SOURCE_DIR}/profile-templates/${profile}/all/${file} + ${CMAKE_CURRENT_SOURCE_DIR}/profile-templates/${profile}/${arch}/${file}) + if(EXISTS ${source_file}) + file(READ ${source_file} content) + if(EXISTS ${source_file}) + file(APPEND ${output_file} ${content}) + else(EXISTS ${source_file}) + file(WRITE ${output_file} ${content}) + endif(EXISTS ${source_file}) + endif(EXISTS ${source_file}) + endforeach(source_file) + if(EXISTS ${output_file}) + message(STATUS "Generated schroot profile ${profile}/${file}") + install(FILES ${output_file} + DESTINATION ${SCHROOT_SYSCONF_DIR}/${profile}) + endif(EXISTS ${output_file}) + endforeach(arch) + endforeach(file) +endforeach(profile) + +add_subdirectory(pam) +add_subdirectory(bash_completion) +add_subdirectory(setup.d) diff --git a/etc/bash_completion/CMakeLists.txt b/etc/bash_completion/CMakeLists.txt new file mode 100644 index 00000000..c12ecc54 --- /dev/null +++ b/etc/bash_completion/CMakeLists.txt @@ -0,0 +1,22 @@ +# Copyright © 2004-2013 Roger Leigh <rleigh@debian.org> +# +# schroot 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 3 of the License, or +# (at your option) any later version. +# +# schroot 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, see +# <http://www.gnu.org/licenses/>. +# +##################################################################### + +set(bash_completion_data schroot) + +install(FILES ${bash_completion_data} + DESTINATION ${bash_completion_dir}) diff --git a/etc/pam/CMakeLists.txt b/etc/pam/CMakeLists.txt new file mode 100644 index 00000000..43a26c7e --- /dev/null +++ b/etc/pam/CMakeLists.txt @@ -0,0 +1,23 @@ +# Copyright © 2004-2013 Roger Leigh <rleigh@debian.org> +# +# schroot 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 3 of the License, or +# (at your option) any later version. +# +# schroot 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, see +# <http://www.gnu.org/licenses/>. +# +##################################################################### + +set(pam_data schroot) +set(pam_dir "/etc/pam.d") + +install(FILES ${pam_data} + DESTINATION ${pam_dir}) diff --git a/etc/setup.d/CMakeLists.txt b/etc/setup.d/CMakeLists.txt new file mode 100644 index 00000000..3f19f32f --- /dev/null +++ b/etc/setup.d/CMakeLists.txt @@ -0,0 +1,47 @@ +# Copyright © 2004-2013 Roger Leigh <rleigh@debian.org> +# +# schroot 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 3 of the License, or +# (at your option) any later version. +# +# schroot 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, see +# <http://www.gnu.org/licenses/>. +# +##################################################################### + +set(setup_data + common-config + common-data + common-functions) + +set(setup_scripts + 00check + 05file + 05btrfs + 05lvm + 05union + 10mount + 15binfmt + 15killprocs + 20copyfiles + 20nssdatabases + 50chrootname + 70services) + +install(FILES ${setup_data} + DESTINATION ${SCHROOT_SETUP_DATA_DIR}) + +install(PROGRAMS ${setup_scripts} + DESTINATION ${SCHROOT_CONF_SETUP_D}) + +install(CODE " +message(STATUS \"Symlinking: \$ENV{DESTDIR}${SCHROOT_CONF_SETUP_D}/99check\") +execute_process(COMMAND ln -sf 00check \$ENV{DESTDIR}${SCHROOT_CONF_SETUP_D}/99check) +") |