Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 344547 - dev-lang/php eselect needs to be forced when php is installed for the first time
Summary: dev-lang/php eselect needs to be forced when php is installed for the first time
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: PHP Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-07 17:07 UTC by Jimmy.Jazz
Modified: 2010-12-08 19:19 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments
SAPI is not set (dev-lang:php-5.3.3-r3:20101115-124426.log.gz,197.98 KB, text/plain)
2010-11-15 13:18 UTC, Jimmy.Jazz
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jimmy.Jazz 2010-11-07 17:07:22 UTC
as dev-lang/php is installed the first time, it is necessary to force that a
default value is allocated to php eselect environment and links.

--- /usr/portage/dev-lang/php/php-5.3.3-r3.ebuild	2010-11-05 11:35:43.000000000 +0100
+++ php-5.3.3-r3.ebuild	2010-11-02 00:41:46.925187450 +0100
@@ -343,4 +343,14 @@
 src_compile() { eblit-run src_compile v1 ; }
 src_install() { eblit-run src_install v2 ; }
 src_test() { eblit-run src_test v1 ; }
-pkg_postinst() { eblit-run pkg_postinst v2 ; }
+pkg_postinst() {
+	eblit-run pkg_postinst v2
+	# Set as default VM if none exists
+	local i show
+	for i in cli apache2 fpm cgi; do
+		show=$(eselect php show $i)
+		if [ -z "${show}" ]; then
+			eselect php set $i 1
+		fi
+	done
+}


Reproducible: Always




# emerge --info
Portage 2.2.0_alpha4 (default/linux/amd64/10.0, gcc-4.5.1, glibc-2.12.1-r3, 2.6.36-radeon x86_64)
=================================================================
System uname: Linux-2.6.36-radeon-x86_64-AMD_Phenom-tm-_9500_Quad-Core_Processor-with-gentoo-2.0.1
Timestamp of tree: Sun, 07 Nov 2010 14:45:02 +0000
distcc 3.1 x86_64-pc-linux-gnu [enabled]
app-shells/bash:     4.1_p9
dev-java/java-config: 2.1.11-r1
dev-lang/python:     2.6.6-r1, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 2.0.1-r1::local
sys-apps/openrc:     0.6.3
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.68
sys-devel/automake:  1.4_p6-r1, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.5.1
sys-devel/gcc-config: 1.5
sys-devel/libtool:   2.2.10
sys-devel/make:      3.82
virtual/os-headers:  2.6.35 (sys-kernel/linux-headers)
Repositories: gentoo local extras
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="-bakoma @ACCEPTED-LICENSE"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=barcelona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /lib/rcscripts/addons /lib64/udev/devices /sbin/rc /sbin/splash-functions-bl1.sh /sbin/splash-functions.sh /usr/local/share/cursors/xorg-x11/default/index.theme /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=barcelona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=20.0 --with-bdeps y"
FEATURES="assume-digests binpkg-logs collision-protect compress-build-logs distcc distlocks fixlafiles fixpackages news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="rsync://192.168.1.13/gentoo-portage rsync://192.168.1.14/gentoo-portage ftp://ftp.free.fr/mirrors/ftp.gentoo.org/ ftp://mirror.ovh.net/gentoo-distfiles"
LANG="fr_FR.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed"
LINGUAS="fr"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage /usr/local/portage/extras"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext acl amd64 avahi bindist bzip2 caps cli cracklib crypt cups cxx dbus dri expat gdbm gmp gpm iconv idn ipv6 ithreads jpeg2k latex logrotate maildir mmx mmxext modules mudflap multilib ncurses nls nptl nptlonly ogg openmp pam pcre perl postgres pppd pulseaudio python readline session sse sse2 ssl ssse3 sysfs tcpd threads udev unicode userlocales vorbis xattr xinetd xorg xulrunner zlib" ALSA_CARDS="hda-intel usb-audio virmidi" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="cgid actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" DVB_CARDS="usb-wt220u" 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 ubx" INPUT_DEVICES="evdev wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" LIRC_DEVICES="devinput userspace" PHP_TARGETS="php5-3" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18" 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" 
Unset:  CPPFLAGS, CTARGET, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Ole Markus With (RETIRED) gentoo-dev 2010-11-11 10:53:04 UTC
This is exacly what happens in pkg_postinst() { eblit-run pkg_postinst v2 ; }
See files/eblits/pkg_postinst-v2.eblit
Comment 2 Jimmy.Jazz 2010-11-15 13:17:49 UTC
(In reply to comment #1)
> This is exacly what happens in pkg_postinst() { eblit-run pkg_postinst v2 ; }
> See files/eblits/pkg_postinst-v2.eblit
> 

Consider, the patch I sent only to illustrate the issue.

After more tests this is not the case.

I add some SAPI=$SAPI echos in the ebuild 

ecompressdir: bzip2 -9 /usr/lib64/php5.3/man
 * Removing /usr/share/info
 * Removing /usr/share/doc
SAPI=
 *¶
 * To enable php, you need to edit your /etc/conf.d/apache2 file and
 * add '-D PHP5' to APACHE2_OPTS.
 *¶
 *¶
 * Configuration file installed as
 *     /etc/apache2/modules.d/70_mod_php5.conf
 * You may want to edit it before turning the module on in /etc/conf.d/apache2
 *¶
eblit-php-pkg_postinst:SAPI=
 * You may have to recompile third-party extensions now
 * (includes every dev-php5/pecl-* package and probably others in that category)
 * Note that in order to use php interactivly, you need to enable
 * the readline USE flag or php -a will hang

For the complete log file , see attachment

Please, investigate the issue
Comment 3 Jimmy.Jazz 2010-11-15 13:18:36 UTC
Created attachment 254379 [details]
SAPI is not set
Comment 4 Ole Markus With (RETIRED) gentoo-dev 2010-11-15 13:24:39 UTC
Where should there be a variable named SAPI? There is one in use called SAPIS (note the trailing S) and a local one called sapi used to iterate over SAPIS.
Comment 5 Jimmy.Jazz 2010-11-15 13:38:12 UTC
(In reply to comment #4)
> Where should there be a variable named SAPI? There is one in use called SAPIS
> (note the trailing S) and a local one called sapi used to iterate over SAPIS.
> 

Did you change anything without increasing the release number, I read SAPI in eblits files and not SAPIS.


Comment 6 Ole Markus With (RETIRED) gentoo-dev 2010-11-15 14:26:08 UTC
It was updated about two weeks ago. See bug 343723