[OpenWrt-Devel] How to install 3rd party package in OpenWrt

Yousong Zhou yszhou4tech at gmail.com
Mon Jul 13 11:36:06 EDT 2015


On Jul 13, 2015 5:12 PM, "Pratik Prajapati" <pratik.prajapati12 at gmail.com>
wrote:
>
> Hi,
>
> What's the difference between following 2 methods in package makefile:
>
> 1) PKG_INSTALL:=1
>
> logs:
> make[2]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/package/libs/toolchain'
> make[2]: Entering directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/package/radvd-2.11'
> make[2]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/package/radvd-2.11'
> make[1]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt'
>
> 2)
> define Package/radvd-2.11/install
>        $(call Build/Install/Default)
> endef
>
> logs:
>
> make[3]: Entering directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11'
> make[4]: Entering directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11'
>  /bin/mkdir -p
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/sbin'
>   /usr/bin/install -c radvd radvdump
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/sbin'
>  /bin/mkdir -p
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/share/man/man5'
>  /usr/bin/install -c -m 644 radvd.conf.5
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/share/man/man5'
>  /bin/mkdir -p
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/share/man/man8'
>  /usr/bin/install -c -m 644 radvd.8 radvdump.8
'/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11/ipkg-install/usr/share/man/man8'
> make[4]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11'
> make[3]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/build_dir/target-mipsel_mips32_uClibc-0.9.33.2/radvd-2.11'
> SHELL=
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/host/bin/flock
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/tmp/.root-copy.flock
-c 'cp -fpR
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/root-malta/tmp-radvd-2.11/.
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/root-malta/'
> rm -rf
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/root-malta/tmp-radvd-2.11
> touch
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/root-malta/stamp/.radvd-2.11_installed
> if [ -f
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/pkginfo/radvd-2.11.default.install.clean
]; then rm -f
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/pkginfo/radvd-2.11.default.install
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/pkginfo/radvd-2.11.default.install.clean;
fi; echo "radvd-2.11" >>
/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/staging_dir/target-mipsel_mips32_uClibc-0.9.33.2/pkginfo/radvd-2.11.default.install
> make[2]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt/package/radvd-2.11'
> make[1]: Leaving directory
`/home/pratik.prajapati/work/openwrt-radvd/openwrt-tip/openwrt'
>
>
> Using second method I was able to install package but not with 1st method.
> For 1st method following was written here
http://wiki.openwrt.org/doc/devel/packages#dependencytypes:
> PKG_INSTALL - Setting it to "1" will call the package's original "make
install" with prefix set to PKG_INSTALL_DIR
>
> Is I am missing something for 1st method ?
>

I am not sure about this one, but package/xx/install is about packaging the
pkg in ipkg format, contaning dependency info, service script, uci configs,
etc.  and it is ipkg content that will be installed to root.  many times we
refer to PKG_INSTALL_DIR in package/xx/install for constructing .ipkg
content and binaries in .ipkg will be stripped by default.

Well, the above is mostly from past experience of packaging in OpenWrt.
correct me if it is wrong or there is more to add.

cheers

                yousong
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.infradead.org/pipermail/openwrt-devel/attachments/20150713/b71df14a/attachment.htm>
-------------- next part --------------
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list