summaryrefslogtreecommitdiff
path: root/etc
diff options
context:
space:
mode:
authorRoger Leigh <rleigh@debian.org>2013-09-08 22:51:43 +0100
committerRoger Leigh <rleigh@debian.org>2013-09-29 16:45:34 +0100
commit4a272b256ea0cae74cad442eca75363e9d8edb47 (patch)
tree1450526d5688bb52b058db50634cfef0a1f53624 /etc
parentf71acb7a31d7932cf3d5f8aaa1682787c18b2127 (diff)
downloadschroot-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.txt73
-rw-r--r--etc/bash_completion/CMakeLists.txt22
-rw-r--r--etc/pam/CMakeLists.txt23
-rw-r--r--etc/setup.d/CMakeLists.txt47
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)
+")