[Rock-dev] Autoproj - Importing new packages in Autobuild

Javier Hidalgo Carrió javier.hidalgo_carrio at dfki.de
Tue Feb 11 21:29:22 CET 2014


On 02/11/2014 06:39 PM, Sylvain Joyeux wrote:
> Hi.
>
> Two comments to start with:
>   - you can completely remove the "older autoproj version" part, it
>     won't trigger anymore (was an old "smooth backward compatibility"
>     part in sisl)
Alright, thanks!

>   - don't put it in next and stable. New packages go in master. Period.
>
> For your problem: are you sure you selected the package in the manifest ?
Yes, but ...
> Try running
>
>   amake drivers/pcan_pcie_mini
This is what I actually did and .... Here We Go!!
Your answer helped me to understand where my problem might come from. 
The situation was:

I created a "exoter" package/set using  svn having ExoMars rover 
dedicated packages + the pcan_pcie_mini driver from peak-system.com.  
Therefore, the import_package "drivers/pcan_pcie_mini" is in the 
autoproj/remotes/*exoter*/libs.autobuild . Not affecting rock/libs.autobuild

The autoproj manifest file is:

package_sets:
     - gitorious: rock-toolchain/package_set
     - gitorious: rock/package_set
     - type: svn
       url: http://intranet.robotics.esa.int/svn/ROBS/trunk/package_set

layout:
     # COMPLETE PACKAGES
     - rock.base
     - rock.toolchain
     - *exoter*

The exoter/source.xml file:

name: *exoter*
version_control:
     - exoter/.*:
       type: svn
       url: http://intranet.robotics.esa.int/svn/ROBS/trunk/$PACKAGE
     - drivers/pcan_pcie_mini:
       type: archive
       url: 
http://www.peak-system.com/fileadmin/media/linux/files/peak-linux-driver-7.10.tar.gz
       update_cached_file: false

The exoter/libs.autobuild file:
cmake_package "exoter/blablabla1"
cmake_package "exoter/blablabla2"

import_package 'drivers/pcan_pcie_mini' do |pkg|
         Autoproj.message "Importing package PCI Express Mini"
         def pkg.do_build
             Autoproj.message "Something that should be noted about 
package %s"
             run('build', Autobuild.tool(:make), 
"-j#{parallel_build_level}", "-C", srcdir)
         end

         Autoproj.message "Newer Autoproj version"
         pkg.post_install do
             Autoproj.message "Something more that should be noted about 
package %s"
             pkg.progress_start "building %s" do
                 pkg.do_build
             end
         end
end

And the output from
     amake drivers/pcan_pcie_mini

it is the one in my previous message (no entering in pkg.post_install 
method).

However, moving the import_package 'drivers/pcan_pcie_mini'  to 
autoproj/remotes/*rock*/libs.autobuild and modify the rock/source.xml 
accordingly.

The updated manifest file is:

package_sets:
    - gitorious: rock-toolchain/package_set
    - gitorious: rock/package_set

layout:
     # COMPLETE PACKAGES
     - rock.base
     - rock.toolchain
     - *drivers/pcan_pcie_mini

*It is working!

*Conclusion*: The exoter meta-package using the svn is *wrong*. It is a 
nice silent error. Because I don't know exactly where since all the 
cmake_package "exoter/blablabla" worked as well as other orogen 
components specified at exoter/orogen.autobuild.

Any idea? /autoproj update-config/ does not complain but I don't see a 
proper /updated exoter/ message.

Thanks a lot,

Javier.









-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.dfki.de/pipermail/rock-dev/attachments/20140211/8ca2f06f/attachment.htm 


More information about the Rock-dev mailing list