Hi fast-downward developers,
I have created a debian package of fast-downward. My main platform is
Debian Bullseye, but I have built it for Debian Bullseye (11) and Ubuntu
Focal 20.04. To install it in:
Debian 11
---------
Follow these instructions:
$ sudo sh -c 'echo "deb [arch=amd64]
http://debrob.upc.edu/debian-robotics bullseye-robotics main" >
/etc/apt/sources.list.d/debian-robotics.list'
$ curl -s
https://debrob.upc.edu/debian-robotics/debian-robotics.gpg.asc
| sudo apt-key add
$ sudo apt-get update
$ sudo apt install fast-downward
The sources of the Debian package are located here:
https://salsa.debian.org/lepalom/fast-downward
Ubuntu 20.04
------------
Follow these instructions:
$ sudo add-apt-repository ppa:deb-rob/focal-robotics
$ sudo apt update
$ sudo apt install fast-downward
The ubuntu package is located here:
https://launchpad.net/~deb-rob/+archive/ubuntu/focal-robotics
How is the structure of the package?
------------------------------------
I have built the package without any LP solver. There are created two
binary packages:
* fast-downward
with the binary (C++) executable installed in /usr/bin
* python3-fast-downward
with the python3 code installed in
/usr/lib/python3/dist-packages/downward
When you install fast-downward, by dependencies, it installs
python3-fast-downward.
Patches
-------
I have had to patch the sources in some files. I really don't understand
some design paths or parts of the code. The patches can be viewed here:
https://salsa.debian.org/lepalom/fast-downward/-/tree/master/debian/patches
1) fast-downward.py, as is installed in /usr/bin the Debian Policy obey
to rename it without the .py extension.
2) 0001-Rename-driver-by-downward.patch
The python stuff of fast-downward is installed in:
/usr/lib/python3/dist-packages/downward/
fast-downward is patched to search in downward directory.
3) 0002-Fix-install-paths.patch
I have added two function to return where is installed downward and
translate.py
4) 0003-Fix-portfolio-files-path.patch and
0004-Adding-missing-import-glob.patch
Modified function to obtain the list of the aliases. I have been forced
to do this patch because when the package is installed, it creates a
__pychache__ directory. The original code read the contents (all) and
with an entry with different name that .py it crashed.
Tests
-----
I have run some test, for example:
$ fast-downward --alias seq-sat-lama-2011
misc/tests/benchmarks/gripper/prob01.pddl
And I have not noticed any problem. However, some more test should be
necessary. Remember, there's not LP solver option.
Also, the Debian scripts, at least in Debian, build a
fast-downward-dbgsym package with the debugging symbols, so it is
possible to debug the package built.
Final remarks
-------------
The Debian Policy demands to write a short description and long
description of every binary package. In this case, it can be almost the
same with one of the Python part than the other the C++ binary exec.
But, I'm really confused because I have not been able to describe in a
line what is fast-downward and in some lines a better long description.
Could you help me please?
Also, I can build it with the coinor interface activated, but I don't
know if it could be interesting for you or not. If you agree, I can try
to push it to the Debian Archive as official package, but I would like
to be sure that you agree the changes I have done, and more tests would
be necessary.
Cheers,
Leopold
--
--
Leopold Palomo-Avellaneda <
leopold...@upc.edu>
Institut d'Organització i Control de Sistemes Industrials -IOC-
Universitat Politècnica de Catalunya -UPC-
Institute of Industrial and Control Engineering
Technical University of Catalonia
Avda. Diagonal 647, pl. 11
08028 BARCELONA (Spain)
Tel.
+34-934016655 (office)
Tel.
+34-934017163 (lab)
Fax.
+34-934016605