I’ve updated my PHP overlay to include all the PHP extensions currently in Portage, both for php4 and for php5. (If I’ve accidentally missed one, please let me know). The dev-lang/php ebuilds haven’t changed since Thursday.
Monday’s job is to add CHTEKK’s patches for the dev-lang/php ebuilds to the overlay. I should have an updated overlay with these added out in a day or two.
One of the new features of PHP 5.1 is the bundling of Wez’s PDO extension. PDO is also available in PECL, which gets released more frequently than the full PHP release does. I’m going to put together some ebuilds for pecl-pdo and its assorted drivers, and see how well they (the ebuilds) work. If the ebuilds work well, then we’ll ignore the bundled PDO code, so that we can get the bug fixes from PECL’s PDO out to users as quickly as possible.
Be the first to leave a comment »
The latest PHP overlay tarball now contains support for PHP extensions. This solves two serious problems with the current php5 packages. We can now install & upgrade PHP extensions on a mixed php4/php5 box; and we can now install & upgrade PHP extensions for php4 completely independently of any php5 extensions that have been installed.
You can find extensions for PHP4 in the dev-php4/ category; extensions for PHP5 are in the dev-php5/ category. These category names are provisional; they might change to php4-ext/ and php5-ext/ before I make the formal request for them to go into the tree. (New categories have to be announced on the gentoo-dev mailing list for discussion before they can be created)
I haven’t had time to get all the extensions ported across. All the ones in dev-php4/ are done; about half the ones in dev-php5 are. With a bit of luck, I’ll be able to post another overlay tarball tomorrow night will all the extensions done.
Be the first to leave a comment »
If you want to have a look at the “consolidated” PHP ebuilds that I’ve been working on, there’s now a tarball available. There are no PECL or PEAR packages in the tarball yet, but the CLI, CGI and mod_php SAPIs work locally for me.
To choose the SAPI you want, use these USE flags:
- cli - builds & installs /usr/bin/php
- cgi - builds & installs /usr/bin/php-cli
- apache1 - builds & installs mod_php for apache1
- apache2 - builds & installs mod_php for apache2
You can mix and match any of these USE flags; except you can’t have both apache1 and apache2 switched on.
The whole point of these ebuilds is that you can have both PHP4 and PHP5 installed at the same time. To install PHP4, use
USE=”cli cgi apache2″ emerge ‘=dev-lang/php-4.4.0′
and to install PHP5, use
USE=”cli cgi apache2″ emerge ‘=dev-lang/php-5.0.4′
These ebuilds install their contents into /usr/lib/php[45]. (The Apache modules go into the right place for Apache). (The PEAR packages go into /usr/share/pear, if you use the ‘pear’ USE flag). They do not install anything into /usr/bin. If you want your familiar /usr/bin/php and /usr/bin/php-cgi, use the experimental eselect modules.
Feedback, suggestions, and especially testing urgently sought. There are 90+ USE flags for PHP5 (and almost that many for PHP4), and it hasn’t been possible for me to test them all. If you find something that’s broken, email me directly (stuart at gentoo.org) - please don’t file bugs in Bugzilla yet.
Next update to the overlay will be Thursday night UK time at the earliest.
Be the first to leave a comment »
I’ve spent the evening putting together a couple of modules for eselect. These modules allow you to select which version of PHP is used for
- /usr/bin/php (set by php.eselect)
- /usr/bin/php-cgi (set by php-cgi.eselect)
- //usr/bin/php-config, and /usr/bin/phpize (set by php-devel.eselect
You can pick them up from my dev space.
PS: eselect looks like a great framework for replacing many of Gentoo’s existing *-config programs. It’ll be even better when it’s a well-behaved UNIX program, and it produces output suitable for piping into other programs
Be the first to leave a comment »
My laptop (main Gentoo desktop machine, and main webapp-config dev box) is now running a mixed PHP 4 / PHP 5 environment built entirely from the new dev-lang/php packages. Works well enough for developing & testing webapp-config. Just need to get those PECL ebuilds done now
One thing I’ve noticed is that a few packages in the Portage tree DEPEND on mod_php. If we add the dev-lang/php packages to Portage, we’ll need to update the deps for those packages so that they depend on virtual/php-4* or virtual/php-5* as appropriate.
And, if I hurry, I’ll make it to bed before 11pm for the second night in a row 
Be the first to leave a comment »
… and marked ~x86 for testing.
This version will need more testing before we can mark it stable. I think I’ve found the cause of a number of bugs where webapp-config has been reported to remove the wrong version of a package. Unfortunately, I haven’t managed to reproduce the fault locally, and people on IRC that I’ve talked to have reported that it’s a one-off bug on their systems.
Once this is stable, I’m planning a webapp-config 1.12 in a couple of weeks. This would bring in a different format for the files under /var/db/webapps/, holding additional information and also making it easier for you to move vhosts around on disk without confusing webapp-config.
Be the first to leave a comment »
Lost most of the weekend + Monday with rather unpleasant headaches. Had some treatment for them on Monday afternoon, and things hurt a lot less now
Anyway, on all things Gentoo, I’ve just posted a request for a Gentoo subversion repository, which will be open to devs from the PHP and Apache herds. Once it’s done, I’ll import my work on the “consolidated” ebuilds, and see if I can setup a cronjob to export a tarball onto dev.gentoo.org every day. Our subversion repositories don’t support anonymous access atm, so any patches for the ebuilds will have to go through us for the moment.
The PHP 4 ebuild is working fine for me. Next step is to start adding PECL packages into my overlay, to prove that my changes work fine. I need to put a new release of webapp-config out tomorrow night, so it’ll be towards the end of this week when the PECL packages have been added.
Be the first to leave a comment »
Just catching up with what’s come out this last week. I think I need to find the time to sit down and knock up something to automatically generate a list of webapp-related releases from Freshmeat
- A-Gen 0.1 can create static Web photo albums directly from a directory of pictures. Since the album is static HTML, a Web server is not needed to view the album from a local medium.
- Ampache 3.3.1.2 is a Web-based MP3/Ogg/RM/Flac/WMA/M4A manager. It allows you to view, edit, and play your audio files via HTTP/IceCast/Mpd or Moosic. It has support for downsampling, playlists, artist, and album views, album art, random play, song play tracking, user themes, and remote catalogs using XML-RPC.
- Apache2GDL 0.8 Apache2GDL is a Perl script that parses an Apache log file and generates a directed graph of visitors’ movement in GDL format for visualization with aiSee. It also allows you to pipe the graph directly through aiSee and get a mapped SVG or PNG image of the layout. The generated images help you find out how people actually browse your site — which paths they take to get from page A to page B, which paths are more popular than others, which pages get the most hits, and whether there are one-way paths and dead-end pages.
- AudienceConnect::E-Zine 0.1.10 is a revenue-generating Python CGI solution for independent content providers. Requests for dynamic content are routed through PayPal.
- Auto Directory Index PHP Script 1.5.3 is a PHP script that makes a table that lists the files in a directory, and lets users access the files and subdirectories. It includes searching, icons for each file type, an admin panel, uploads, access logging, file descriptions, and more.
- Bugzilla 2.20rc1 is the first Release Candidate for the next major release of Bugzilla.
- Bugzilla 2.18.2 is a bug fix release, and includes fixes for two security bugs.
- Check Website 1.31 is a performance monitoring and uptime notification tool. It will check if a Website is up, and check the response time of the site.
- Crossroads Load Balancer 0.01 is a load balance and failover utility for TCP-based services. It is service-independent; it is usable for HTTP(S), SSH, SMTP, DNS, etc.
- CuteFlow 1.5.0 is a Web-based document circulation tool. Users are able to define “documents”, which are sent step-by-step to every user in a list. It provides an electronic method for doing internal document circulations.
- gonzui 1.2 is a source code search engine for accelerating open source software development. In the open source software development, programmers frequently refer to source code written by others. The project’s goal is to help programmers develop programs effectively by creating a source code search engine that covers vast quantities of open source codes available on the Internet.
- HTTP Time Protocol 0.8.3 (KIS) is a time synchronization tool that uses Web server responses (HTTP headers) instead of the NTP protocol. If you are behind a corporate firewall, NAT device, or proxy server, HTP will still be able to synchronize the time. For high precision time synchronization, use ntpd.
- Humano2 5.0.Beta8 is a platform for building web-based apps.
- Jerimoth .01 is a Web application that allows users to submit resumes and search for technical jobs.
- jo! 1.1beta1 is a pure Java Web server that implements the Servlet API, JSP, and HTTP/1.1. It features advanced thread management, virtual hosts, memory-sensitive file cache, authentication using a role abstraction, automatic compressed transfer of text or HTML files, auto internationalization, auto servlet and JSP reloading, auto reload of WARs, hot deployment of WARs, JSR-45 support, and an easy-to-use Swing console.
- Kumera 0.3 is a Perl and XML-based content management system for Web sites. It is designed for small to medium size Web sites that need multiple users writing and editing pages.
- LABE 3.3 is a Web application created to administrate a centralized LDAP directory. It’s compatible with Mozilla, Evolution, and Outlook.
- LinkChecker 3.0 is a tool for checking HTML documents for broken links.
- pylize 1.2b is a Python script that generates HTML presentations from a simple text file.
- LnBlog 0.3.3 is a simple Weblog with some basic site management features that is designed to work well in low-cost shared hosting environments. It has support for multiple authors, multiple Weblogs, reader comments, trackbacks, auto- generated RSS feeds, permanent articles, and file uploads. It has a flexible PHP-based theme and template system that generates standards-complaint sites. All data is stored in flat files, and the file access module can be easily configured to work when PHP’s safe mode is enabled.
- Mambo 4.5.2.3 is a dynamic Web content management tool that is capable of building sites from several pages to several thousand. It comes complete with 10 built-in modules, a WYSIWYG editor, site statistics, an admin interface, multi language support, custom module support, and more.
- MediaWiki 1.5beta2 (Development) is a preview release of the next version of the popular MediaWiki.
- MediaWiki 1.4.6
is a Web-based collaborative editing environment. Originally built for the online encyclopedia project Wikipedia, it’s geared to support a large number of users and pages.
- MHonArc 2.6.13 is a Perl program for converting mail or news messages into HTML archives. It can also be used to convert individual messages into HTML documents. Other capabilities include robust MIME support and powerful user customization features.
- mod_jsp 0.02b is a JSP handling module for Apache 2. It works by starting and maintaining its own application server (based on Jetty). It can then continually manage the application server’s virtual host filesystem mappings from the data passed from Apache.
- mod_ssl 2.8.23-1.3.33 provides provides strong cryptography for the Apache 1.3 webserver via the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1).
- MyClient 3.0.2 is a simple and clean Web client interface for the MySQL database.
- OBM 0.9.3 is an Intranet CRM and groupware application written to help manage a company. It can also be used as a contact and customer database or as a shared calendar.
- OpenWebStats 2005-07-06 is a PHP stats application that reads Apache log files and imports the data to a MySQL database. It then provides an awstats-style reporting tool so that you can review stats on demand from the database. Stats updates are available through cron jobs or the Web interface.
- Open Concepts Bulletin Board CVS-2005-07-04 is a fork of the phpBB “Olympus” CVS which will strive to continue the phpBB traditions of easy modification, freedom, and usablity, and also to improve upon development speed.
- PHP Gmail Drive 0.3.2 turns your Gmail account into a Web based file server. You may add more than one Gmail account, arrange attachments in multiple folders, and apply themes to the interface. It can be embedded into any HTML page.
- PHP Project Manager 0.5 is a Web-based application for assisting in the organisation of a small project-based business. The application incorporates an RSS news feed reader, task and project manager, client contact manager, test manager, and accounts manager.
- phpGroupWare is a multi-user groupware suite written in PHP. Its provides a Web-based calendar, todo-list, addressbook, email, news headlines, and a file manager.
- phpWishlist 0.1.15 is a Web-based application for managing wishlists. It supports mutiple users, list, claims, and links.
- PM Report 2.4 is a PHP/MySQL report generator. It creates customizable reports and is very simple to setup and use.
- polliwog 0.4 is a Java-based Web log processing tool. While most log processors focus on hits and pages, polliwog is more visit-oriented. It provides detailed information about visitors to your site, but will also show what a visitor did and the pages they viewed while on your site.
- PVO 0.1 is a news site engine designed to put the readers in control of the editorial process by using some of the same mechanisms that make free software successful.
- Splash CMS 1.1 is a simple content management system for small- and medium-sized Web sites.
- quickmail 050705-2 is a PHP script that reads email from an IMAP server and outputs it in RSS format that can be displayed in a browser (as XML, using included CSS) or RSS aggregator or WML for use on WAP devices (like mobile phones or PDAs). The output has been tested and found to be valid CSS, valid RSS, and valid WML.
- Ravenous 0.1.23 is full-featured Web server written in Java. It allows you to write dynamic pages in Java without the need to read stacks of books before you get started.
- Scarab b20 is an Issue Tracking System that features data entry, queries, reports, notifications to interested parties, collaborative accumulation of comments, dependency tracking, and collaborative prioritization (voting).
- Scmbug 0.8.2 is a system that integrates software configuration management (SCM) with bug-tracking. It aims to be a universal tool that will glue any source code version control system (such as CVS, Subversion, and Arch) with any bug-tracking system (such as Bugzilla and Mantis).
- SQLiteManager 1.1.1 is a multilingual Web-based tool to manage SQLite databases. It features multiple database management, creation, and connectivity, property and options management, table, data, and index manipulation, the ability to import data from a file, conversion from MySQL queries, view, trigger, and custom function management, and exporting of database structure and data.
- SVN-RaWeb-Light 0.6.0 is a lightweight Web interface for remote Subversion repositories. It resembles the default HTTP interface, but provides some extra features. It generates minimalistic HTML and works against any remote (or local) repository supported by Subversion’s Repository Access Layer.
- Teamwork 2.2.20 is a Web-based application specifically for team work management.
- ThingamaBlog 1.0.1 is a cross-platform, standalone blogging application written in Java.
- Visitors 1.0 processes a Web log file, trying very hard to identify a single “person” as much as possible. This is typically achieved by the use of either an identifying cookie in the log file, or via the IP address, name, and browser ID combination.
Whilst compiling this week’s list, the following apps caught my eye.
- Daemon Sheild 0.4.0 is a Linux intrusion prevention daemon that scans for brute force break-in attacks in real time and uses iptables to create rules that block the attackers’ IP addresses for a configurable period of time. It uses handlers that watch for attacks against given services, such as SSH, telnet, FTP, etc.
- hdup 2.0.9 is used to back up a filesystem. Features include encryption of the archive (mcrypt/GnuPG), compression of the archive (bzip2/gzip/lzop/none), the ability to transfer the archive to a remote host or restoring from a remote host (with SSH), the ability to split up archives, and no obscure archive format (it is a normal compressed tar file).
- faces 0.1.1 is a powerful and flexible project management tool. It not only offers many extraordinary features like multiple resource balancing algorithms and multi scenario planing, but can also be easily extended and customized. Faces consists of a Python class framework and a graphical front-end.
- gnome-mlview 0.8 is a tree-oriented XML editor for GNOME. It is written in C and is heavily based on GTK, libgnomeui, and libxml2. Its aim is to ease XML editing, with or without validation.
- luntbuild 1.2.2 is a Web-based build automation and management server.
- WeDiC 0.0.1 is a bash script for searching online dictionaries.
- Mila NetWhistler 2.6 auto-detects networks and presents them on graphical maps, which reflect up-to-the-minute device and host status. It has powerful diagnostic tools, including ping, main services (FTP, SSH, SMTP, POP3, HTTP) monitoring, email alerts, network discovery, and SNMP tools (an MIB browser and Trap Console for incoming SNMP traps from any SNMP-enabled device in the network).
- Open Clip Art Library 0.15 is a collection of royalty free (public domain) clip art in SVG format, enhanced with creative commons metadata. It can be redistributed with free software or closed software and with various software distributions.
- OpenSSH LDAP Publick Key patch 0.3.5 provides an easy way of centralizing strong user authentication by using an LDAP server for retrieving public keys instead of ~/.ssh/authorized_keys.
- TrackFS 0.0.2 is a small program that tracks file system changes made by another program (or group of programs). Mmm … I wonder whether this technique is more portable than LD_PRELOAD? If so, it might allow Portage’s sandbox to work on more platforms.
- ttp://freshmeat.net/releases/200731/”>Warrior XAMJ Browser 0.92.1-dev is a browser that uses XAMJ, an XML language designed to address many of the shortcomings of HTML and an open alternative to Microsoft’s XAML. XAMJ documents are generally served over HTTP but can also be used in standalone applications, as Warrior itself is written in XAMJ.
Be the first to leave a comment »
Weekends are normally very busy on Freshmeat, and last Sunday was no exception.
- Apache MINA 0.7.3 is a network application framework which helps users develop high performance and high scalability network applications easily. It’s a subproject of the Apache Directory project. We don’t have this package in Portage, and there are no ebuilds for this in Bugzilla.
- LinPHA 1.0RC2 is web-based gallery application. We don’t have this package in Portage, and there are no ebuilds for this in Bugzilla.
- OpenWebStats 1.1 parses Apache log files, and provides a web-based interface for reviewing stats on demand. We don’t have this one in Portage yet, but it looks like something that Gentoo users could benefit from. We don’t have this package in Portage, and there are no ebuilds for this in Bugzilla.
- Html To Xhtml Convertor 0.7.3c is a straight-forward Perl script to convert HTML pages into XHTML pages. We don’t have this package in Portage, and there are no ebuilds for this in Bugzilla.
- eXe 0.6 is a Web-based authoring environment designed to assist teachers and academics in the design, development, and publishing of Web-based learning and teaching materials without the need to become proficient in HTML, XML, or complicated Web-publishing applications. We don’t have this package in Portage. There is an ebuild for eXe 0.5 in bugzilla, but according to the bug, eXe relies on mozilla features not available in Gentoo’s default mozilla packages.
- Anyterm 1.1.4 provides a terminal emulator on a Web page using Javascript and an Apache module. This provides you with shell access to your machine from almost any Web browser, even when firewalls are in the way. We don’t have this package in Portage. There’s a bug requesting this package in Bugzilla.
- Phaos 0.9.1 is a browser-based MMORPG. Current features include character creation, the ability to purchase/sell/drop potions, weapons and armor, traveling, inter-player chat, the ability to fight in the arena, explorable dungeons, an admin system, the ability to trade with other players, and the ability to fight other players. Future releases will include a storyline and quests. We don’t have this package in Portage, and there are no ebuilds for it in Bugzilla.
- JpGraph 1.19 is the premier graphing library for PHP imho. We do have an older version of JpGraph in Portage. I need to bump it to the latest version.
- IssueTrackerProduct 0.6.11
is an issue/bug tracker built on top of Zope. We don’t have this package in Portage, and there are no ebuilds for this package in Bugzilla.
- CPAINT 1.3 is a true AJAX (Asynchronous JavaScript+XML) and JSRS (JavaScript Remote Scripting) implementation that supports both PHP and ASP/VBscript. We don’t have this one either, and as it’s a framework, I’m not sure whether we’d accept a package for it.
- TYPO3 3.8.0 is a popular content management system. We don’t have this in Portage, but you can follow work on ebuilds for this in Bugzilla.
- Cherokee 0.4.24 is a very fast, flexible, and lightweight Web server. We have a package for Cherokee in Portage, and it’s currently up to date.
- jsgal 0.66 is a dynamic Web-based gallery, where the gallery pages are generated using client-side code. We don’t have this package in Portage, and there are no ebuilds for this package in Bugzilla.
- SCREEM 0.14.2 is a tag-based Web page editor. It’s an application for the GNOME desktop. We have a package for this in Portage.
- Daily Strip Manager 2.5 is a simple PHP script that offers a more powerful user interface for browsing comic strips downloaded by DailyStrips. We don’t have this package in Portage, and there are no ebuilds for this package in Bugzilla.
Be the first to leave a comment »
I managed to get a good hour and a half before work this morning to get started on a “consolidated”-stylee ebuild for php-4.4.0. (The air-conditioned Starbucks on Queen Street in Cardiff is a god-send in weather like this). I might be able to get something working tomorrow, but as I’m planning to go mouldy old stoning straight from work, don’t count on it.
Either way, this weekend needs to go on fixing webapp-config bugs first and foremost, so I’m not sure when I’ll be able to post an overlay tarball. It’s probably going to be easier to find a subversion server to drop this lot into, so that anyone can play without having to wait for me to roll up a tarball.
Be the first to leave a comment »