Wednesday, September 29, 2010

Mozilla Discussion

To briefly digress from the success and failures of my current Irssi build, I will like to take this time to acknowledge the guys, who are doing a great job on the Mozilla Project. I wanted to touch on this; due to my most recent sit-in, with two gentlemen, who are currently working on a number different things related to Mozilla Firefox. These two individuals go by the name of Armen and John. I found their lecture to be very informative in terms of highlighting a number of different processes, and Regression testing, which are employed on  a daily basis. This includes the monitoring of builds, and various stages of testing that come in to play before the product is released to the end--user and tools used to ensure the build follows a specific criterion.

I was particularly impressed with how the Mozilla team, has achieved great success, with their streamlined automation and monitoring of package builds. Automation of processes seems like the best way to go, when you have an overwhelming number tasks to accomplish within a very narrow window (of time). Once again, thanks for insightful information session...great job!

Tuesday, September 28, 2010

Rpmlint Error Messages

Well I ran rpmlint on the spec file, RPMS and SRPMS directory, and crossed my fingers hoping for no errors. Unfortunately today wasn't the day that would see me successfully finish my build of irssi. I provided a view of the error message received, when I executed the rpmlint command (below). The result of the test 8 errors and 33 warnings. Not the outcome I wanted.


My course of action now involves determining what these errors mean, and find a way to safely fix them.

With some assistance from Chris Tyler I was able to reduce my rpmlint error msg's to a count of 4. Slowly working my way down to reducing and eliminating the total error count. A screen capture has been made available to corroborate this latest occurence.

I will continue to offer new developments as they become available.

Well folks, I have made some needed progress after toiling for some hours, trying to reduce my error count to zero. Due to the zero length error messages that I received, I had to employ the correct command, which allowed me to delete all the files in /usr/lib64 directory path, which qualified as useless to this build. As the saying applies "Rome was not built in one day." That being said, my new objective revolves around resolving all of the 35 warnings that still remains. Below is a screen capture that helps to confirm my current status with this build.


I will attempt to continue this discussion sometime tomorrow, hopefully I can get this build done and wrapped up!

Friday, September 24, 2010

Building IRSSI spec file

This session my goal is to delve into the creation of a spec file from the ground up (scratch). In the initial stages of this file creation process I have encountered a few errors, due to a few typos that were made in the spec file...fixed. Now another issue has poked its head, I continue to receive rpm build errors, such as the following:

Making install in fe-text
make[3]: Entering directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15/src/fe-text'
make[4]: Entering directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15/src/fe-text'
test -z "/usr/bin" || /bin/mkdir -p "irssi/usr/bin"
/bin/mkdir: cannot create directory `irssi': Not a directory
make[4]: *** [install-binPROGRAMS] Error 1
make[4]: Leaving directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15/src/fe-text'
make[3]: *** [install-am] Error 2
make[3]: Leaving directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15/src/fe-text'
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/sbr/rpmbuild/BUILD/irssi-0.8.15'
make: *** [install] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.Fe7ScR (%install)

RPM build errors:
    Bad exit status from /var/tmp/rpm-tmp.Fe7ScR (%install)

Well I was stumped for a bit , upon encountering  a number of build errors. However, I reached out to Chris Tyler for some assistance with the problem, I was facing.  It so happen that as the build error states - # /bin/mkdir: cannot create directory `irssi': Not a directory, as Chris Tyler pointed out to me, the make install line  spec file was pointed to the wrong path. At the time of the build my make install path was set as DESTDIR=irssi (which obviously is not the correct directory). What the path was changed to reflect, and should have been from the beginning is DESTDIR=$RPM_BUILD_ROOT. Once I change to the correct path, I had some issues regarding missing macros in my spec file...please stay tuned for future details regardiing my progression with this build.

