ciall# emerge -pqv '=dev-python/elasticsearch-py-1.8.0::gentoo' [ebuild N ] dev-python/elasticsearch-py-1.8.0 USE="-doc -examples {-test}" PYTHON_TARGETS="python2_7 python3_4 -pypy -python3_3" * python3_4: running distutils-r1_run_phase python_compile_all make -j8 man Makefile:12: *** The 'sphinx-build' command was not found. Make sure you have Sphinx installed, then set the SPHINXBUILD environment variable to point to the full path of the 'sphinx-build' executable. Alternatively you can add the directory with the executable to your PATH. If you don't have Sphinx installed, grab it from http://sphinx-doc.org/. Stop. * ERROR: dev-python/elasticsearch-py-1.8.0::gentoo failed (compile phase): * emake failed Reproducible: Always Steps to Reproduce: 1. emerge =dev-python/elasticsearch-py-1.8.0 Actual Results: "*** The 'sphinx-build' command was not found." Expected Results: Merged elasticsearch-py. Portage 2.2.23 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop/plasma, gcc-4.9.3, glibc-2.22-r1, 4.3.0-rc6-ciall x86_64) ================================================================= System Settings ================================================================= System uname: Linux-4.3.0-rc6-ciall-x86_64-Intel-R-_Xeon-R-_CPU_E3-1280_v3_@_3.60GHz-with-gentoo-2.2 KiB Mem: 16393136 total, 317088 free KiB Swap: 0 total, 0 free Timestamp of repository gentoo: Sun, 25 Oct 2015 05:00:01 +0000 sh bash 4.3_p42 ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1 app-shells/bash: 4.3_p42::gentoo dev-java/java-config: 2.2.0::gentoo dev-lang/perl: 5.22.0::gentoo dev-lang/python: 2.7.10::gentoo, 3.4.3::gentoo, 3.5.0-r1::gentoo dev-util/cmake: 3.3.2-r1::gentoo dev-util/pkgconfig: 0.29::gentoo sys-apps/baselayout: 2.2::gentoo sys-apps/openrc: 0.18.3::gentoo sys-apps/sandbox: 2.9::gentoo sys-devel/autoconf: 2.13::gentoo, 2.69-r1::gentoo sys-devel/automake: 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo sys-devel/binutils: 2.25.1-r1::gentoo sys-devel/gcc: 4.9.3::gentoo sys-devel/gcc-config: 1.8::gentoo sys-devel/libtool: 2.4.6-r1::gentoo sys-devel/make: 4.1-r1::gentoo sys-kernel/linux-headers: 4.2::gentoo (virtual/os-headers) sys-libs/glibc: 2.22-r1::gentoo Repositories: gentoo location: /usr/portage sync-type: rsync sync-uri: rsync://rsync.gentoo.org/gentoo-portage priority: -1000 awilfox location: /usr/local/portage-awilfox sync-type: git sync-uri: https://code.foxkit.us/awilfox/overlay.git masters: gentoo ACCEPT_KEYWORDS="amd64 ~amd64" ACCEPT_LICENSE="*" CBUILD="x86_64-pc-linux-gnu" CFLAGS="-O2 -pipe -ggdb -march=native -mtune=native" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/themes/oxygen-gtk/gtk-2.0" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/sandbox.d /etc/terminfo" CXXFLAGS="-O2 -pipe -ggdb -march=native -mtune=native" DISTDIR="/usr/portage/distfiles" FCFLAGS="-O2 -pipe" FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles merge-sync news noinfo parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-backup unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr" FFLAGS="-O2 -pipe" GENTOO_MIRRORS="http://distfiles.gentoo.org" LANG="en_GB.utf8" LC_ALL="en_GB.utf8" LDFLAGS="-Wl,-O1 -Wl,--as-needed" PKGDIR="/usr/portage/packages" PORTAGE_CONFIGROOT="/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" USE="X a52 aac acl acpi aes alsa amd64 avx avx2 berkdb bluetooth branding bzip2 cairo cdda cdr clang cli cracklib crypt cups cxx dbus declarative dri dts dvd dvdr egl emboss encode evdev exif fam firefox flac fma3 fortran gdbm gif gl glamor gles2 gpm gstreamer iconv icu infinality ipv6 jpeg jpeg2k kde kipi lcms libnotify lzo mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nls nptl offensive ogg opengl openmp pam pango pcre pdf phonon plasma png policykit popcnt ppds python qml qt qt3support qt4 qt5 readline s3tc sdl seccomp semantic-desktop session spell sse sse2 sse3 sse4_1 sse4_2 ssl ssse3 startup-notification svg tcpd tiff truetype udev udisks unicode upower usb vaapi vorbis vpx wayland widgets wxwidgets x264 xattr xcb xcomposite xinerama xml xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB cy" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python3_4" PYTHON_TARGETS="python3_4 python3_5 python2_7" RUBY_TARGETS="ruby22" USERLAND="GNU" VIDEO_CARDS="radeon" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" USE_PYTHON="3.4 3.5 2.7" Unset: CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, MAKEOPTS, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Created attachment 415478 [details, diff] Fix USE=doc. The ebuild tries to build man pages whether or not USE=doc is set. The man page creation still requires sphinx, and I would consider it documentation as well, so this proposed patch guards man the same way html is guarded.
Created attachment 415494 [details, diff] Fix USE=doc. This patch fixes the dependency on dev-python/sphinx by guarding both man and HTML documentation under USE=doc. Updated to meet ebuild coding guidelines.
commit c107dbc80a181895a413e5862ba594365d951bb5 Author: Ian Delaney <idella4@gentoo.org> Date: Mon Oct 26 11:45:57 2015 +0800 dev-python/elasticsearch-py: fix to code re IUSE doc, fixes the gentoo bug ack to Andrew Wilcox for submission of the patch. Closes the bug Gentoo bug: #564108
not quite right
Thanks Andrew for the report. I would modify it in a way, that man pages will always be generated (plus we rename from elasticsearch to elasticsearch-py + report upstream), so that "man elasticsearch-py" will always work and make html optional.
Created attachment 415518 [details] ebuild-update.txt - always depend on dev-python/sphinx - remove dev-python/sphinx_rtd_theme since dev-python/sphinx pulls it in anyway - rename the generated elasticsearch.1 to elasticsearch-py.1 for man pages
Created attachment 415520 [details, diff] elasticsearch-py-1.8.0-man-name.patch
Created attachment 415524 [details] ebuild-update.txt Use sed instead of patch (thanks Ian for the tip).
commit e7f7ce9c09c4c11e9d1a136fcfb42b2e06c7bd73 Author: Ian Delaney <idella4@gentoo.org> Date: Mon Oct 26 22:16:54 2015 +0800 dev-python/elasticsearch-py: follow up edit to doc, man page install depend on sphinx unconditionaly, drop un-neededsphinx_rtd_theme, rename the generated man pages to elasticsearch-py.1 for man pages, patch by proxy maintainer Gentoo bug: #564108
Thanks Ian. The manpage "patch" opened as PR: https://github.com/elastic/elasticsearch-py/pull/290