All of lore.kernel.org
 help / color / mirror / Atom feed
From: Khem Raj <raj.khem@gmail.com>
To: "Pandey, Kamal" <Kamal.Pandey@ifm.com>,
	"yocto@yoctoproject.org" <yocto@yoctoproject.org>
Subject: Re: ntp recipe not able to install few packages in the rootfs
Date: Mon, 20 May 2019 13:28:30 -0700	[thread overview]
Message-ID: <e37fac46-e2ca-edef-bafa-de20d04f7728@gmail.com> (raw)
In-Reply-To: <19d34d87c85a4b71936613b8fbb5736c@ifm.com>



On 5/14/19 2:42 AM, Pandey, Kamal wrote:
> Hi
> I was trying to add ntp package to my image, I used the meta-networking layer for the recipe and added the ntp package to my custom image.bb recipe.
> After compiling I can see multiple packages in package-split directory of the working directory of ntp package, but these binaries are missing in the ROOTFS directory.

You can see below that ntpq is packaged into package of its own. So you 
need to add that to your IMAGE_INSTALL

something like

IMAGE_INSTALL_append = " ntpq"

in your image recipe might help

> Below is my ntp recipe:
> 
> 
> SUMMARY = "Network Time Protocol daemon and utilities"
> DESCRIPTION = "The Network Time Protocol (NTP) is used to \
> synchronize the time of a computer client or server to \
> another server or reference time source, such as a radio \
> or satellite receiver or modem."
> HOMEPAGE = "http://support.ntp.org"
> SECTION = "net"
> LICENSE = "NTP"
> LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=e877a1d567a6a58996d2b66e3e387003"
> 
> DEPENDS = "libevent"
> 
> SRC_URI = "http://www.eecis.udel.edu/~ntp/ntp_spool/ntp4/ntp-4.2/ntp-${PV}.tar.gz \
>             file://ntp-4.2.4_p6-nano.patch \
>             file://reproducibility-fixed-path-to-posix-shell.patch \
>             file://reproducibility-respect-source-date-epoch.patch \
>             file://ntpd \
>             file://ntp.conf \
>             file://ntpdate \
>             file://ntpdate.default \
>             file://ntpdate.service \
>             file://ntpd.service \
>             file://sntp.service \
>             file://sntp \
>             file://ntpd.list \
> "
> 
> SRC_URI[md5sum] = "1522d66574bae14abb2622746dad2bdc"
> SRC_URI[sha256sum] = "709b222b5013d77d26bfff532b5ea470a8039497ef29d09363931c036cb30454"
> 
> inherit autotools update-rc.d useradd systemd pkgconfig
> 
> # The ac_cv_header_readline_history is to stop ntpdc depending on either
> # readline or curses
> EXTRA_OECONF += "--with-net-snmp-config=no \
>                   --without-ntpsnmpd \
>                   ac_cv_header_readline_history_h=no \
>                   --with-yielding_select=yes \
>                   --with-locfile=redhat \
>                   --without-rpath \
>                   "
> CFLAGS_append = " -DPTYS_ARE_GETPT -DPTYS_ARE_SEARCHED"
> 
> USERADD_PACKAGES = "${PN}"
> NTP_USER_HOME ?= "/var/lib/ntp"
> USERADD_PARAM_${PN} = "--system --home-dir ${NTP_USER_HOME} \
>                         --no-create-home \
>                         --shell /bin/false --user-group ntp"
> 
> # NB: debug is default-enabled by NTP; keep it default-enabled here.
> PACKAGECONFIG ??= "cap debug refclocks openssl \
>      ${@bb.utils.filter('DISTRO_FEATURES', 'ipv6', d)} \
> "
> PACKAGECONFIG[openssl] = "--with-openssl-libdir=${STAGING_LIBDIR} \
>                            --with-openssl-incdir=${STAGING_INCDIR} \
>                            --with-crypto, \
>                            --without-openssl --without-crypto, \
>                            openssl"
> PACKAGECONFIG[cap] = "--enable-linuxcaps,--disable-linuxcaps,libcap"
> PACKAGECONFIG[readline] = "--with-lineeditlibs,--without-lineeditlibs,readline"
> PACKAGECONFIG[refclocks] = "--enable-all-clocks,--disable-all-clocks,pps-tools"
> PACKAGECONFIG[debug] = "--enable-debugging,--disable-debugging"
> PACKAGECONFIG[mdns] = "ac_cv_header_dns_sd_h=yes,ac_cv_header_dns_sd_h=no,mdns"
> PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,"
> 
> do_install_append() {
>      install -d ${D}${sysconfdir}/init.d
>      install -m 644 ${WORKDIR}/ntp.conf ${D}${sysconfdir}
>      install -m 755 ${WORKDIR}/ntpd ${D}${sysconfdir}/init.d
>      install -d ${D}${bindir}
>      install -m 755 ${WORKDIR}/ntpdate ${D}${bindir}/ntpdate-sync
> 
>      install -m 755 -d ${D}${NTP_USER_HOME}
>      chown ntp:ntp ${D}${NTP_USER_HOME}
> 
>      # Fix hardcoded paths in scripts
>      sed -i 's!/usr/sbin/!${sbindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
>      sed -i 's!/usr/bin/!${bindir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
>      sed -i 's!/etc/!${sysconfdir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
>      sed -i 's!/var/!${localstatedir}/!g' ${D}${sysconfdir}/init.d/ntpd ${D}${bindir}/ntpdate-sync
>      sed -i 's!^PATH=.*!PATH=${base_sbindir}:${base_bindir}:${sbindir}:${bindir}!' ${D}${bindir}/ntpdate-sync
>      sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/ntptrace
>      sed -i '/use/i use warnings;' ${D}${sbindir}/ntptrace
>      sed -i '1s,#!.*perl,#! ${bindir}/env perl,' ${D}${sbindir}/ntp-wait
>      sed -i '/use/i use warnings;' ${D}${sbindir}/ntp-wait
>      sed -i '1s,#!.*perl -w,#! ${bindir}/env perl,' ${D}${sbindir}/calc_tickadj
>      sed -i '/use/i use warnings;' ${D}${sbindir}/calc_tickadj
> 
>      install -d ${D}/${sysconfdir}/default
>      install -m 644 ${WORKDIR}/ntpdate.default ${D}${sysconfdir}/default/ntpdate
>      install -m 0644 ${WORKDIR}/sntp ${D}${sysconfdir}/default/
> 
>      install -d ${D}/${sysconfdir}/network/if-up.d
>      ln -s ${bindir}/ntpdate-sync ${D}/${sysconfdir}/network/if-up.d
> 
>      install -d ${D}${systemd_unitdir}/system
>      install -m 0644 ${WORKDIR}/ntpdate.service ${D}${systemd_unitdir}/system/
>      install -m 0644 ${WORKDIR}/ntpd.service ${D}${systemd_unitdir}/system/
>      install -m 0644 ${WORKDIR}/sntp.service ${D}${systemd_unitdir}/system/
> 
>      install -d ${D}${systemd_unitdir}/ntp-units.d
>      install -m 0644 ${WORKDIR}/ntpd.list ${D}${systemd_unitdir}/ntp-units.d/60-ntpd.list
> 
>      # Remove an empty libexecdir.
>      rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
> }
> 
> PACKAGES += "ntpdate sntp ntpq ${PN}-tickadj ${PN}-utils"
> # NOTE: you don't need ntpdate, use "ntpd -q -g -x"
> 
> # ntp originally includes tickadj. It's split off for inclusion in small firmware images on platforms
> # with wonky clocks (e.g. OpenSlug)
> RDEPENDS_${PN} = "${PN}-tickadj"
> # ntpd require libgcc for execution
> RDEPENDS_${PN} += "libgcc"
> # Handle move from bin to utils package
> RPROVIDES_${PN}-utils = "${PN}-bin"
> RREPLACES_${PN}-utils = "${PN}-bin"
> RCONFLICTS_${PN}-utils = "${PN}-bin"
> # ntpq was split out of ntp-utils
> RDEPENDS_${PN}-utils = "ntpq"
> 
> SYSTEMD_PACKAGES = "${PN} ntpdate sntp"
> SYSTEMD_SERVICE_${PN} = "ntpd.service"
> SYSTEMD_SERVICE_ntpdate = "ntpdate.service"
> SYSTEMD_SERVICE_sntp = "sntp.service"
> SYSTEMD_AUTO_ENABLE_sntp = "disable"
> 
> RPROVIDES_${PN} += "${PN}-systemd"
> RREPLACES_${PN} += "${PN}-systemd"
> RCONFLICTS_${PN} += "${PN}-systemd"
> 
> RPROVIDES_ntpdate += "ntpdate-systemd"
> RREPLACES_ntpdate += "ntpdate-systemd"
> RCONFLICTS_ntpdate += "ntpdate-systemd"
> 
> RSUGGESTS_${PN} = "iana-etc"
> 
> FILES_${PN} = "${sbindir}/ntpd.ntp ${sysconfdir}/ntp.conf ${sysconfdir}/init.d/ntpd ${libdir} \
>      ${NTP_USER_HOME} \
>      ${systemd_unitdir}/ntp-units.d/60-ntpd.list ${libexecdir}\
> "
> FILES_${PN}-tickadj = "${sbindir}/tickadj"
> FILES_${PN}-utils = "${sbindir} ${datadir}/ntp/lib"
> RDEPENDS_${PN}-utils += "perl"
> FILES_ntpdate = "${sbindir}/ntpdate \
>      ${sysconfdir}/network/if-up.d/ntpdate-sync \
>      ${bindir}/ntpdate-sync \
>      ${sysconfdir}/default/ntpdate \
>      ${systemd_unitdir}/system/ntpdate.service \
> "
> FILES_sntp = "${sbindir}/sntp \
>                ${sysconfdir}/default/sntp \
>                ${systemd_unitdir}/system/sntp.service \
>               "
> FILES_ntpq = "${sbindir}/ntpq"
> 
> CONFFILES_${PN} = "${sysconfdir}/ntp.conf"
> CONFFILES_ntpdate = "${sysconfdir}/default/ntpdate"
> 
> INITSCRIPT_NAME = "ntpd"
> # No dependencies, so just go in at the standard level (20)
> INITSCRIPT_PARAMS = "defaults"
> 
> pkg_postinst_ntpdate() {
>      if ! grep -q -s ntpdate $D/var/spool/cron/root; then
>          echo "adding crontab"
>          test -d $D/var/spool/cron || mkdir -p $D/var/spool/cron
>          echo "30 * * * *    ${bindir}/ntpdate-sync silent" >> $D/var/spool/cron/root
>      fi
> }
> 
> inherit update-alternatives
> 
> ALTERNATIVE_PRIORITY = "100"
> 
> ALTERNATIVE_${PN} = "ntpd"
> ALTERNATIVE_LINK_NAME[ntpd] = "${sbindir}/ntpd"
> 
> Now the ntpq package is missing from the rootfile system while its there in package-split and image directory of the ntp app.
> 
> Can anyone tell me what could be the problem.
> Thanks and regards
> Kamal Pandey
> 


      parent reply	other threads:[~2019-05-20 20:28 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-14  9:42 ntp recipe not able to install few packages in the rootfs Pandey, Kamal
2019-05-14 10:14 ` Alexander Kanavin
2019-05-20 20:28 ` Khem Raj [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e37fac46-e2ca-edef-bafa-de20d04f7728@gmail.com \
    --to=raj.khem@gmail.com \
    --cc=Kamal.Pandey@ifm.com \
    --cc=yocto@yoctoproject.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.