Package Details: phing 2.13.0-2

Git Clone URL: https://aur.archlinux.org/phing.git (read-only)
Package Base: phing
Description: PHP project build system based on Apache Ant.
Upstream URL: http://www.phing.info/
Licenses: LGPL
Submitter: zancarius
Maintainer: zancarius
Last Packager: zancarius
Votes: 6
Popularity: 0.396273
First Submitted: 2012-10-13 20:40
Last Updated: 2016-02-17 19:17

Dependencies (1)

Required by (0)

Sources (2)

Latest Comments

zancarius commented on 2016-02-17 19:18

Okay, I've updated it, and have removed the phar.ini drop for PHP7.

zancarius commented on 2016-02-17 19:13

Hmm, you have a point. I don't use PHP much anymore and have been avoiding the PHP7 update since it causes some breakage for legacy applications. The best option will be to remove the phar.ini since it's no longer needed. Other than that, any suggestions?

When it comes to Phing, I think the "correct" way is to install it on a per-project bases via Composer, rather than using this package in the AUR. To be fair, I believe I added this warning to the package install message, and I highly recommend using Composer whenever possible.

That probably means this package ought to be orphaned and/or deleted since the PEAR install is difficult to get right via AUR, and I'm not sure installing this globally is the right way to go about things either.

KingCrunch commented on 2016-02-17 19:09

> $ php -m
> PHP Warning: PHP Startup: Unable to load dynamic library
> '/usr/lib/php/modules/phar.so' - /usr/lib/php/modules/phar.so: cannot open
> shared object file: No such file or directory in Unknown on line 0
> [PHP Modules]
> bcmath
> ....
>
> $ LANG=en_US pacman -Qo /etc/php/conf.d/phar.ini
> /etc/php/conf.d/phar.ini is owned by phing 2.13.0-1

This said since PHP7 Phar is builtin, thus there is no phar.so anymore. After every phing update I see this error coming up again.

Anyway, I don't think it's the right way, that one package changes another tools global configuration. Print a warning, if you find you need a different configuration, but don't change it yourself.

zancarius commented on 2015-08-18 20:22

It appears this is actually due to a recurring bug in PEAR's installroot/packagingroot that has surfaced (and resurfaced) since 2005, 2006, 2009, and 2010. Neither of these options seem to work as the documentation suggests, so either my understanding is wrong and everyone who has filed bugs on PEAR is out of their collective minds or it just doesn't work. The installation of Phing via this PKGBUILD worked on my system because I've had other PEAR packages installed from many moons ago, thus having already created the /usr/share/pear/.lock file (incidentally, touching that file as root would have allowed the package to continue installing for you--but that's not a polite requirement).

Personally, I think PEAR is a piece of crap, but that's neither here nor there.

As it turns out, Phing has been offering for a while now the option of downloading the pre-built PHAR as a stand-alone archive. I've shifted the PKGBUILD over to use that instead of building via PEAR and packaging it henceforth. It should work now for you and drop me a line if it doesn't.

You don't need to worry about phar support--the PKGBUILD will drop an .ini enabling the extension in /etc/php/conf.d/phar.ini, but if that doesn't work you may have to enable it manually.

Though, I still recommend installing Phing per-project via Composer.

axp commented on 2015-08-18 19:24

Latest version does not work 'cause of access rights. /usr/share/pear directory is writable only under root by default:

Warning: touch(): Unable to create file /usr/share/pear/.lock because Permission denied in PEAR/Registry.php on line 835
PHP Warning: touch(): Unable to create file /usr/share/pear/.lock because Permission denied in /usr/share/pear/PEAR/Registry.php on line 835
PHP Stack trace:
PHP 1. {main}() /usr/share/pear/pearcmd.php:0
PHP 2. PEAR_Command_Common->run() /usr/share/pear/pearcmd.php:307
PHP 3. PEAR_Command_Install->doInstall() /usr/share/pear/PEAR/Command/Common.php:271
PHP 4. PEAR_Registry->channelExists() /usr/share/pear/PEAR/Command/Install.php:536
PHP 5. PEAR_Registry->_lock() /usr/share/pear/PEAR/Registry.php:1590
PHP 6. touch() /usr/share/pear/PEAR/Registry.php:835

zancarius commented on 2014-02-17 19:23

Although I will continue updating this package as new versions of Phing are released, it's highly recommended that you instead install Phing on a per-package basis using Composer[1]. By placing your dependencies in composer.json, your packages can be distributed and reconstructed with little additional effort.

This package installs the PEAR version of Phing.

[1] http://getcomposer.org/

zancarius commented on 2013-06-30 18:15

Good to hear, thanks! Please keep me posted if you should have any trouble.

Anonymous comment on 2013-06-30 17:16

@zancarius This has installed for me without issue just now, thanks.

zancarius commented on 2013-03-27 22:02

Fixed, thanks!

channel-discover shouldn't be usable as a non-root user, so I've elected to use a workaround instead that (hopefully) successfully completes the offline installation via PEAR. Give it a try from the AUR and see if it installs correctly. If you're testing without pear.phing.info, issue a channel-delete first to verify!

Thanks again!

javex commented on 2013-03-27 17:39

It failed with 'Unknown channel "pear.phing.info"', so I issued `pear channel-discover pear.phing.info`. Maybe you want to add that to the PKGBUILD