Docker用patch

memo

cd /opt/fawkes-robotino && \
for p in /opt/patches.fawkes/fawkes-core-*.patch; do echo PATCH \$p; patch -d fawkes -p1 -N <\$p; done && \

/opt/patches.fawkes/fawkes-core-*.patch は,以下の通り.

  • fawkes-core-ffset_pose-add-missing-argument-declaration.patch
  • fawkes-core-gazsim-comm-resolve-fault-tolerance.patch
  • fawkes-core-laser-filter-mute-map-filter.patch
  • fawkes-core-logging-line-buffering.patch
  • fawkes-core-navgraph-save.patch
  • fawkes-core-ros-xmlrpcpp-breakage.patch

これらは,ICAPS2017のFawkes1.0.1を使ってたら,すでに適用済みですので,不要です.
たぶん,以下も適用済かなぁ.

# Perform the following substitutions in config files:
# * general gazebo config
#   - Fawkes Robotino path
#   - refbox host (use cluster DNS name)
#   - peer addresses (use cluster DNS names)
#   - peer send and receive ports (anticipate maximum possible set of peers)
# * per-robot host configurations
#   - Set appropriate peer address and ports (see above)
#   - replace magenta team name, robot name and number (CLIPS-agent only)
#     (the same team will not play against itself, hence set Carologistics to
#      use the same team name, and robot name and number, with both colors)
RUN /bin/bash -c "sed -i /opt/fawkes-robotino/cfg/conf.d/gazsim.yaml \
    -e 's/~\/fawkes-robotino/\/opt\/fawkes-robotino/g' \
    -e 's/refbox-host: .*$/refbox-host: refbox/' \
    -e 's/addresses: .*$/addresses: [\"refbox\", \"robot-c1\", \"robot-c2\", \"robot-c3\", \"robot-m1\", \"robot-m2\", \"robot-m3\", \"agent-c1\", \"agent-c2\", \"agent-c3\", \"agent-m1\", \"agent-m2\", \"agent-m3\"]/' \
    -e \"s/send-ports: .*$/send-ports: [4445, $(seq -s ', ' 4411 4422)]/\" \
    -e \"s/recv-ports: .*$/recv-ports: [4444, $(seq -s ', ' 4451 4462)]/\" \
    -e \"s/send-ports-crypto1: .*$/send-ports-crypto1: [4446, $(seq -s ', ' 4471 4482)]/\" \
    -e \"s/recv-ports-crypto1: .*$/recv-ports-crypto1: [4441, $(seq -s ', ' 4491 4502)]/\" \
    -e \"s/send-ports-crypto2: .*$/send-ports-crypto2: [4447, $(seq -s ', ' 4511 4522)]/\" \
    -e \"s/recv-ports-crypto2: .*$/recv-ports-crypto2: [4442, $(seq -s ', ' 4531 4542)]/\" &&\
        for i in \$(seq 1 6); do \
                sed -i /opt/fawkes-robotino/cfg/gazsim-configurations/default/host_robotino_\$i.yaml \
                        -e \"s/peer-address: .*\$/peer-address: refbox/\" \
                        -e \"s/peer-recv-port: .*\$/peer-recv-port: \$(expr 4410 + \$i)/\" \
                        -e \"s/peer-send-port: .*\$/peer-send-port: \$(expr 4450 + \$i)/\" \
                        -e \"s/cyan-recv-port: .*\$/cyan-recv-port: \$(expr 4470 + \$i)/\" \
                        -e \"s/cyan-send-port: .*\$/cyan-send-port: \$(expr 4490 + \$i)/\" \
                        -e \"s/magenta-recv-port: .*\$/magenta-recv-port: \$(expr 4510 + \$i)/\" \
                        -e \"s/magenta-send-port: .*\$/magenta-send-port: \$(expr 4530 + \$i)/\" \
                        -e \"s/team-name: Carologistics-2/team-name: Carologistics/g\" \
                        -e \"s/robot-name: R-4/robot-name: R-1/g\" \
                        -e \"s/robot-name: R-5/robot-name: R-2/g\" \
                        -e \"s/robot-name: R-6/robot-name: R-3/g\" \
                        -e \"s/robot-number: 4/robot-number: 1/g\" \
                        -e \"s/robot-number: 5/robot-number: 2/g\" \
                        -e \"s/robot-number: 6/robot-number: 3/g\"; \
        done \
        " 

かわりに,xmlrpc.h の部分の修正が必要です.

ln -s /usr/include/xmlrpc.h /usr/include/XmlRpc.h

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*