From the Bits from the Debian Installer team mail to d-d-a:
It has been decided that, in order to not slow down the development processes, D-I SVN should be branched when the work on preparing a release starts. Even if SVN doesn t make the process very easy, changing the VCS we use is currently not an option we prefer.SVN, branching, d-i. There s no word to describe how painful it is to work on d-i using SVN. d-i is big, SVN is slow in about everything it does. Now add branches to the mix. That mail left me very disappointed; first because I thought switching to git was sort-of planned for after the release of Lenny, and now it s off the table, second because some things in this mail are just wrong. Oh well. No d-i for me, I guess, then.
The workshop I went to recently and the ICT Champions in general ( Website Under Development - release early, anyone?) seem to be funded by public and charity money. As I mentioned, the worst thing was all the needless promotion of certain companies products, so why are they promoting private products instead of being neutral and open?
That s bad for Britain, bad for the competing products that are co-produced by the Voluntary and Community Sector and bad for the VCS workers because it trains them in single-tool methods instead of transferable skills. Let the private sector pay for their own adverts! Why can t we stop making this mistake?
Which brings me to the other problem with that ICT advice: well-meaning common-sector businesses like ours can t update it autonomously, for two reasons:
I work with log files a lot.
Most of the logfiles I work with are in a standard format of some kind, and most often they are rotated upon a daily basis. (Examples include syslog, qpsmtpd, and Apache logfiles.)
I wish there were a general purpose way to say "grep time-range pattern logfile".
Right now, for example, I've just deployed some changes upon a cluster of hosts. Now I want to see only messages that refer to a particular area of the codebase only those that occurred after 23:00 - which is when I did the commit/push/pull dance.
I've written a quick hack - tgrep (time-grep) - which allows simple before/equal/after/range grepping :
# show matching lines after 23:00PM tgrep \>23:00:00 -i subject /var/log/qpsmtpd/qpsmtpd.log # show matching lines in the interval 23:00PM 23:15PM tgrep 23:00:00-23:15:00 -i -r subject /var/log/qpsmtpd/If there is a common way of doing this "properly" then I'd love to be educated, failing that take it if it is useful (moreutils?) ObFilm: Chasing Amy
Date 30th March 2009
All being well the Debian Administration website now fully supports UTF-8.
This change was a long time coming, considering the amount of time the site has been live.
Most of the changes have been present for a while:
A few hours ago, a new version of kernel-package was uploaded to
experimental. This is a major change,and I would
appreciate it if folks took it out for a spin, kicked the tires,
and provide feedback about where this version is lacking.
This is only part of the way along in this development cycle. I
would like to add a debug-info separation, either in a different
directory than / in the image packages, or a separate package by
itself. I would also like to create an overlay directory for
/usr/share/kernel-package/, so people can inject code
or override the defaults for kernel-package easily. I am also
willing to make any changes to standardize the handling of hook
scripts for kernel packages in Debian.
./debian/ is ephemeral
make-kpkg removes and re-creates
./debian on every invocation. This started as an
exercise to protect ourselves from the upstream builddep
functionality, that randomly cleaned out ./debian
whether or not it had created it, effectively making it impossible
to run dpkg-buildpackage easily (which is ok, if all
you care about is the image package)
This does make the kernel-package far more nimble;
we now offer less surprise to users who did not expect stampts that
the kernel-packagge used to not do duplicate work. Now, if you edit
a couple of files in the kernel source, and run
make-kpkg, the kernel will build as expected. There
are no more version mismatch errors, and the kernel version can
be modified using localconfig as one desires. With
this, kernel-package can routinely be used to build kernels out of
the git tree.
The con is that we no longer cater to official kernels, or to
anyone who expected content in ./debian to persist. At some point,
there are plans to implement an overlay directory that will shadow
/usr/share/kernel-package/ruleset, but that is not yet
implemented. In any case, the kernel team in Debian regards
kernel-package to be broken, and have been bad
mouthing it and deprecating it for a few years now, so this will
not be a loss for them.
--added-patches option of make-kpkg is
gone, the work-around is to prepare the kernel sources before calling
make-kpkg.
kernel-package has
carried specal case code for official images. This has caused some
problems, recently, since the need to preserve
./debian has caused no end of problems when the
version changed out from under ./debian, or when
people wanted to edit a file and expected kernel-package to do a
minimal recompile.
However, sometime in the Etch release cycle, the kernel team
deprecated kernel-package as the means of building
official kernels. They have recently started saying they think
kernel-package is broken, and have their own
recommendation for how to build kernel packages. Therefore, a full
release cycle later, we can get rid of the special case rules used
for official packages. Also, this allows us to drop
./debian at the drop of a hat, and recreate it with an
version that reflects the current state of the kernel sources.
/usr/src
/etc/kernel/*.d directories.
Firstly, modern boot loaders scan the boot directory for kernel
images, and the user no longer has to code in the path to the
symbolic links that the kernel image package used to
manipulate.
Secondly, hardcoding the behaviour into the postinst made for a
very rigid policy; and user wanted more flexibility than that.
There is an example shipped with the package that shows a more
flexible scheme that kept two symbolic links for version 2.4
kernels, and two symbolic links for 2.6 kernels; it can be easily
modified to keep two links for 2.9 kernels and two links for 2.8
kernels, or one of each, or whatever the user wants.
make-kpkg images as well as the official images, and
are thus better than the script shipped with
initramfs-tools themselves, as they offer a super set
of functionality.
This also demonstrates how the posts install script communicates
with the initramfs creation scripts so that no initramfs is
generated in case you do not want it.
While Linux and Debian are plenty of programs for backing up your system, things change when you need a backup system for a common desktop user. In this area there is a lot of room for improvement, as programs for KDE and GNOME are years behind what programs for Windows and Mac OS X are offering.this IP downloaded something illegal at this dateto a central authority, and this authority will send two warnings before cutting the Internet connection of the alleged illegal downloader for up to a year. You will notice that there is no mention of what the incriminated person allegedly downloaded. There will be no possibility of appeal until the sanction is executed. This scares the hell out of me. This spits upon so many aspects of the French legal system that it is honestly impressive... What about the French principle that says that everyone is innocent until proven guilty ? Here, you are declared guilty based on a rather weak evidence (on IP address !), and you'll have to prove your innocence. What about the principle that there needs to be a fair trial before the execution of the sanction ? You'll have to prove you are innocent after the execution, with the additional fun that it will turn almost impossible to prove it. Not to mention the fact that the companies harvesting IP addresses of alleged offenders will have a great deal of access to data you're exchanging; what about privacy ? For the record, this privilege, violating the way justice works in France, had only ever be granted to anti-terrorist cells. The fun thing is that this law is useless, at least in terms of the its official goal: the day it comes into application, illegal file sharers will encrypt their exchanges or fake their IP addresses, or do whatever else they might want to do to guarantee their anonymity, and no company will ever be able to find out what it is they exchange. I won't even mention the number of false positive of these automatic accusations: many innocent French web surfers will have their connection cut without ever knowing why and without any possibility to fight back. So, what is the real goal ? Or what will be the use ? I can only speculate, of course, but it is tempting to think that this law could be used to regulate what is being expressed from France on the web. Someone is saying disturbing things ? Well, easy to shut him/her up: either fake downloads from his/her IP address or bribe a company into filing false accusations, and you'll effectively remove his/her connection while having the opportunity to further discredit the person by publicly disclosing that he/she is such a pirate that their connection was cut... Sounds neat, doesn't it ? In my childhood, teachers kept on saying that France is the country of human rights, but I can't help thinking this is less and less the case[1]. Well. That was a long rant. But I can't keep it inside: this is touching me too much. I'll add that I'm not downloading anything, and I don't have anything a priori against laws which would tend to regulate illegal file sharing. I just don't think that the (small) profits of a few justify spitting upon the freedom and the elementary rights of all people living in France. Further information, in French, can be found there. The full text of the project can be found on the website of Assembl e Nationale. [1] Please don't get me wrong. There are many countries where life is definitely more difficult than here, and where human rights are constantly scorned upon, which is fortunately not the case here yet.
Neil put me onto this
guy who is also doing monitoring of his cat water bowl. Unlike my way of doing
it, he seems to be doing it without any probes in the water, which would
make refilling the water bowl a lot less fiddly, although adds the
requirement to have a rig above the bowl.
This ultrasonic
sensor thing sounds very interesting.
I foresee the soldering iron making a reappearance in the near future...
The Bash Completion Development team is proud to announce the release of
Guadalinex-EDU: New educational distribution based in Jaunty
Guadalinex Edu is a new GNU / Linux distribution developed by the Advanced Center for ICT Schools Management (CGA), initially created for use by the educational community of Andalucia, Spain which will be available for teachers and students within the domestic sphere. Guadalinex Edu distribution is equivalent to the future Guadalinex V6 citizen but oriented to the educational sector.
Looking for the highest possible level of stability in the distribution, the CGA will be releasing a beta version of the distribution, installable by anyone who wants it. The aim is to involve the educational community in the stabilization and development of Guadalinex Edu, before its deployment in local schools.
Guadalinex Edu Beta 1 is fully functional, but should not forget that this is a beta version which may contain errors from both: the applications included by the CGA in the distribution, and errors coming from the base distribution where it must be installed (Jaunty Jackalope Ubuntu 9.04), so it is not recommended for use in production computers and, in any case, it is recommend making a backup of important data before installation.
Within an ICT Center, Guadalinex Edu will take advantage of the network infrastructure and servers from the center to offer:
a system that allows any member of the center to become remote user of its data in any computer regardless of the dependence location in the center.
a system for transmitting multimedia content among computers in a classroom
a system of interaction between students and teachers via the computer
For domestic users, Guadalinex Edu is offered as a meta package to be installed on Ubuntu Jaunty and offers tons of applications like:
Celestia (space simulator)
Kstars (Planetarium)
Kgeography (Maps)
Parley (Vocabulary)
Squeak
DRAE Spanish Search tool (Lemurae)
GNU Octave
Kbruch (fractions)
Kig
KmPlot
KSeg (Geometry)
Mathwar (Game of calculus)
QtOctave (numerical calculus)
Freemind
Blender
Audacity
Festival GUI
KTouch (Typing)
Kompozer
Umbrello
K3b
Kino
Plus all the benefits of Guadalinex:
Spanish translation of many applications
Support for electronic ID Card
And Ubuntu:
A wide range of media devices support (kernel 2.6.28)
Firefox 3
OpenOffice 3
XOrg 1.6 , etc
Installation instructions for home users are available here(In spanish)
If you have a Launchpad account, you can add comments and report bugs at the following addresses (if you do not have an account, you can register with Launchpad for one)
Comments:
https://launchpad.net/guadalinexedu/+addquestion
Bug reports:
https://bugs.launchpad.net/guadalinexedu
Original link in spanish here
Looking at student proposals for phpMyAdmin, we have at least five for
improving import functionality in same way. It's good to have a choice, but if
you are thinking about filing another proposal for import, I have to say it is
really not a good idea, because we simply have too much of them already.
PS: Student checklist can help you to increase your chance being the
chosen one ;-).
When trying to port coreboot (previously LinuxBIOS) to a new mainboard you're often confronted with a big problem: the BIOS/ROM chip on the respective motherboard is soldered onto the board (i.e., not in a socket).
This means that you cannot easily (hot-)swap the chip during development or for recovery purposes. So you basically have exactly one try to flash the ROM chip with a fully working/booting coreboot image. If that goes wrong your board is bricked.
This makes it pretty much impossible to develop a coreboot port for such boards (and soldered-on ROM chips are becoming more and more common, unfortunately).
However, I've recently tried to replace the soldered-on (PLCC) ROM chip on one of my boards with a socket. What sounds pretty scary at first, especially given that I have almost non-existant soldering skills, turned out to be really not that hard. Also, it can be done with relatively cheap and readily available equipment.
I have written a short HOWTO for desoldering chips and soldering on sockets in the coreboot wiki, and also finished a video showing most of the process, which I hope will be helpful for others:
$ youtube-dl -t 'http://www.youtube.com/watch?v=30x4oxyczH4'
The Ogg Theora video support feature request has been open for more that a year. Until that issue is fixed I'll just use other video services, thanks...
Running 0dns-down to make sure resolv.conf is ok...done. Setting up networking.... Configuring network interfaces... ioctl[SIOCGIFFLAGS]: No such device Could not get interface ath0 flags ioctl[SIOCSIWPMKSA]: No such device ioctl[SIOCSIWMODE]: No such device Could not configure driver to use managed mode ioctl[SIOCGIWRANGE]: No such device ioctl[SIOCGIFINDEX]: No such device ioctl[SIOCSIWENCODEEXT]: No such device ioctl[SIOCSIWENCODE]: No such device ioctl[SIOCSIWENCODEEXT]: No such device ioctl[SIOCSIWENCODE]: No such device ioctl[SIOCSIWENCODEEXT]: No such device ioctl[SIOCSIWENCODE]: No such device ioctl[SIOCSIWENCODEEXT]: No such device ioctl[SIOCSIWENCODE]: No such device ioctl[SIOCSIWAP]: No such device ioctl[SIOCGIFFLAGS]: No such device wpa_supplicant: /sbin/wpa_supplicant daemon failed to start /etc/network/if-pre-up.d/wpasupplicant exited with return code 1 SIOCSIFADDR: No such device ath0: ERROR while getting interface flags: No such device SIOCSIFNETMASK: No such device SIOCSIFBRDADDR: No such device ath0: ERROR while getting interface flags: No such device ath0: ERROR while getting interface flags: No such device Failed to bring up ath0. done.It seems, the update added rules to /etc/udev/rules.d/70-persistent-net.rules by increasing the device number and applying the last applicable NAME directive instead of the first one. This lead to the following file here:
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:a7", ATTRS type =="1", NAME="ath0" SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:18", NAME="eth0" SUBSYSTEM=="net", DRIVERS=="?*", ATTRS address =="XX:XX:XX:XX:XX:XX", NAME="eth1" # PCI device 0x10ec:0x8139 (8139too) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR address =="XX:XX:XX:XX:XX:18", ATTR type =="1", KERNEL=="eth*", NAME="eth2" # PCI device 0x168c:0x0013 (ath_pci) SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR address =="XX:XX:XX:XX:XX:a7", ATTR type =="1", KERNEL=="ath*", NAME="ath1"So the devices created were eth2 and ath1 but /etc/network/interfaces contained entries for eth0 and ath0. So fixed /etc/udev/rules.d/70-persistent-net.rules and rebooted. <rant>Is it really necessary to break network access with an update???</rant> Update I forgot this one: #521521.
$ module load intel-fc/11.0.082 netcdf/4.0-intelThis selects the compiler version, and library version. Then, this places appropriate paths in $PATH, $LD_LIBRARY_PATH. While this is useful for selecting, eg. compilers, its often not great for many build processes that expect library paths, etc. hard-coded. I also dislike adding random environmental variables: it loses the Single Point Of Truth that describes the configuration. So I've come up with the following pattern. First, record the modules used (eg. library version) in config.log if configure is used. To do this, add the following to the autoconf file or system headers:
# AC_MODULES_OUTPUT # ----------------- # Check if the system runs 'modules', and if so, record the modules environment in the config.log AC_DEFUN([AC_MODULES_LIST], [AC_CACHE_CHECK[modules output if present],[ac_modules_output], (ac_modules_output= module list 2>&1 ) if test $? eq 0; then AC_MSG_RESULT([Output from 'module list' was:\n $ac_modules_output]) fi ])Secondly, For all packages, ensure that a pkgconfig package file exists. For example, we have multiple MPI implementations on our SGI system. For MVAPICH, we have a modules file:
stokes2:~$ module show mvapich2-intel ------------------------------------------------------------------- /ichec/modulefiles/mvapich2-intel/1.2p1: module-whatis MVAPICH2 1.2p1 (Intel 11.0.074) conflict mvapich2-gnu mvapich2-intel prepend-path PATH /ichec/packages/mvapich/1.2p1-intel/bin prepend-path LD_LIBRARY_PATH /ichec/packages/mvapich/1.2p1-intel/lib prepend-path MANPATH /ichec/packages/mvapich/1.2p1-intel/share/man prepend-path INCLUDE /ichec/packages/mvapich/1.2p1-intel/include prepend-path CPATH /ichec/packages/mvapich/1.2p1-intel/include prepend-path FPATH /ichec/packages/mvapich/1.2p1-intel/include prepend-path PKG_CONFIG_PATH /ichec/packages/mvapich/1.2p1-intel/share/pkgconfig -------------------------------------------------------------------We add a file mpi.pc to the PKG_CONFIG_PATH for each MPI implementation. So, mpi.pc looks like:
# MPI pkgconfig file for mvapich2-intel # Normally only used to get variables $prefix, etc. prefix=/ichec/packages/mvapich/1.2p1-intel exec_prefix=$ prefix libdir=$ prefix /lib includedir=$ prefix /include Name: mpi Description: netCDF libraries, include files and development tools Version: 1.2p1 Libs: -L$ libdir -lmpichf90 -lmpich -lpthread -lrdmacm -libverbs -libumad -lrt Cflags: -I$ includedirThis then means we can add the following small patch to our target software (in this case a climate code COSMOS):
#########################################################################
#
# MPI message passing root directory of the chosen compiler
+ # Get default MPI ROOT from the pkgconfig file if possible
+ pkg-config mpi --variable=prefix 2> /dev/null > /dev/null
+ if [ $? -eq 0 ]; then
+ MPIROOT= pkg-config mpi --variable=prefix
+ fi
+
if [ $compiler = ifort ]; then
export cc=cc
if [ $CHAN = MPI2 ]; then
- export MPIROOT=/sw/sarge-ia32/mpich2-1.0.4p1-pgi
+ export MPIROOT=$ MPIROOT:-/sw/sarge-ia32/mpich2-1.0.4p1-pgi
elif [ $CHAN = MPI1 ]; then
Such a patch is generic enough to be useful outside our institution, and means the code
can build out-of-the-box on many systems. Now to add mpi.pc to Debian ...
As I haven't used Gnome in over a year, I'm orphaning my Debian BTS Applet (original blog post).
After the original release it was forked for Launchpad and there were even plans for OpenSUSE fork. Jon Dowland also released his debgtd tool which isn't Gnome-specific and somewhat more useful for developers, although actual development has stalled with patches pending.
I would be willing to sponsor uploads if a non-Debian Developer was to adopt it.
Next.