Commit Graph

39 Commits

Author SHA1 Message Date
Deniz Bahadir
27d161eac3 CPackDeb: dpkg-shlibdeps shall consider dependency components, too
When using `dpkg-shlibdeps` to automatically determine package
dependencies it considers the RUNPATH/RPATH of executables in order to
find all required shared libraries of such executables.

If the RUNPATH/RPATH contains a verbatim `$ORIGIN` (respective
`${ORIGIN}`), it will now be substituted by the packaging-paths of other
components that are marked as dependency and those paths will then be
used as additional search directories for `dpkg-shlibdeps`.

Associated tests were added as well.

Fixes: #21838
2024-05-30 16:13:46 +02:00
Brad King
2744f14db1 codespell: Fix typos 2023-11-17 09:58:21 -05:00
Josef Angstenberger
9d00423620
Tests: Fix typos and spelling in comments 2021-05-07 17:00:13 +02:00
william.r.dieter
1aefa86c31 Tests: Accept line breaks in more places in dpkg-shlibdeps error message
The RunCPackVerifyResult-shlibdeps-with-private-lib-failure test failed
intermittently due to sometimes breaking lines in its output in different
places.  This change accepts line breaks in more places in the command
output.

Signed-off-by: william.r.dieter <william.r.dieter@intel.com>
2021-02-01 10:32:51 -05:00
Deniz Bahadir
d586a4ad60 CPackDeb: dpkg-shlibdeps now supports searching for private shared libs
The new CPack variable `CPACK_DEBIAN_PACKAGE_SHLIBDEPS_PRIVATE_DIRS`
can be set to a list of directories. If `CPACK_DEBIAN_PACKAGE_SHLIBDEPS`
or `CPACK_DEBIAN_<component>_PACKAGE_SHLIBDEPS` are set to `ON` these
directories will be searched by `dpkg-shlibdeps` in order to find
private shared library dependencies of the libraries/executables that
shall be packed.
2021-01-22 08:33:01 -05:00
Jonathan Verner
6ba842163c CPack-deb: don't add a line with a dot to pkg desc
Currently, if the package description ends with a newline
(typically if it is read from a file) cpack -deb adds a single line
with a dot at the end which leads to a violation of the
`extended-description-contains-empty-paragraph` debian policy.

This commit fixes the above behaviour.

Fixes: #20763
2020-05-27 14:44:28 -04:00
Brad King
e61c2ed9ac Merge topic 'fix-cpack-deb-description-file'
d491f34a5e CPack: Fix regression in DEB generator description

Acked-by: Kitware Robot <kwrobot@kitware.com>
Merge-request: !4204
2020-01-13 10:23:26 -05:00
Kyle Edwards
d491f34a5e CPack: Fix regression in DEB generator description
Fixes: #20102
2020-01-10 17:22:52 -05:00
Kyle Edwards
5a8a9f7229 Ninja: Add multi-config variant
Co-Authored-by: vector-of-bool <vectorofbool@gmail.com>
2019-12-13 10:51:46 -05:00
Johnny Jazeix
2d0100fac7 replace remove and remove_directory with rm in tests 2019-11-13 18:02:18 -05:00
Kitware Robot
ed98209ddc Revise include order using clang-format-6.0
Run the `clang-format.bash` script to update our C and C++ code to a new
include order `.clang-format`.  Use `clang-format` version 6.0.
2019-10-01 12:26:36 -04:00
Alex Turbov
33c7ea513d CPackDeb: Use CPACK_PACKAGE_DESCRIPTION_FILE
Also, handle per-component description nicely.
2019-09-22 00:31:24 +02:00
Rolf Eike Beer
7929912b37 CPackComponentsDEB test: simplify error reporting 2019-07-05 16:25:05 +02:00
Rolf Eike Beer
3d11c63c9c CPackComponentsDEB test: simplify if() arguments 2019-07-05 16:24:58 +02:00
Rolf Eike Beer
09cf052079 CPackComponentsDEB test: simplify package version generation 2019-07-05 16:24:52 +02:00
Luz Paz
3ab7bf8285 Various typo fixes
Some are user-facing. Others are source comments.
2018-01-04 06:52:01 +11:00
Domen Vrankar
74b7457f12 CPack RPM and DEB: improved package version handling
Adds support for epoch version to CPackRPM and
CPackDeb packagers.
Also adds better version checking to CPackDeb
that complies with Debian rules.

Fixes: #17057
2017-09-21 19:54:17 +02:00
Domen Vrankar
1ef45a30aa Revert "CPack/DEB: Make package description variable precedence match RPM"
This reverts commit 332b089ad2 as multiline
descriptions require special formatting.
2016-09-24 12:05:06 +02:00
Domen Vrankar
332b089ad2 CPack/DEB: Make package description variable precedence match RPM
Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence
match CPackRPM behavior as much as possible.  This is technically a
breaking change, but the new behavior is more consistent with
expectation anyway.