As a continuation to my ongoing learning curve. I interestingly enough came across an issue, where I was prompted with an error message of "error: Installed  (but unpackaged) file(s) found:"  ---> followed by a long listing of files that needed to be identified in the spec file based on the proper file path or predefined macros eg. %{_bindir}/* specifies files for /usr/bin directory. My concern was with the setting of the path in my spec file to reflect /usr/share/doc/irssi and /usr/share/irssi (not knowing the problems it may or may not create). As you can see irssi reside in the same path for both directories.
However, I was able to resolve that issue with the assistance of Chris Tyler who offered a number of strategic steps to overcome and/or prevent any potential problems in the unforseen future.  I added the following lines to my spec file and everything checked out good as illustrated by the results below: (1) Spec changes (2) Recent outputted results after making the changes and running rpmbuild -ba <specfile name>


Snippet of recent output
libpthread.so.0(GLIBC_2.2.5)(64bit) libresolv.so.2()(64bit) libtinfo.so.5()(64bit) libutil.so.1()(64bit) perl(Carp) perl(DynaLoader) perl(Exporter) perl(strict) perl(vars) rtld(GNU_HASH)
Checking for unpackaged file(s): /usr/lib/rpm/check-files /home/sbr/rpmbuild/BUILDROOT/irssi-0.8.15-1.fc12.x86_64
Wrote: /home/sbr/rpmbuild/SRPMS/irssi-0.8.15-1.fc12.src.rpm
Wrote: /home/sbr/rpmbuild/RPMS/x86_64/irssi-0.8.15-1.fc12.x86_64.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.4OqPri
+ umask 022
+ cd /home/sbr/rpmbuild/BUILD
+ cd irssi-0.8.15
+ rm -rf /home/sbr/rpmbuild/BUILDROOT/irssi-0.8.15-1.fc12.x86_64
+ exit 0

As mentioned the latest output above occured since I made a few changes to my spec file with the assistance of Chris and one of my other colleagues...looks good...moving on to running the rpmlint command to test for errors with the rpm package created...will let you know how that goes.

Well I ran rpmlint on the spec file, RPMS and SRPMS directory, and crossed my fingers hoping for no errors. Unfortunately today wasn't the day that would see me successfully finish my build of irssi. I provided a view of the error message received, when I executed the rpmlint command (below). The result of the test 8 errors and 33 warnings. Not the outcome I wanted.


My course of action now involves determining what these errors mean, and find a way to safely fix them.

Wednesday, September 22, 2010

J value testing

I had the opportunity to run a series j value testing on my system. In hope of defining which value(s) will afford me the most optimal performance during builds. My initial j value (by default) was set at 3, which I modified to a j value of 4. The time taken for my vim build to complete at this settings, was much better than the previous build, which had a setting of j3.


                               
                               

Out of curiosity I wanted to see what the performance would be like if I increased my j value to 5. Once I changed the j value to 5, I built an rpm for vim again! Here the vim built to a bit longer to complete, and the same can be said for a j value of 6. I then concluded that the best j value settings for my machine is j4. As an added piece of feedback I was a bit surprised that the performance level for my vim build dropped, when I changed my j value to 5.

Sunday, September 19, 2010

Building packages for VIM Editor using RPM

Today the objective of my task was to build the Vim editor on my Fedora Machine. After installing all the required rpm tools, such as rpmdevtools, rpmlint, rpmbuild, rpm, and yum-utils. I Then proceeded to commence the build process with the rpm utilities.

After downloading the source file, I had to verify what the building of vim requires, to gain this information, I had to go the .spec file for vim. The vim.spec file indicated that this BuildRequires: hunspell-devel (header package). So I install the header package. However, after running rpmbuild -ba  *.spec command (as a regular user), I received an error message indicating there are additional dependencies needed to build Vim. So to solve this problem I proceeded to install all the required packages, using the yum command as root.
                                  Some required dependencies

The previous error message indicated that one of the dependencies that I needed to build was perl. Simple right just run the command yum install perl, and you're done...wrong!!! Did it. I had to pay careful attention to what the error message said the required dependency was, the perl dependency in this case is actually perl -ExtUtils-Embed (actual rendering perl-ExtUtils::Embed).
                                      Perl dependency install

It was pretty much a smooth ride to comlete the build after the previously mentioned minor hindrance. The entire build took over 1 hour to complete, although the time in the screen capture seems to dictate a different sequence of time taken for completion (ignore).
                                          Build Completion

This concludes the building of Vim Editor...to be continued!!!

Thursday, September 16, 2010

Building packages for IRSSI Relay Chat

Irssi compile and install
For this build I downloaded the tar ball file, and untarred it into my home directory, as per build requirement. Upon execution of the configure script, I encountered a few errors, as is common with some builds. The following are snippets of the program preparation for compile:

1.  checking sys/utsname.h usability... yes
checking sys/utsname.h presence... yes
checking for sys/utsname.h... yes
checking regex.h usability... yes
checking regex.h presence... yes
checking for regex.h... yes
checking for special C compiler options needed for large files... no
checking for _FILE_OFFSET_BITS value needed for large files... no
checking for socket... yes
checking for inet_addr... yes
checking for socklen_t... yes
checking size of int... 4
checking size of long... 8
checking size of long long... 8
checking size of off_t... 8
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.7... yes
checking for GLIB - version >= 2.6.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.
*** trying without -lgmodule
checking for pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.7... yes
checking for GLIB - version >= 2.6.0... no
*** Could not run GLIB test program, checking why...
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means GLIB is incorrectly installed.

*** If you don't have GLIB, you can get it from ftp://ftp.gtk.org/pub/glib/
*** We recommend you get the latest stable GLIB 2 version.
*** Compile and install it, and make sure pkg-config finds it,
*** by adding the path where the .pc file is located to PKG_CONFIG_PATH

configure: error: GLIB is required to build irssi.
As you can see glib package stalled the configure process of the build. I proceeded to yum install the glib package, which was successfully installed. However, my second attempt at running the configure command unfortunately did not yield a positive result.  My research via the web did eventually generate the outcome I anticipated. Thanks to the information posted on the following website: http://www.clearfoundation.com/component/option,com_kunena/Itemid,232/catid,37/func,view/id,17120/

More snippets
config.status: creating src/perl/Makefile
config.status: creating src/perl/common/Makefile.PL
config.status: creating src/perl/irc/Makefile.PL
config.status: creating src/perl/ui/Makefile.PL
config.status: creating src/perl/textui/Makefile.PL
config.status: creating scripts/Makefile
config.status: creating scripts/examples/Makefile
config.status: creating docs/Makefile
config.status: creating docs/help/Makefile
config.status: creating docs/help/in/Makefile
config.status: creating irssi-config
config.status: creating irssi-config.h
config.status: executing depfiles commands

Building text frontend ........... : yes, using terminfo
Building irssi bot ............... : no
Building irssi proxy ............. : no
Building with module support ..... : yes
Building with Perl support ....... : no
Install prefix ................... : /usr/local

Building with IPv6 support ....... : yes
Building with SSL support ........ : no
Building with 64bit DCC support .. : yes
Building with garbage collector .. : no
If there are any problems, read the INSTALL file.

2. Here the compilation process of Irssi is completed
make[3]: Leaving directory `/home/sbr/Desktop/irssi-0.8.13/scripts'
make[2]: Leaving directory `/home/sbr/Desktop/irssi-0.8.13/scripts'
make[2]: Entering directory `/home/sbr/Desktop/irssi-0.8.13'
./irssi-version.sh . > irssi-version.h.tmp
cmp -s irssi-version.h.tmp irssi-version.h || mv irssi-version.h.tmp irssi-version.h
rm -f irssi-version.h.tmp
make[2]: Leaving directory `/home/sbr/Desktop/irssi-0.8.13'
make[1]: Leaving directory `/home/sbr/Desktop/irssi-0.8.13'

  










Conclusion
From the root environment I executed the command make install, which completed the build process. The entire build process took just over an hour.

Sunday, September 12, 2010

Nagios Software Build

Background Information

Nagios  is powerful , enterprise-class host, service, application, and unique network monitoring program.  Designed to be fast, flexible, and stable. This tool is compatible with a variety of commonly used platforms.  The content offers a brief view of the outcome from this software build. The following link will corroborate the information previously mentioned. http://sourceforge.net/projects/nagios/

Here is a brief view of the nagios directory after unpacking the package

[SBR600@localhost nagios-3.2.2]$ ls
base          contrib         LICENSE        pkginfo.in     t-tap
cgi           daemon-init.in  Makefile.in    README         update-version
Changelog     functions       make-tarball   sample-config  UPGRADING
common        html            mkpackage      subst.in       xdata
config.guess  include         module         t
config.sub    INSTALLING      nagios.spec    tap
configure     install-sh      OutputTrap.pm  THANKS
configure.in  LEGAL           p1.pl          tools

Screen capture of build completion














Additional dependencies were needed, and installed using the yum install utility, according to specifications set out in the instruction file. The build was pretty straight forward and took approximately 35 minutes to complete.

Wednesday, September 8, 2010

My First Blog Post

Brief Introduction

Hello! My name is Kerry Taylor, I am a 7th semester student on the tail end of the CTY program. I view anything to do with OpenSource as innovative, unique; as it helps to enhance the continuous evolution of cutting-edge technology in the IT industry.

IRC Forum Chat

<platform_>  there is an underscore after the name
<BoChao> yeah
<platform_> I am not sure if that is actually me very strange to say the least
<BoChao> you will probably time out
<BoChao> what you can do is right click on platform  (in irc) and ping the other account
<platform_> looks like a duplicate with
* Looking up platform user info...
-> [platform] PING
<BoChao> i think you might have another session running somewhere
<platform_> I think that might be the case but I have no clue where that might be I will shutdown my laptop.
<platform_> That is a conundrum to me lol!
<BoChao> lol
<platform_> I guess I should not worry about it. It might resolve itself when I shutdown this PC.
<platform_> We can call it a wrap until tomorrow. <BoChao> ok
<platform_> Thanks lol!
>>>This concludes my first posting.

Seneca Wiki
Fedora Wiki