IPS Facets and Info files

Posted by mkupfer on Oracle Blogs See other posts from Oracle Blogs or by mkupfer
Published on Tue, 29 Nov 2011 16:10:38 -0600 Indexed on 2011/11/30 1:59 UTC
Read the original article Hit count: 639

Filed under:

One of the unusual things about IPS is its "facet" feature. For example, if you're a developer using the foo library, you don't install a libfoo-dev package to get the header files. Intead, you install the libfoo package, and your facet.devel setting controls whether you get header files.

I was reminded of this recently when I tried to look at some documentation for Emacs Org mode. I was surprised when Emacs's Info browser said it couldn't find the top-level Info directory. I poked around in /usr/share but couldn't find any info files.

  $ ls -l /usr/share/info
  ls: cannot access /usr/share/info: No such file or directory

Was I was missing a package?

  $ pkg list -a | egrep "info|emacs"
  editor/gnu-emacs                                  23.1-0.175.0.0.0.2.537     i--
  editor/gnu-emacs/gnu-emacs-gtk                    23.1-0.175.0.0.0.2.537     i--
  editor/gnu-emacs/gnu-emacs-lisp                   23.1-0.175.0.0.0.2.537     ---
  editor/gnu-emacs/gnu-emacs-no-x11                 23.1-0.175.0.0.0.2.537     ---
  editor/gnu-emacs/gnu-emacs-x11                    23.1-0.175.0.0.0.2.537     i--
  system/data/terminfo                              0.5.11-0.175.0.0.0.2.1     i--
  system/data/terminfo/terminfo-core                0.5.11-0.175.0.0.0.2.1     i--
  text/texinfo                                      4.7-0.175.0.0.0.2.537      i--
  x11/diagnostic/x11-info-clients                   7.6-0.175.0.0.0.0.1215     i--
  $
  

Hmm. I didn't have the gnu-emacs-lisp package. That seemed an unlikely place to stick the Info files, and pkg(1) confirmed that the info files were not there:

  $ pkg contents -r gnu-emacs-lisp | grep info
  usr/share/emacs/23.1/lisp/info-look.el.gz
  usr/share/emacs/23.1/lisp/info-xref.el.gz
  usr/share/emacs/23.1/lisp/info.el.gz
  usr/share/emacs/23.1/lisp/informat.el.gz
  usr/share/emacs/23.1/lisp/org/org-info.el.gz
  usr/share/emacs/23.1/lisp/org/org-jsinfo.el.gz
  usr/share/emacs/23.1/lisp/pcvs-info.el.gz
  usr/share/emacs/23.1/lisp/textmodes/makeinfo.el.gz
  usr/share/emacs/23.1/lisp/textmodes/texinfo.el.gz
  $ 
  

Well, if I have what look like the right packages but don't have the right files, the next thing to check are the facets.

The first check is whether there is a facet associated with the Info files:

  $ pkg contents -m gnu-emacs | grep usr/share/info
  dir facet.doc.info=true group=bin mode=0755 owner=root path=usr/share/info
  file [...] chash=[...] facet.doc.info=true group=bin mode=0444 owner=root path=usr/share/info/mh-e-1 [...] 
  file [...] chash=[...] facet.doc.info=true group=bin mode=0444 owner=root path=usr/share/info/mh-e-2 [...]
  [...]

Yes, they're associated with facet.doc.info.

Now let's look at the facet settings on my desktop:

  $ pkg facet
  FACETS           VALUE
  facet.locale.en* True
  facet.locale*    False
  facet.doc.man    True
  facet.doc*       False
  $ 
  

Oops. I've got man pages and various English documentation files, but not the Info files. Let's fix that:

  # pkg change-facet facet.doc.info=True
  Packages to update: 970
  Variants/Facets to change:   1
  Create boot environment:  No
  Create backup boot environment: Yes
  Services to change:   1
  
  DOWNLOAD                                  PKGS       FILES    XFER (MB)
  Completed                              970/970     181/181      9.2/9.2
  
  PHASE                                        ACTIONS
  Install Phase                                226/226
  
  PHASE                                          ITEMS
  Image State Update Phase                         2/2
  
  PHASE                                          ITEMS
  Reading Existing Index                           8/8
  Indexing Packages                            970/970
  # 

Now we have the info files:

  $ ls -F /usr/share/info
  a2ps.info	  dir@	      flex.info      groff-2	     regex.info
  aalib.info	  dired-x     flex.info-1    groff-3	     remember
  ...

© Oracle Blogs or respective owner

Related posts about /Solaris