Showing posts with label source. Show all posts
Showing posts with label source. Show all posts

Saturday, February 7, 2009

Learning Linux Through Humor And Comics!

Happy Saturday :)

Today (or yesterday, or the day after tomorrow.. whenever this post was/will-be written ;) we stumbled upon this site that's shooting at teaching Linux to the younger generation by introducing Open Source to them through comics. I actually know a few guys who could benefit from this form of learning themselves. Not me, though. I only read "graphic novels" ;)

Today we're linking to their first issue (which you can find on their Issue Guide). It's downloadable, printable and free, so check it out if you get a chance.

Actually, below, is the list of issues they discuss in their "FIRST ISSUE." It's quite expansive. You can download the first issue in ebook form for free!

Is the below list of issues too much? Only you can decide. It's turned my brain into pudding and I have a lot of learning to do before I go back to doing this for a living in two days ;) Just kidding, of course :)

Cheers,



The first issue of 'Hackett and Bankwell' teaches readers how to switch from commercial operating systems to the Free and Open Source GNU/Linux platform. The issue focuses on the GUI (Graphical User Interface) and shows the audience how to search for and install software using the Synaptic Package Manager in Gnome. If some of the terminology in the comic was new and you want more information on any of the technical topics introduced in the first issue of Hackett and Bankwell, you can find it in the links below. Information covered in #1 includes:
A History of UNIX
A History of the GNU General Public License
A History of the GNU Project
A History of Linux from a GNU-centric perspective
A History of Linux from a Linux-centric perspective
A History of Cyber Criminals
A History of Debian Linux
A History of RedHat Linux
A History of Ubuntu Linux
A Linux Timeline
Open Source Alternatives to Commercial Apps
More Linux Alternatives to Commercial Software
Information on Linux as a Mobile Device Platform
Saving Money on Software Expenses with Linux
Linux or GNU Linux?
Understanding the Linux GUI
Information on the GNOME Graphical User Interface
List of GNU Packages
List of Linux Distributions (Distros)
List of Linux LiveCD Distros
Intro to Debian for RedHat Users
Differences between RedHat and Debian Linuxes
Package Management in Ubuntu
Package Management in RedHat
Information on GIMP
USA EPA Guide to Recycling Electronics
Find an E-Cycler
Editing Boot Options in the BIOS
Official Ubuntu Installation Documentation
Professional Video in Linux
Free Video Editing Software in Linux
Lifehacker's Top 10 Programs in Ubuntu
Setting up Evolution Email in Ubuntu
Upgrading an Existing Ubuntu Installation
Using the Ubuntu Update Manager
Understanding Binary Files
Understanding Source Code
Specifying Repositories in Ubuntu
Using the Synaptic Package Manager in Ubuntu
Open Office Productivity Software
VLC Media Player in Linux
Slashdot Article on Audio Editing with Linux
Information on the Linux Command Line Interface
List of UFO Crashes





, Mike




Discover the Free Ebook that shows you how to make 100% commissions on ClickBank!



Please note that this blog accepts comments via email only. See our Mission And Policy Statement for further details.

Sunday, November 2, 2008

Funny Mozilla Bugs - Open Source Humor

This summary is not available. Please click here to view the post.

Tuesday, March 4, 2008

Creating Your Own Linux RPM's - The Initial Software Build.

Greetings,

A while back, we took a look at creating your own pkg files for Solaris Unix. Today we're going to continue in that tradition, but take a look at the (some would say) simpler process of creating your own RPM's for Linux. These builds have been tested on both RedHat and SUSE, since they seem like polar opposites to me no matter how many similarities they have ;)

The process of building RPM's is much simpler than creating packages for Solaris in that the post-software build portion only consists of creating one specification file and then running one command. Fewer steps, and the ability to add all of your software information into one specification file, makes for a much tighter (and easier to modify or reproduce) software packaging system.

Even though the process is simpler, I've split this post up into a few parts so that each aspect of RPM package creation could be given it's fair share of attention.

