Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Modernize RPM spec file templates #533

Merged
merged 7 commits into from
Jul 15, 2019
Merged

Modernize RPM spec file templates #533

merged 7 commits into from
Jul 15, 2019

Conversation

cottsay
Copy link
Member

@cottsay cottsay commented Apr 23, 2019

Each commit message contains justification for the change.

@cottsay cottsay self-assigned this Apr 23, 2019
@cottsay cottsay requested a review from nuclearsandwich April 23, 2019 00:37
@dirk-thomas dirk-thomas mentioned this pull request May 16, 2019
20 tasks
Copy link
Contributor

@nuclearsandwich nuclearsandwich left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems clear enough to me. I don't know the first thing about spec files and would like to see a review from a fellow subject matter expert.

@cottsay
Copy link
Member Author

cottsay commented Jul 9, 2019

@richmattes, would you mind taking a look at these changes? We'll use very similar templates for the ROS 2 packages for RHEL and Fedora (though this review includes only updates to the ROS 1 templates).

@richmattes
Copy link

richmattes commented Jul 10, 2019 via email

@richmattes
Copy link

I took a look at the changes, they all look reasonable to me.

@cottsay
Copy link
Member Author

cottsay commented Jul 15, 2019

Thanks for taking a look, @richmattes and @nuclearsandwich. I'm going to clean up the line breaks in the commit messages and merge this since it won't conflict with the ongoing generator refactor.

cottsay added 7 commits July 15, 2019 10:19
Neither Fedora or RHEL 7+ use this value. If another distribution were
to be supported for RPM generation in Bloom that can take advantage of
this value, we should find a better way to add it instead of hard-
coding it into the template.

Signed-off-by: Scott K Logan <logans@cottsay.net>
Supported in RPM 4.11 and newer:
https://rpm.org/user_doc/autosetup.html

Signed-off-by: Scott K Logan <logans@cottsay.net>
...rather than assuming that the make executable is 'make'.

Signed-off-by: Scott K Logan <logans@cottsay.net>
Also move terminating '..' to the end to make it easier to patch cmake
arguments and less likely that the make arguments accidentally get
added to the end of the cmake arguments.

Signed-off-by: Scott K Logan <logans@cottsay.net>
There are two classes of issues here:
1. ROS packages often provide libraries which are also provided by the
   operating system. If an operating system declares a dependency on
   that library, we don't want the package manager to install the ROS
   package instead of the system package.
2. Many ROS packages don't install libraries in a way that the
   'provides' portion of dependency generation can detect, so when
   another ROS package takes a dependency on that library, the
   automatic dependency can't be met and the downstream package
   cannot be installed.

More info on RPM dependency generation:
https://rpm.org/user_doc/dependency_generators.html

Signed-off-by: Scott K Logan <logans@cottsay.net>
The BRP Python bytecompiler will always use the sytem's default Python
interpreter, which may not be the interpreter we're targeting. Safest
option is to disable the automagic byte compilation altogether.

Note that this doesn't mean that python files won't ever be compiled,
it just means that the catch-all policy at the end of the process won't
attempt to compile anything which hasn't already been compiled.

Signed-off-by: Scott K Logan <logans@cottsay.net>
This change shouldn't modify the behavior in Fedora, where all current
releases define 'cmake3' to be the same as 'cmake'. In RHEL 7, where
cmake 2 is the default, we need to use the 'cmake3' macro to use the
supplamental 'cmake3' executable instead of the system default.

All current ROS releases except Indigo have a *minimum* cmake
requirement of 3.

Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay changed the title Modernize RPM spec file template Modernize RPM spec file templates Jul 15, 2019
@cottsay cottsay merged commit d885e58 into ros-infrastructure:master Jul 15, 2019
@cottsay cottsay deleted the rpm_spec_updates branch July 15, 2019 17:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants