Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Sep 2016 01:24:29 +0900
From:      KIRIYAMA Kazuhiko <kiri@kx.openedu.org>
To:        portscout@FreeBSD.org
Cc:        ports@FreeBSD.org
Subject:   Why don't include DOCSDIR/EXAMPLESDIR tree?
Message-ID:  <201609261624.u8QGOTja078223@kx.openedu.org>

next in thread | raw e-mail | index | archive | help
Hi, all

I'm wiling to back to sevral deleted ports. In those,
thers's textproc/smartdoc-devel[1]. I rebuild it to suit recent
ports tree(r422757) and `make install'. Almost has been
succesed as below:

# make install
===>  License GPLv2 accepted by the user
===>   smartdoc-1.1b depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by smartdoc-1.1b for building
===>  Extracting for smartdoc-1.1b
=> SHA256 Checksum OK for beta.zip.
===>   smartdoc-1.1b depends on file: /usr/local/openjdk8/bin/java - found
Extract archives...
Generate script...
  script = /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/bin/sdoc
Done.
===>  Patching for smartdoc-1.1b
===>   smartdoc-1.1b depends on file: /usr/local/sbin/mkcatalog - found
===>  Configuring for smartdoc-1.1b
===>  Staging for smartdoc-1.1b
===>   smartdoc-1.1b depends on executable: javavm - found
===>   smartdoc-1.1b depends on file: /usr/local/openjdk8/bin/java - found
===>   Generating temporary packing list
/bin/mkdir -p /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/bin /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/java/classes  /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/xml/smartdoc /usr/local/share/xml/smartdoc
install  -m 555 /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc.sh /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/bin/sdoc
install  -m 0644 /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/SmartDoc.jar /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/java/classes
install  -m 0644 /var/ports/homekxj/textproc/smartdoc-devel/files/catalog /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/etc/pure/PureSmartDoc.dtd  /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/xml/smartdoc
install  -m 0644 /var/ports/homekxj/textproc/smartdoc-devel/files/catalog /usr/local/share/xml/smartdoc
/bin/mkdir -p /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/doc/smartdoc/doc
install  -m 0644 /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/COPYING.txt /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/OroLICENSE.txt /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/README /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/README.sdoc /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/README_en.html /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/README_ja.html /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/XalanLICENSE.txt /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/XercesLICENSE.txt /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/doc/smartdoc
cp -f -R /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/doc/ /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/doc/smartdoc/doc
/bin/mkdir -p /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/examples/smartdoc/etc
cp -f -R /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/sdoc/etc/ /var/ports/var/ports/homekxj/textproc/smartdoc-devel/work/stage/usr/local/share/examples/smartdoc/etc
/usr/local/sbin/mkcatalog -c /usr/local/share/xml/catalog.ports -q add /usr/local/share/xml/smartdoc catalog
====> Compressing man pages (compress-man)
===>  Installing for smartdoc-1.1b
===>  Checking if smartdoc already installed
===>   Registering installation for smartdoc-1.1b
[smtp] Installing smartdoc-1.1b...
************************************************************************
If you would like to use sdoc-mode in Emacs, install as follows:

  # install  -m 0644 /usr/local/share/examples/smartdoc/sdoc-mode.el /usr/local/share/emacs/site-lisp
  # install  -m 0644 /usr/local/share/examples/smartdoc/sdoc-helper.el /usr/local/share/emacs/site-lisp

or in XEmacs, install as follows:

  # install  -m 0644 /usr/local/share/examples/smartdoc/sdoc-mode.el /usr/local/lib/xemacs/site-lisp
  # install  -m 0644 /usr/local/share/examples/smartdoc/sdoc-helper.el /usr/local/lib/xemacs/site-lisp

and then add your .emacs file below:

(setq auto-mode-alist
      (append '(("\\.sdoc$" . sdoc-mode)) auto-mode-alist))
(setq sgml-quick-keys t)
(autoload 'sdoc-mode "sdoc-mode" nil t)

************************************************************************

But, DOCSDIR and EXAMPLESDIR does not copied
${PREFIX}/share/{doc,examples}/smartdoc except files
specified by PORTDOCS.

# pkg info -l smartdoc-1.1b
smartdoc-1.1b:
        /usr/local/bin/sdoc
        /usr/local/share/doc/smartdoc/COPYING.txt
        /usr/local/share/doc/smartdoc/OroLICENSE.txt
        /usr/local/share/doc/smartdoc/README
        /usr/local/share/doc/smartdoc/README.sdoc
        /usr/local/share/doc/smartdoc/README_en.html
        /usr/local/share/doc/smartdoc/README_ja.html
        /usr/local/share/doc/smartdoc/XalanLICENSE.txt
        /usr/local/share/doc/smartdoc/XercesLICENSE.txt
        /usr/local/share/java/classes/SmartDoc.jar
        /usr/local/share/licenses/smartdoc-1.1b/GPLv2
        /usr/local/share/licenses/smartdoc-1.1b/LICENSE
        /usr/local/share/licenses/smartdoc-1.1b/catalog.mk
        /usr/local/share/xml/smartdoc/PureSmartDoc.dtd
        /usr/local/share/xml/smartdoc/catalog
# 

Is that strange? BTW install sequence is like this

# echo -e `make -V_STAGE_SEQ | sed -Ee 's/[[:space:]]+/\\\\n/g'`|sort

050:stage-message
100:stage-dir
150:run-depends
151:lib-depends
200:apply-slist
300:pre-install
300:pre-install-DOCS-on
300:pre-install-EXAMPLES-on
400:generate-plist
450:pre-su-install
475:create-users-groups
500:do-install
500:do-install-DOCS-on
500:do-install-EXAMPLES-on
550:kmod-post-install
700:post-install
700:post-install-DOCS-on
700:post-install-EXAMPLES-on
750:post-install-script
800:post-stage
800:post-stage-DOCS-on
800:post-stage-EXAMPLES-on
850:compress-man
860:install-rc-script
870:install-ldconfig-file
880:install-license
890:install-desktop-entries
900:add-plist-info
910:add-plist-docs
920:add-plist-examples
930:add-plist-data
940:add-plist-post
# 

Originally, all stuffs in ${STAGEDIR}/${DOCSDIR} and
${STAGEDIR}/${EXAMPLESDIR} should be installed ${DOCSDIR}
and ${EXAMPLESDIR} isn't it? These procedure must be done in
post-stage-DOCS-on and post-stage-EXAMPLES-on? These must be
user defined? Anyway add-plist-docs and add-plist-examples
are strage and I don't know understand it what they want to
do.

.for _type in EXAMPLES DOCS
.if !target(add-plist-${_type:tl})
.if defined(PORT${_type}) && !defined(NOPORT${_type})
add-plist-${_type:tl}:
.for x in ${PORT${_type}}
	@if ${ECHO_CMD} "${x}"| ${AWK} '$$1 ~ /(\*|\||\[|\]|\?|\{|\}|\$$)/ { exit 1};'; then \
		if [ ! -e ${STAGEDIR}${${_type}DIR}/${x} ]; then \
		${ECHO_CMD} ${${_type}DIR}/${x} >> ${TMPPLIST}; \
	fi;fi
.endfor
	@${FIND} -P ${PORT${_type}:S/^/${STAGEDIR}${${_type}DIR}\//} ! -type d 2>/dev/null | \
		${SED} -ne 's,^${STAGEDIR},,p' >> ${TMPPLIST}
.endif
.endif
.endfor

These procedures seems to say that "All stuffs must be
specifed including sub directories in DOCSDIR and
EXAMPLEDIRS". But directories in DOCSDIR and EXAMPLEDIR are
failed to install before
add-plist-{docs,examples}. Installing {DOCS,EXAMPLES}
mechanism seems to wrong for me.

Is there any suggession?

Regards

[1] https://people.freebsd.org/~kiri/smartdoc/smartdoc-1.1b.tar.gz



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201609261624.u8QGOTja078223>