The first step in creating a Linux package (or RPM which - technically - stands for RedHat Package Manager, although the format is used on many flavors of Unix) is to actually compile (or build) the software you're going to be packaging. It's important to either log your output (or, at least, the commands you execute) during the build process, as that information is going to be needed by the "rpmbuild" command that we'll ultimately use to create the finished product.

For the purposes of this "how to," we'll assume that you've downloaded the source for PACKAGE-3.2-1.tar.gz already and have "gcc" (or a suitable compiler) and "make" on your system. Also, we'll assume that you have the user privilege required to build and install software on your system.

Now, we'll get going, step by step:

1. First copy off your PACKAGE-3.2-1.tar.gz file into an appropriate location (I usually put them in a place like /usr/src/packages/SOURCES, since that file will be where it needs to be later, but you can copy it off to anywhere you like):

host # pwd
/users/me/softbuilds
host # ls
PACKAGE-3.2-1.tar.gz
host # cp PACKAGE-3.2-1.tar.gz /usr/src/packages/SOURCES/.
<--- Note that /usr/src/packages may be a completely different location depending on the flavor of Linux you're running, but the subfolder SOURCES should always be there. The same note will apply to all other instance where I mention the /usr/src/packages directory.

2. Now use gzip and tar to unpack your gzipped source (or, use tar for both operations if possible. For instance, Gnu Tar has a -z flag that you can use to avoid calling "gunzip" (or "gzip") altogether:

host # gunzip PACKAGE-3.2-1.tar.gz
host # tar xpf PACKAGE-3.2-1.tar


or

host # gzip -d -c PACKAGE-3.2-1.tar.gz||tar xpf -

or

host # tar xzpf PACKAGE-3.2-1.tar.gz <--- Gnu tar required for this (Probably the default for your Linux OS)

3. Change directories into the directory created by unpacking your gzipped PACKAGE-3.2-1.tar.gz file and be sure to read the INSTALL and/or README file(s). One (or both) of these will almost invariably include the specific commands you need to run in order to build and install your software.

host # cd PACKAGE-3.2-1

4. Follow the instructions to build your software. Below, I've run down what a typical install of a generic software package would look like (and assumes no errors). The one important thing to note below is the use of the "--prefix=" argument to the "configure" command. We want to be sure to build our package into a completely separate directory than we actually intend for the RPM to install later. This may seem counter-intuitive, but it's actually the easiest way to complete some of the upcoming "rpmbuild" steps and avoid utter confusion or complication ;)

host # ./configure --prefix=/usr/local/PACKAGE-3.2-1
...
<--- Probably lots of output. Generally only helpful if you have errors. There may be any number of other options, aside from "--prefix=," that you'll need to pass to configure, but that should be explained in the INSTALL and/or README file(s). Worst case, you can run "./configure --help" to see a list of all available options for configuring the build of the software you're installing.
host # make <--- This is the command that will run through the compile/build of your software package.
host # make check <--- Sometimes "make test," although this option may not even be available in your software's Makefile.
host # make install <--- This will complete your installation.

The specifics of your build may be more or less complicated, but (from the above, assuming all went well) we should have noted the following successfully run commands, in order:

host # configure --prefix=/usr/local/PACKAGE-3.2-1
host # make
host # make check/test
host #make install


You actually won't be using the --prefix flag directly in your specification file later, but you'll need to know the prefix, so it's best just to jot it down.

5. Now that your build is complete, generate a list of all the files that got created when you did your build and keep this for future use (you'll need it for the specification file later). A quick and easy way to do this is:

host # find /usr/local/PACKAGE-3.2-1 >FILELIST <--- Redirect all your output to FILELIST.

or

host # find /usr/local/PACKAGE-3.2-1 >FILELIST 2>&1 <--- Only if, for some bizarre reason, find sends any output to STDERR that's important.

Now you've got your software package built and are ready to move on to the next step in building your RPM package. We'll pick up there tomorrow!

Until then,

, Mike