On 2007/10/07, Ulrich Mueller <[EMAIL PROTECTED]> wrote:

> Which leads me to the question: What is the recommended way to add a
> service to /etc/services? 

FYI, attached is a list of ebuilds which touch /etc/services.  I count 
eight packages, which do it in either src_install, pkg_postinst, or
pkg_config.  Plus a few ones with just some einfos about what should
be done by hand.

Maybe that's worth a small eclass, with a "useradd"-like function?

--
TGL.
app-emacs/[EMAIL PROTECTED]
app-emacs/[EMAIL PROTECTED]     elisp-site-file-install 
${FILESDIR}/50lookup-gentoo.el
app-emacs/[EMAIL PROTECTED]
app-emacs/[EMAIL PROTECTED]:    if ! $(grep 2010/tcp /etc/services >/dev/null 
2>&1) ; then
app-emacs/[EMAIL PROTECTED]:            cp /etc/services ${T}/services
app-emacs/[EMAIL PROTECTED]             cat >>${T}/services<<-EOF
app-emacs/[EMAIL PROTECTED]             ndtp            2010/tcp                
        # Network Dictionary Transfer Protocol
app-emacs/[EMAIL PROTECTED]             EOF
...
dev-db/[EMAIL PROTECTED]                ln -s /var/log/firebird.log firebird.log
dev-db/[EMAIL PROTECTED]        fi
dev-db/[EMAIL PROTECTED]
dev-db/[EMAIL PROTECTED]:       # add gds_db to /etc/services
dev-db/[EMAIL PROTECTED]:       if [ -z "`grep gds_db  /etc/services`" ]
dev-db/[EMAIL PROTECTED]        then
dev-db/[EMAIL PROTECTED]:               echo -e "#\n#Service added for gds_db 
(firebird)\n#" >> /etc/services
dev-db/[EMAIL PROTECTED]:               echo "gds_db            3050/tcp" >> 
/etc/services
dev-db/[EMAIL PROTECTED]:               einfo "added gds_db to /etc/services"
dev-db/[EMAIL PROTECTED]        fi
dev-db/[EMAIL PROTECTED]
dev-db/[EMAIL PROTECTED]        # if found /etc/isc4.gdb from previous install, 
backup, and restore as
...
media-gfx/[EMAIL PROTECTED]() {
media-gfx/[EMAIL PROTECTED]     # What follows is modified from rpm -qp 
--scripts Maya6_5-6.5-253.i686.rpm
media-gfx/[EMAIL PROTECTED]:    cp ${ROOT}/etc/services ${T}/services.maya_save
media-gfx/[EMAIL PROTECTED]:    awk '/mi-ray/ { found++; print ; next } {print} 
END {if (0==found) print "mi-ray 7003/tcp" }' ${T}/services.maya_save > 
${ROOT}/etc/services
media-gfx/[EMAIL PROTECTED]
media-gfx/[EMAIL PROTECTED]:    cp ${ROOT}/etc/services ${T}/services.maya_save
media-gfx/[EMAIL PROTECTED]:    awk '/mi-raysat/ { found++; print ; next } 
{print} END {if (0==found) print "mi-raysat 7103/tcp" }' 
${T}/services.maya_save > ${ROOT}/etc/services
media-gfx/[EMAIL PROTECTED]
media-gfx/[EMAIL PROTECTED]     # update the magic file
media-gfx/[EMAIL PROTECTED]     if [[ -e ${ROOT}/usr/share/magic ]]; then
...
media-libs/[EMAIL PROTECTED]() {
media-libs/[EMAIL PROTECTED]    make DESTDIR=${D} install || die
media-libs/[EMAIL PROTECTED]
media-libs/[EMAIL PROTECTED]:   # Add to /etc/services
media-libs/[EMAIL PROTECTED]:   if ! grep -q ^ladcca /etc/services; then
media-libs/[EMAIL PROTECTED]            dodir /etc
media-libs/[EMAIL PROTECTED]            insinto /etc
media-libs/[EMAIL PROTECTED]:           doins /etc/services
media-libs/[EMAIL PROTECTED]:           echo -e "\nladcca\t\t14541/tcp\t\t\t# 
LADCCA client/server protocol" >> ${D}/etc/services
media-libs/[EMAIL PROTECTED]    fi
media-libs/[EMAIL PROTECTED]
media-libs/[EMAIL PROTECTED]    dodoc AUTHORS ChangeLog NEWS README TODO
...
media-libs/[EMAIL PROTECTED]() {
media-libs/[EMAIL PROTECTED]    make DESTDIR=${D} install || die
media-libs/[EMAIL PROTECTED]
media-libs/[EMAIL PROTECTED]:   # Add to /etc/services
media-libs/[EMAIL PROTECTED]:   if ! grep -q ^ladcca /etc/services; then
media-libs/[EMAIL PROTECTED]            dodir /etc
media-libs/[EMAIL PROTECTED]            insinto /etc
media-libs/[EMAIL PROTECTED]:           doins /etc/services
media-libs/[EMAIL PROTECTED]:           echo -e "\nladcca\t\t14541/tcp\t\t\t# 
LADCCA client/server protocol" >> ${D}/etc/services
media-libs/[EMAIL PROTECTED]    fi
media-libs/[EMAIL PROTECTED]
media-libs/[EMAIL PROTECTED]    dodoc AUTHORS ChangeLog NEWS README TODO
...
media-sound/[EMAIL PROTECTED]() {
media-sound/[EMAIL PROTECTED]   make DESTDIR=${D} install || die
media-sound/[EMAIL PROTECTED]
media-sound/[EMAIL PROTECTED]:  # Add to /etc/services
media-sound/[EMAIL PROTECTED]:  if ! grep -q ^lash /etc/services; then
media-sound/[EMAIL PROTECTED]           dodir /etc
media-sound/[EMAIL PROTECTED]           insinto /etc
media-sound/[EMAIL PROTECTED]:          doins /etc/services
media-sound/[EMAIL PROTECTED]:          echo -e "\nlash\t\t14541/tcp\t\t\t# 
LASH client/server protocol" >> ${D}/etc/services
media-sound/[EMAIL PROTECTED]   fi
media-sound/[EMAIL PROTECTED]
media-sound/[EMAIL PROTECTED]   dodoc AUTHORS ChangeLog NEWS README TODO
...
media-sound/[EMAIL PROTECTED]() {
media-sound/[EMAIL PROTECTED]   make DESTDIR=${D} install || die
media-sound/[EMAIL PROTECTED]
media-sound/[EMAIL PROTECTED]:  # Add to /etc/services
media-sound/[EMAIL PROTECTED]:  if ! grep -q ^lash /etc/services; then
media-sound/[EMAIL PROTECTED]           dodir /etc
media-sound/[EMAIL PROTECTED]           insinto /etc
media-sound/[EMAIL PROTECTED]:          doins /etc/services
media-sound/[EMAIL PROTECTED]:          echo -e "\nlash\t\t14541/tcp\t\t\t# 
LASH client/server protocol" >> ${D}/etc/services
media-sound/[EMAIL PROTECTED]   fi
media-sound/[EMAIL PROTECTED]
media-sound/[EMAIL PROTECTED]   dodoc AUTHORS ChangeLog NEWS README TODO
...
net-ftp/[EMAIL PROTECTED]() {
net-ftp/[EMAIL PROTECTED]:      einfo "Updating /etc/services"
net-ftp/[EMAIL PROTECTED]:      { grep -v ^glftpd /etc/services;
net-ftp/[EMAIL PROTECTED]       echo "glftpd   21/tcp"
net-ftp/[EMAIL PROTECTED]:      } > /etc/services.new
net-ftp/[EMAIL PROTECTED]:      mv -f /etc/services.new /etc/services
net-ftp/[EMAIL PROTECTED]
net-ftp/[EMAIL PROTECTED]       einfo "Updating crontab"
net-ftp/[EMAIL PROTECTED]       { crontab -l | grep -v "bin/reset"
...
net-ftp/[EMAIL PROTECTED]() {
net-ftp/[EMAIL PROTECTED]:      einfo "Updating /etc/services"
net-ftp/[EMAIL PROTECTED]:      { grep -v ^glftpd /etc/services;
net-ftp/[EMAIL PROTECTED]       echo "glftpd   21/tcp"
net-ftp/[EMAIL PROTECTED]:      } > /etc/services.new
net-ftp/[EMAIL PROTECTED]:      mv -f /etc/services.new /etc/services
net-ftp/[EMAIL PROTECTED]
net-ftp/[EMAIL PROTECTED]       einfo "Updating crontab"
net-ftp/[EMAIL PROTECTED]       { crontab -l | grep -v "bin/reset"
...
net-misc/[EMAIL PROTECTED]
net-misc/[EMAIL PROTECTED]      einstall || die
net-misc/[EMAIL PROTECTED]
net-misc/[EMAIL PROTECTED]:     if ! $(grep 2010/tcp /etc/services >/dev/null 
2>&1) ; then
net-misc/[EMAIL PROTECTED]:             cp /etc/services ${T}/services
net-misc/[EMAIL PROTECTED]              cat >>${T}/services<<-EOF
net-misc/[EMAIL PROTECTED]              ndtp            2010/tcp                
        # Network Dictionary Transfer Protocol
net-misc/[EMAIL PROTECTED]              EOF
...
net-proxy/[EMAIL PROTECTED]() {
net-proxy/[EMAIL PROTECTED]     einfo "Add ufdbguard port to services:"
net-proxy/[EMAIL PROTECTED]:    einfo 'echo "ufdbguardd      3977/tcp" >> 
/etc/services '
net-proxy/[EMAIL PROTECTED]
...
sci-astronomy/[EMAIL PROTECTED]() {
sci-astronomy/[EMAIL PROTECTED] einfo "to use the clients the following line 
will"
sci-astronomy/[EMAIL PROTECTED]:        einfo "have to be inserted into 
/etc/services"
sci-astronomy/[EMAIL PROTECTED] einfo "predict    1210/udp"
sci-astronomy/[EMAIL PROTECTED] einfo "the port can be changed to anything"
sci-astronomy/[EMAIL PROTECTED] einfo "the name predict is what is needed to 
work"
...
sys-cluster/[EMAIL PROTECTED]() {
sys-cluster/[EMAIL PROTECTED]:  einfo "Updating ${ROOT}/etc/services"
sys-cluster/[EMAIL PROTECTED]:  { grep -v ^${PN} "${ROOT}"/etc/services;
sys-cluster/[EMAIL PROTECTED]   echo "csync2  30865/tcp"
sys-cluster/[EMAIL PROTECTED]:  } > "${ROOT}"/etc/services.new
sys-cluster/[EMAIL PROTECTED]:  mv -f "${ROOT}"/etc/services.new 
"${ROOT}"/etc/services
sys-cluster/[EMAIL PROTECTED]
sys-cluster/[EMAIL PROTECTED]   if [ ! -f 
"${ROOT}"/etc/${PN}/csync2_ssl_key.pem ]; then
sys-cluster/[EMAIL PROTECTED]           einfo "Creating default certificate in 
${ROOT}/etc/${PN}"
...
sys-cluster/[EMAIL PROTECTED]() {
sys-cluster/[EMAIL PROTECTED]:  einfo "Updating ${ROOT}/etc/services"
sys-cluster/[EMAIL PROTECTED]:  { grep -v ^${PN} "${ROOT}"/etc/services;
sys-cluster/[EMAIL PROTECTED]   echo "csync2  30865/tcp"
sys-cluster/[EMAIL PROTECTED]:  } > "${ROOT}"/etc/services.new
sys-cluster/[EMAIL PROTECTED]:  mv -f "${ROOT}"/etc/services.new 
"${ROOT}"/etc/services
sys-cluster/[EMAIL PROTECTED]
sys-cluster/[EMAIL PROTECTED]   if [ ! -f 
"${ROOT}"/etc/${PN}/csync2_ssl_key.pem ]; then
sys-cluster/[EMAIL PROTECTED]           einfo "Creating default certificate in 
${ROOT}/etc/${PN}"
...
sys-cluster/[EMAIL PROTECTED]() {
sys-cluster/[EMAIL PROTECTED]   einfo "If you havent done so already please 
execute the following command"
sys-cluster/[EMAIL PROTECTED]   einfo "\"emerge --config =${CATEGORY}/${PF}\""
sys-cluster/[EMAIL PROTECTED]:  einfo "to add xmlsysd to /etc/services."
sys-cluster/[EMAIL PROTECTED]   einfo
sys-cluster/[EMAIL PROTECTED]   einfo "Be sure to edit /etc/xinetd.d/xmylsysd 
to suit your own options."
sys-cluster/[EMAIL PROTECTED]   einfo
...
sys-cluster/[EMAIL PROTECTED]() {
sys-cluster/[EMAIL PROTECTED]:  echo "xmlsysd           7887/tcp        # 
xmlsysd remote system stats" >> /etc/services
sys-cluster/[EMAIL PROTECTED]:  einfo "Added xmlsysd to /etc/services"
sys-cluster/[EMAIL PROTECTED]
...
sys-fs/[EMAIL PROTECTED]() {
sys-fs/[EMAIL PROTECTED]        einfo "with this release, you can configure the 
used"
sys-fs/[EMAIL PROTECTED]:       einfo "ports through /etc/services"
sys-fs/[EMAIL PROTECTED]        einfo
sys-fs/[EMAIL PROTECTED]        einfo "eg. use the default"
sys-fs/[EMAIL PROTECTED]        einfo "rquotad               4003/tcp           
             # quota"

Reply via email to