summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plansys2-domain-expert.spec50
1 files changed, 43 insertions, 7 deletions
diff --git a/plansys2-domain-expert.spec b/plansys2-domain-expert.spec
index 3d314fb..2e87d03 100644
--- a/plansys2-domain-expert.spec
+++ b/plansys2-domain-expert.spec
@@ -4,7 +4,7 @@
Name: ros-%{ros_distro}-%{RosPkgName}
Version: 2.0.9
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: This package contains the Domain Expert module for the ROS2 Planning System
License: Apache License, Version 2.0
URL: https://github.com/IntelligentRoboticsLabs/ros2_planning_system/tree/humble-devel
@@ -19,10 +19,10 @@ BuildRequires: cmake
BuildRequires: ros-%{ros_distro}-ament-cmake
BuildRequires: ros-%{ros_distro}-ament-index-cpp
BuildRequires: ros-%{ros_distro}-lifecycle-msgs
+BuildRequires: ros-%{ros_distro}-pluginlib
BuildRequires: ros-%{ros_distro}-plansys2-core
BuildRequires: ros-%{ros_distro}-plansys2-msgs
BuildRequires: ros-%{ros_distro}-plansys2-pddl-parser
-BuildRequires: ros-%{ros_distro}-plansys2-popf-plan-solver
BuildRequires: ros-%{ros_distro}-rclcpp
BuildRequires: ros-%{ros_distro}-rclcpp-action
BuildRequires: ros-%{ros_distro}-rclcpp-lifecycle
@@ -32,10 +32,10 @@ Requires: ros-%{ros_distro}-ros-workspace
Requires: ros-%{ros_distro}-ament-cmake
Requires: ros-%{ros_distro}-ament-index-cpp
Requires: ros-%{ros_distro}-lifecycle-msgs
+Requires: ros-%{ros_distro}-pluginlib
Requires: ros-%{ros_distro}-plansys2-core
Requires: ros-%{ros_distro}-plansys2-msgs
Requires: ros-%{ros_distro}-plansys2-pddl-parser
-Requires: ros-%{ros_distro}-plansys2-popf-plan-solver
Requires: ros-%{ros_distro}-rclcpp
Requires: ros-%{ros_distro}-rclcpp-action
Requires: ros-%{ros_distro}-rclcpp-lifecycle
@@ -46,7 +46,11 @@ Provides: %{name}-doc = %{version}-%{release}
Provides: %{name}-runtime = %{version}-%{release}
%description
-This package contains the Domain Expert module for the ROS2 Planning System
+This package contains the Domain Expert module for the ROS2 Planning System.
+The plansys2-popf-plan-solver plugin is bundled from the same source tree to
+avoid the broken ros-humble-popf transitive dependency in the additional repo
+(the repo's plansys2-popf-plan-solver RPM requires unavailable ros-humble-popf;
+popf is only an exec_depend of popf_plan_solver, not a build dependency).
%prep
%autosetup -n %{RosPkgName}-%{src_version}
@@ -55,7 +59,10 @@ This package contains the Domain Expert module for the ROS2 Planning System
[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
-cd plansys2_domain_expert
+
+# Build plansys2_popf_plan_solver first (popf is only a runtime exec_depend,
+# not a build dependency — the source invokes "ros2 run popf popf" as a subprocess)
+cd plansys2_popf_plan_solver
mkdir -p .obj && cd .obj
%cmake3 \
-DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
@@ -66,18 +73,47 @@ mkdir -p .obj && cd .obj
-DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
..
make %{?_smp_mflags}
+make install DESTDIR=%{_builddir}/popf_stage
+cd ../..
+
+# Build plansys2_domain_expert with popf_plan_solver available from stage
+export POPF_PREFIX=%{_builddir}/popf_stage/opt/ros/%{ros_distro}
+export AMENT_PREFIX_PATH="$POPF_PREFIX:/opt/ros/%{ros_distro}"
+cd plansys2_domain_expert
+mkdir -p .obj && cd .obj
+%cmake3 \
+ -DCMAKE_INSTALL_PREFIX="/opt/ros/%{ros_distro}" \
+ -DAMENT_PREFIX_PATH="$POPF_PREFIX:/opt/ros/%{ros_distro}" \
+ -DCMAKE_PREFIX_PATH="$POPF_PREFIX:/opt/ros/%{ros_distro}" \
+ -UINCLUDE_INSTALL_DIR -ULIB_INSTALL_DIR -USYSCONF_INSTALL_DIR -USHARE_INSTALL_PREFIX -ULIB_SUFFIX \
+ -DSETUPTOOLS_DEB_LAYOUT=OFF \
+ -DBUILD_TESTING=OFF -DTESTING=OFF -DCMAKE_SUPPRESS_REGENERATION=ON \
+ ..
+make %{?_smp_mflags}
%install
[ -f /opt/ros/%{ros_distro}/setup.sh ] && source /opt/ros/%{ros_distro}/setup.sh || true
export PYTHONPATH=/opt/ros/%{ros_distro}/lib/python%{python3_version}/site-packages${PYTHONPATH:+:$PYTHONPATH}
export PKG_CONFIG_PATH=/opt/ros/%{ros_distro}/lib/pkgconfig${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}
-cd plansys2_domain_expert
-cd .obj
+
+# Install plansys2_popf_plan_solver
+cd plansys2_popf_plan_solver/.obj
+make install DESTDIR=%{buildroot}
+
+# Install plansys2_domain_expert
+cd ../../plansys2_domain_expert/.obj
make install DESTDIR=%{buildroot}
%files
/opt/ros/%{ros_distro}
%changelog
+* Thu Sep 24 2026 ai-importer <ai-importer@openeuler.org> - 2.0.9-2
+- Bundle plansys2-popf-plan-solver from the same source tree instead of
+ depending on the broken additional-repo RPM (requires unavailable
+ ros-humble-popf; popf is exec_depend only, not a build dep)
+- Add ros-humble-pluginlib BuildRequires/Requires for popf_plan_solver
+- Remove ros-humble-plansys2-popf-plan-solver from BuildRequires/Requires
+
* Thu Sep 24 2026 ai-importer <ai-importer@openeuler.org> - 2.0.9-1
- Initial import (ROS batch)