Closes: #16272
2016-09-07 09:33:35 -04:00
Daniel Pfeifer
7a649111cd Use string(APPEND) in Tests
Automate with:

find Tests -type f -print0 | xargs -0 perl -i -0pe \
's/set\(([a-zA-Z0-9_]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
2016-07-28 00:43:04 +02:00
Brad King
a98a699987 Merge topic 'cpack-deb-different-package-names'
adbd3985 CPack/Deb possibility to change package name
2016-05-24 13:54:03 -04:00
Domen Vrankar
4f3b97063f CPack/Deb prevent accidental component dependencies
Prevent accidental inter component dependency setting
since this is a breaking feature in situations where
another CPack module is already using the feature.
It should be enabled if desired since it can cause
issues when upgrading only one of the components
for e.g. configuration instead of all the components
at once.
2016-05-23 20:21:32 +02:00
Domen Vrankar
adbd3985f8 CPack/Deb possibility to change package name
This patch preserves backward compatibility of
deb package names with previous CMake versions
but similarly to CPack/RPM allows to change
package name format and supports DEB-DEFAULT
setting that produces proper Debian package names.
2016-05-23 19:55:46 +02:00
Domen Vrankar
7e940bf74a CPack/Deb test changes due to breaking changes
New CPack/Deb tests and changes to old tests
as package file names and inter component dependency
detection was changed.
2016-05-13 10:46:05 -04:00
Brad King
39e830a98e Merge topic 'cpack-deb-config-file-source-field'
e5b70ed0 CPackDEB: added config file optional Source field
f2d98e2d CPackDEB: minor documentation and debug logging fixes
2015-11-06 14:58:11 -05:00
Raffi Enficiaud
e5b70ed013 CPackDEB: added config file optional Source field 2015-11-04 21:46:22 +01:00
Raffi Enficiaud
341cd93489 CPackDeb: ctest tests for compression scheme leak
Test that changing compression of debian package
content does not affect DEBIAN/ files which must
be gzipped
2015-11-03 18:18:35 +01:00
Brad King
6a072563d2 Merge topic 'cpack-package-empty-dirs'
9298f56d CPack: allow packaging of empty directories
ecd71c9c SystemTools: time operations on directories
19c6f4ee SystemTools: set time file permissions
749a140a CPackDeb: allow empty directories in component packages
2015-09-29 10:08:06 -04:00
Brad King
1d11f3ca68 Merge topic 'link-https-cmake.org'
da7276cf Replace http://www.cmake.org URLs with https://cmake.org
2015-09-29 10:08:02 -04:00
Raffi Enficiaud
749a140a0c CPackDeb: allow empty directories in component packages 2015-09-29 01:18:04 +02:00
Brad King
da7276cf94 Replace http://www.cmake.org URLs with https://cmake.org
The latter is now the preferred URL for visiting cmake.org with a
browser.  Convert using the shell code:

 git ls-files -z | xargs -0 sed -i 's|http://www\.cmake|https://cmake|g'
2015-09-25 15:47:39 -04:00
Brad King
4fa1755315 Revert topic 'cpack-package-empty-dirs'
The changes in commit 47b060ae (CPackDeb: allow empty directories in
component packages, 2015-09-21), commit b58de9fe (CPack: allow packaging
of empty directories, 2015-09-21), and commit b761e90d (CPack: remove
accidental changes, 2015-09-22) regressed packaging of CMake itself.
Revert the changes until they can be revised and rebased on other
changes that make additional fixes.
2015-09-25 11:55:59 -04:00
Raffi Enficiaud
47b060aee0 CPackDeb: allow empty directories in component packages 2015-09-22 01:57:44 +02:00
Raffi Enficiaud
7c7874c86e CPackDeb: preventing md5sum on symlinks
- Direct call to cmSystemTools::ComputeFileMD5
- Avoiding hashing symlinks
- Tests
2015-09-18 22:20:42 +02:00
Raffi Enficiaud
7044e8ee4b CPackDeb: use of libarchive and removal of fakeroot 2015-09-17 15:30:39 -04:00
Raffi Enficiaud
e3f522f6e4 CPack/DEB per component dependencies
Dependencies may now be set per component
2015-05-08 23:36:26 +02:00
Raffi Enficiaud
4588a1697f CPack/DEB component dependency auto-discovery
Dependency auto-discovery can now be set per component
2015-05-07 14:21:57 -04:00
Raffi Enficiaud
2f0afffabd CPackDEB component description
Support for setting different description
for each component.
2015-04-29 18:05:36 +02:00
Raffi Enficiaud
75b0e1679c CPackDeb: Add basic package tests
Tests of generated component based deb packages with lintian and dpkg.
Also includes basic file name check.
2015-04-23 09:03:10 -04:00