The FreeBSD linux compatibility environment currently uses RPMs from Fedora 10. Unfortunately Fedora 10 is end of life since a while. For one of the RPMs (the pango one) we where aware of a security vulnerability. As we do not know if it is feasible to update the linuxulator ports to something more recent, I decided to setup a VM with Fedora 10 and generate a new RPM for the linux–f10-pango port. Thanks to Luchesar V. ILIEV for explaining me how to do this.
Setup of the VM
I used VirtualBox 4.0.4 on a Solaris 10 x86 machine. I configured a fixed size disk of 16 GB and kept the default network setup (after installing the guest tools / kernel modules I switched to virtio, as I was not able to do anything useful besides a ping) and RAM size. The CD/DVD drive was configured to use the image of the full Fedora 10 DVD for i386 systems.
Setup of Fedora 10
Booting the VM from the DVD leads to the graphical Fedora 10 install software (after chosing to install a new system on the console). There I accepted all the defaults, except for the software to install. I deselected the Office and Productivity group and selected the Software Development group. When I was asked if I want to install some additional RPMs I had a look at the complete list and installed some I thought are necessary. I do not remember anymore which ones I chose, but everything which looks related to RPM building is a good candidate.
After a while the install will be finished and you can boot into the new system (eject the DVD from the drive before reboot). After reboot chose to install the Guest Additions in the menu of the VM. This should mount the ISO image in the VM. As root execute the file for Linux. This will build some kernel modules for better integration (e.g. seamless integration of the mouse between your desktop and the VM). At this point I rebooted and configured virtio as the NIC. I also had to configure the network settings by hand, as the GUI tool did not safe all the settings correctly.
Update and install of required RPMs
After the VM was up and the network configured, I updated the entire system (chose System Update in the menu). To update the pango port, I had to install the libthai-devel RPM. I had the RPM for it (and all the files I need to build a new pango RPM) already downloaded, so I did a “yum install /path/to/rpm”. At this point I was ready to create the RPM build environment.
The RPM build environment
As a normal user I executed the command rpmdev-setuptree which creates the directory rpmbuild and populates it with some directories. Now you just need to find a suitable .spec file and put it into rpmbuild/SPECS, put the sources (and maybe patches referenced in the .spec file) into rpmbuild/SOURCES, and you are ready to go (I patched pango.spec for a more recent pango version, basically just changing the version numbers). If you want to have a custom packager and vendor attribute in the RPM, you can add a line for each to ~/.rpmmacros, e.g. %packager yournamehere and %vendor whateverisappropriate. I used my @FreeBSD.org EMail address as the packager, and FreeBSD as the vendor.
Building a RPM
I used rpmbuild –ba –target i386-redhat-linux-gnu –clean rpmbuild/SPECS/pango.spec to build the new pango RPM. If everything is OK, the resulting RPMs (a source RPM, a devel RPM, a debuginfo RPM and the RPM for the binaries) are in rpmbuild/RPMS and rpmbuild/SRPMS. For a FreeBSD port we just need the source RPM (to comply to the (L)GPL) and the RPM for the binaries.
The i386-redhat-linux-gnu string which is used for the –target option of the rpmbuild command is what seems to be used to build the Fedora 10 RPMs. After building pango, the RPM has i686-pc-linux-gnu in some filenames instead (the default value for this setup). The binaries seem to be compiled for i386, so there should be no problem even for old systems.
GD Star Rating
GD Star Rating
Tags: background info
, compatibility environment
, default network
, kernel modules
, linux rpm
, ram size
, security vulnerability
, software development group
, solaris 10
In the last days I took (and even had) the time to install a VM with Fedora 10, updated all the packages after installation, and created a new linux–f10-pango port (v 1.28.3). I did this because the port has a security vulnerability according to our VuXML DB and there where more and more reports in the last months from users which had a problem with this.
During the update of the port I noticed that the port does not contain a FORBIDDEN entry, just portaudit complains about it because there is an entry in the VuXML. That is not nice. I was told that the ports slush will be lifted soon (I need to bump some PORTREVISIONs), this means that I can commit the update probably tomorrow, just in time when the new RPM should hit the FreeBSD distribution infrastructure (MASTER_SITE_LOCAL is updated once a day from a specific folder in our home directories).
Thanks to Luchesar V. ILIEV for the nice writeup of what to install in Fedora 10 to be able to build RPMs, and the description of how to build your own RPM.
GD Star Rating
GD Star Rating
Tags: distribution infrastructure
, freebsd distribution
, home directories
, last days
, security vulnerability
It seems I have a bit of free time now to take care about some FreeBSD related things.
As part of this I already committed the UFS/FFS related FEATURE macros which where developed by kibab@ during the Google Summer of Code 2010. The network/ALTQ related FEATURE macros are in the hands of bz@, he already reviewed them and wants to commit them (with some changes) as part of his improvements of parts of the network related code.
The GEOM related FEATURE macros I just send some minutes ago to geom@ for review. All the rest went out to hackers@ for review. The rest in this case is related to AUDIT, CAM, IPC, KTR, MAC, NFS, NTP, PMC, SYSV and a few other things.
If everything is committed, it should look a bit like this if queried from userland (not all features are shown, those are just the ones which are enabled in the kernel in one of my machines):
GD Star Rating
GD Star Rating
, priority scheduling
After working a long time with Solaris (I started with 2.5.1 at about the time when Solaris 7 was released in 1998), my current boss decided that it is time that I do a certification for it (clients like it). Two exams later I have it now:
Since yesterday I am officially an Oracle Certified Professional, Oracle Solaris 10 System Administrator.
The exam questions where a bit strange. I asked myself if a real admin was proof reading them or not, but most probably someone without much knowledge about Solaris administration just took the study guides and tried to make some questions out of it.
Anyway, my boss should be happy now, and I have something to add to my CV.
GD Star Rating
GD Star Rating
Tags: exam questions
, oracle certified professional
, oracle exam
, professional oracle
, solaris 10
, solaris 7
, study guides
, system administrator
Here is the list of the WordPress plugins I have activated since a long time. Some of them I could maybe deactivate (maybe 4 – 5) but somehow I was too lazy so far to make some time to have a look at this. All in all I regard most of them as essential in some way for my blog.
- AddToAny: Share/Bookmark/Email Button
Help people share, bookmark, and email your posts & pages using any service, such as Facebook, Twitter, Google Buzz, Digg and many more.
- AddToAny: Subscribe Button
Help readers subscribe to your blog using any feed reader or feed service.
- After The Deadline
Adds a contextual spell, style, and grammar checker to WordPress. Write better and spend less time editing. Visit your profile to configure. See the Proofreading Support page for help.
Akismet checks your comments against the Akismet web service to see if they look like spam or not. You need an API key to use it. You can review the spam it catches under “Comments.” To show off your Akismet stats just put <?php akismet_counter(); ?> in your template. See also: WP Stats plugin.
A WordPress plugin that automatically links keywords in your blog post.
- All in One SEO Pack
Out-of-the-box SEO for your WordPress blog.
- AskApache RewriteRules Viewer
Displays the Internal WordPress Rewrite Rules in Detailed Glory.
- Better Plugin Compatibility Control
Adds version compatibility info to the plugins page to inform the admin at a glance if a plugin is compatible with the current WP version.
- Better Search
Replace the default WordPress search with a contextual search. Search results are sorted by relevancy ensuring a better visitor search experience.
- Broken Link Checker
Checks your blog for broken links and missing images and notifies you on the dashboard if any are found.
- Change Admin Username
Lets you change your username to something other than “admin”.
- Contextual Related Posts
Show user defined number of contextually related posts.
- Cute Profiles
Cute Profiles adds all your Social Profile icons vertically on left or right side of your pages, which will remain visible all the time though the page is scrolled and without consuming the sidebar space.
- Dashboard: Latest Spam
Displays the latest spam on your WordPress 2.5+ dashboard so you can make sure there were no false positives. Uses Defensio to hide obvious spam if you have it installed.
- Easy Chart Builder
Creates a chart directly in your post or page via shortcut. Manages sizing of chart to support wptouch and other mobile themes.
- Exploit Scanner
Scans your WordPress site for possible exploits.
- FD Word Statistics
Computes Gunning-Fog, Flesch, and Flesch-Kincaid readability indexes about posts as they are edited for the purpose of improving their readability.
- GD Press Tools
GD Press Tools is a collection of various administration, seo, maintenance and security related tools that can help with everyday blog tasks and blog optimizations.
- GD Simple Widgets
Collection of powerful, easy to use widgets that expand default widgets. Plugin also adds few more must-have widgets for posts, authors and comments.
- GD Star Rating
GD Star Rating plugin allows you to set up advanced rating and review system for posts, pages and comments in your blog using single, multi and thumbs ratings.
GeoSmart automatically adds city-precise location information for comment authors to comment metadata. GeoSmart can also display a Google map showing comment author distribution across the globe. In addition, GeoSmart ships with a multiple instance capable sidebar widget that displays a map showing the locations of the most recent visitors to your blog. Requires PHP 5 and WordPress 2.8+. Map display requires a Google Maps API Key.
- Global Translator
Automatically translates a blog in 48 different languages by wrapping four different online translation engines (Google Translation Engine, Babelfish Translation Engine, FreeTranslations.com, Promt). After uploading this plugin click ‘Activate’ and then afterwards you must visit the options page and enter your blog language to enable the translator.
- Google XML Sitemaps
This plugin will generate a special XML sitemap which will help search engines like Google, Yahoo, Bing and Ask.com to better index your blog.
- Gravatar Signup Encouragement
Displays message to users without gravatar that they don’t have one with link to Gravatar’s sign-up page (e-mail included).
- Health Check
Checks the health of your WordPress install
- http:BL WordPress Plugin
http:BL WordPress Plugin allows you to verify IP addresses of clients connecting to your blog against the Project Honey Pot database.
- Import HTML Pages
Imports well-formed static HTML pages into WordPress posts or pages. Requires PHP5. Now with Dreamweaver template support and Word HTML cleanup.
Adds a button to the Editor, easy linking to Wikipedia, IMDB or add a link with google search.
- Limit Login Attempts
Limit rate of login attempts, including by way of cookies, for each IP.
- One-Time Password
One-Time Password System conforming to RFC 2289 to protect your weblog in less trustworthy environments, like internet cafés.
- Plugin Manager
Plugin Manager lets you to view, download and install plugins from WordPress.org from an AJAX’ed interface, instead of manually downloading, extracting and uploading each plugin.
- Plugins Garbage Collector
It scans your WordPress database and shows what various things old plugins which were deactivated, uninstalled) left in it. The list of additional database tables used by plugins with quant of records, size, and plugin name is shown.
- Quick Stats
Logs hits with referrer, ip, host, client and url information. RSS tracker feature lets you tracker your visitors in near realtime using an RSS reader software.
- Search Meter
Keeps track of what your visitors are searching for. After you have activated this plugin, you can check the Search Meter section in the Dashboard to see what your visitors are searching for on your blog.
- SEO Smart Links
SEO Smart Links provides automatic SEO benefits for your site in addition to custom keyword lists, nofollow and much more.
- Simple Trackback Validation
Eliminates spam trackbacks by (1) checking if the IP address of the trackback sender is equal to the IP address of the webserver the trackback URL is referring to and (2) by retrieving the web page located at the URL used in the trackback and checking if the page contains a link to your blog.
Smartlinker is a toolbar on the WordPress TinyMCE editor that enables you to hyperlink words and phrases in your blog. A word/phrase can be the name of a person, place or thing.
- Table of Contents Creator
Table of Contents Creator (TOCC) automatically generates a dynamic site wide table of contents that is always up-to-date. All entries are navigable making your site very SEO friendly. TOCC can be configured to display static pages, blog entries and forum comments. Another great feature of TOCC is the ability to include anchor tags on any page marked with a special class. This feature allows links to articles, downloads or even other sites to appear within the table of contents as if they are part of your site’s navigation. To generate a table of contents, simply include the <!– toc-creator –> tag on any page, or use the handy page creation feature located on the plugin admin page.
- TinyMCE Advanced
Enables advanced features and plugins in TinyMCE, the visual editor in WordPress.
- Update Notifier
Sends email notifications to the admin if a new version of WordPress available. Notifications about updates for plugins and themes can also be sent.
- Weasel’s No HTTP Author
Checks to see if the author name in your comments contains “HTTP:” to help filter out spam. This only sets the “spam” flag on the comment; Akismet does the dirty work and actually removes and reports the comment.
- Where did they go from here
Show “Readers who viewed this page, also viewed” links on your page. Much like Amazon.com’s product pages. Based on the plugin by Mark Ghosh.
- Who is Online
Displays who is currently on your blog and for how long.
- WordPress.com Stats
Tracks views, post/page views, referrers, and clicks. Requires a WordPress.com API key.
Adds an AJAX poll system to your WordPress blog. You can easily include a poll into your WordPress’s blog post/page. WP-Polls is extremely customizable via templates and css styles and there are tons of options for you to choose to ensure that WP-Polls runs the way you wanted. It now supports multiple selection of answers.
Displays a printable version of your WordPress blog’s post/page.
Displays the WordPress.com stats graph, your traffic and social metrics monitoring on your dashboard.
Improve your web typography with: (1) hyphenation — over 40 languages supported, (2) Space control, includes: widow protection, gluing values to units, and forced internal wrapping of long URLs & email addresses, (3) Intelligent character replacement, including smart handling of: quote marks, dashes, ellipses, trademarks, math symbols, fractions, and ordinal suffixes, and (4) CSS hooks for styling: ampersands, uppercase words, numbers, initial quotes & guillemets.
- WP Ajax Edit Comments
The most powerful comment-editing solution for WordPress. Users can edit their own comments for a limited time, while admins can edit all comments.
- WP Math Publisher
Display mathematical equations within your posts and comments. Put your plain text mathmatical expressions between [pmath size=xx]…[/pmath] tags. The optional size attribute controls how large the images will be displayed. Useful xx integer values range from 8 to 24. Size defaults to 12 when attribute omitted. Pascal Brachet’s PHP Math Publisher library is included.
- WP Minify
This plugin uses the Minify engine to combine and compress JS and CSS files to improve page load time.
- WP Security Scan
Perform security scan of WordPress installation.
- WP Super Cache
Very fast caching plugin for WordPress.
- WP Update Message
Add an update message to your pages or posts to let your readers know what has been updated.
I do not need some contact management plugin, if someone wants to contact me he can use my EMail address. I do not have a problem having my EMail address in a robot-readable format, my anti-SPAM software is well tuned for my mailbox.
GD Star Rating
GD Star Rating
Tags: checker checks
, compatibility info
, contextual search
, grammar checker
, link checker
, version compatibility
, wordpress plugins
, wp version