2 # Package: RN Makefile System Utility
4 # Desc: Build debian package
5 # Usage: dpkg-helper <dev|src|doc>
8 # /*! \cond RNMAKE_DOXY*/
11 optstr="a:c:d:n:p:t:v:y:"
22 while getopts :${optstr} opt
25 a) deb_arch=${OPTARG} ;;
27 c) deb_confdir=${OPTARG} ;;
29 d) dist_dir=${OPTARG} ;;
31 n) deb_name=${OPTARG} ;;
33 p) deb_prefix=${OPTARG} ;;
35 t) deb_tmpdir=${OPTARG} ;;
37 v) deb_version=${OPTARG} ;;
39 y) pkg_type=${OPTARG} ;;
41 *) echo "rnmake: $0: error: Unknown opt: $opt"; exit 2;;
45 repo_dir=${dist_dir}/repo
47 # because dpkg-deb uses amd64 instead of x86_64
48 #if [ $deb_arch = "x86_64" ]
53 x86_64) deb_arch="amd64";;
54 i386) deb_arch="i386";;
55 linaro) deb_arch="armhf";;
56 odroid) deb_arch="armhf";;
58 *) echo "rnmake does not yet support the requested debian package arch";
65 deb_tmpdir=${deb_tmpdir}-${deb_arch}
68 echo "Found debian package configuration directoy:" ${deb_confdir}
69 echo " Creating package" ${deb_name}".deb"
70 echo " arch =" ${deb_arch}
71 echo " vers =" ${deb_version}
72 echo " install prefix =" ${deb_prefix}
75 if [ ! -e $deb_tmpdir ]
77 mkdir -p $deb_tmpdir/DEBIAN
78 mkdir -p $deb_tmpdir/$deb_prefix
86 cp -r $deb_confdir/* ${deb_tmpdir}/DEBIAN/.
88 sed_arch="s/@ARCH@/"$deb_arch"/"
89 sed_version="s/@VERSION@/"$deb_version"/"
90 sed -e $sed_version -e $sed_arch --in-place $deb_tmpdir/DEBIAN/control
91 sed -e $sed_version -e $sed_arch --in-place $deb_tmpdir/DEBIAN/postinst
93 # copying files from dist
95 pkgtype-dev) echo "Creating dev package."; \
96 cp -r ${dist_dir}/bin ${deb_tmpdir}/${deb_prefix}/.;
97 cp -r ${dist_dir}/lib ${deb_tmpdir}/${deb_prefix}/.;
98 cp -r ${dist_dir}/include ${deb_tmpdir}/${deb_prefix}/.;
99 cp -r ${dist_dir}/share ${deb_tmpdir}/${deb_prefix}/.;
100 cp -r ${dist_dir}/etc ${deb_tmpdir}/.;;
102 pkgtype-src) echo "Creating src package."; \
103 cp -r ${dist_dir}/src ${deb_tmpdir}/${deb_prefix}/.;;
105 pkgtype-doc) echo "Creating doc package."; \
106 cp -r ${dist_dir}/doc ${deb_tmpdir}/${deb_prefix}/.;;
108 *) echo "rnmake does not support the requested debian package type";
112 fakeroot -- dpkg-deb --build $deb_tmpdir 1>/dev/null
113 mv $dist_dir/tmp/deb/$deb_name-$deb_arch.deb $repo_dir/.
117 #/*! \endcond RNMAKE_DOXY */