New version of portpeek 1.6.1
A new version of portpeek can be found here (version 1.6.1) or emerged through portage.
Changes:
This version is for users of portage >= 2.2 as it removes the use of deprecated modules. Recommendations for additional features are gladly welcomed.
kernel-alert: When you absolutely, positively have to know when that next kernel version is released
Trying to keep ahead of the zero-day vanilla bump requests has proven to be challenging.
To aid in that, I’ve written a small bash script that will go out and determine if a new kernel version has been released.
If it finds a new version, the script will email the defined recipients.
Some limitations do exist:
- It uses screen scraping. Hence, if the kernel.org website source changes, the script will need to be updated
- It is limited to checking only the following kernel versions:
- The latest stable version
- The latest prepatch version
- The latest snapshot version
- The latest 2.4 version
This might be useful only to me, not sure how many people live and breath for the next kernel version.
As always, suggestions, comments and patches are always welcome.
You can download version 0.1 here.
The reports of my death have been greatly exaggerated. -Mark Twain
“Failing that, the latest news item on the Gentoo Linux home page — announcing the October 15 weekly newsletter — could be the project’s very last news release.” - DistroWatch
Come again?
Yes, Gentoo has some issues concerning the Gentoo foundation. Yes, we are actively working on straightening out these issues. No, Gentoo is not dying. Developers are still coding, servers are still humming and moral among developers that I work with is high. This is not a full time job where the miserable guy in the cube next to you keeps chugging on because he has a mortgage and 4 kids. When a developers of this distribution lose faith they leave. This leaves more happy and highly motivated people in Gentoo then you probably see at your day job.
The state of the foundation is not something that will stop the kernel team from releasing kernels, the KDE team from working their butts off so KDE 4 compiles on everyone’s machine, or the release team from creating and testing the forthcoming release. The same people are hard at work doing the same job they were doing two weeks ago.
Users: don’t think for an instance that the developer base disregards your feelings concerning the distribution. I spend a great amount of time in bugzilla for our users benefit. I enjoy it, and I plan on to keep doing it. Try to remember why you chose to use Gentoo in the first place. Did anyone actually pick Gentoo because of the foundation set up after Daniel Robbins left? I kinda doubt it.
We’ve have identified the issue and now some dedicated members are working to a solution that will probably not satisfy everyone, but will be a well thought out solution for the continued health of the project. Mark my words, we have some really smart folks and Gentoo will come out of this stronger then ever.
‘Paste Select’ in Konsole
Update (10/21/07):
ebuild and patch for konsole 3.5.8
I always felt a ‘paste selection’ menu item in konsole would be a great feature to have. I coded a two liner for konsole and submitted it to the KDE
Bug Tracking System.
Unfortunately, the maintainer didn’t feel that anyone nowadays could actually not have a middle mouse button (which performs the paste selection). Of course, my core 2 laptop doesn’t have a middle mouse button.
Anyways, I wrote a small patch that you can apply against the konsole source to add the feature. I’ve also made a minor ebuild for Gentoo users that will apply the patch, compile and install the application.
For help on installing 3rd Party Ebuilds, you can look here: http://gentoo-wiki.com/HOWTO_Installing_3rd_Party_Ebuilds
kde 3.5.8
Ebuild (konsole-3.5.8-r1)
Patch (place in the ‘files’ directory)
kde 3.5.7
Ebuild (konsole-3.5.7-r1)
Patch (place in the ‘files’ directory)
New version of portpeek 1.5.7
A new version of portpeek can be found here (version 1.5.7) or emerged through portage.
Changes:
Packages without (<>=) atoms should not be displayed as stable since this tool is for managing specific versions of packages in package.mask and package.keywords
Browsing the Linux Kernel source
I recently started using cscope and I thought I’d briefly type up the quick start for browsing the kernel source
1. emerge cscope
2. identify a directory to put your cscope generated files (~/cscope)
3. run the command to extract the appropiate files that will included in the search. This command and more detailed instructions can be obtained from here thanks to Jason Duell.
find $LNX \
-path "$LNX/arch/*" ! -path "$LNX/arch/i386*" -prune -o \
-path "$LNX/include/asm-*" ! -path "$LNX/include/asm-i386*" -prune -o \
-path "$LNX/tmp*" -prune -o \
-path "$LNX/Documentation*" -prune -o \
-path "$LNX/scripts*" -prune -o \
-path "$LNX/drivers*" -prune -o \
-name "*.[chxsS]” -print >~/cscope/cscope.files
4. execute cscope -b -q -k in ~/cscope
5. run cscope -d
I was looking for the define of module_param_named and cscope told me where was in sub-second time:
Global definition: module_param_named
File Line
0 moduleparam.h 81 #define module_param_named(name, value, type, perm) \
Find this C symbol:
Find this global definition: module_param_named
Find functions called by this function:
Find functions calling this function:
Find this text string:
Change this text string:
Find this egrep pattern:
Find this file:
Find files #including this file:
cscope home page:
http://cscope.sourceforge.net/large_projects.html
elog-list added to projects
I’ve been using a small script I wrote last year to manage the elogs created by Gentoo’s portage program. It’s a simple script to display the log files with the ability to also delete them. More details here.
root # elog-list
portage elog files located in /var/log/portage/elog
1) www-apache:mod_jk-1.2.23:20070726-123924.log
Please select a file to view by entering the corresponding number.
(-1 to exit)
Creating a patch for the linux kernel using quilt
- Download and install quilt. (
emerge quilt, of course) cd linux-2.6.21(or whatever release you are creating a patch for)- Tell quilt you want to start making a patch
quilt new patchname-does-something-version.patch- Tell quilt which files you are going to be modifying
quilt add drivers/modify_this_one.c- Do this for all files, BEFORE you modify any of them
- Now make your changes to the files
- At this point, running
quilt diffwill show you the patch so far - When done, run
quilt refreshand a patch will be created at patches/patchname-does-something-version.patch" - make sure there isn’t a patches directory in the current path
- patch a clean version of a kernel and then compile to test it out.
Thanks to dsd for the quick tutorial.


