Debian/Ubuntu Games Team Meeting #3
As it hasn't been announced on planet yet, I'd like to invite you to the thrird Debian/Ubuntu Games Team Meeting on May 29th (yes, tomorrow!) at 11:00 UTC in #debian-games.
- What: Debian/Ubuntu Games Team Meeting #3
- When: 29.05.2011, 11:00:00 UTC
- Where: #debian-games on irc.debian.org
- Who: YOU!
playing sick games (RC-bugs 2011/18)
I've been a little sick the last days and decided to be productive instead of just drinking tea all the time. The result are some (10) squashed bugs from pkg-games, and one long standing nmu.
adonthell
#624998 LP#765984 FTBFS: py_adonthell_wrap.cc:27357:44: error: taking address of temporary [-fpermissive] Patch by Peter De Wachter, I just had to sign and upload.alex4
#624884 FTBFS: stat.h:106:22: error: expected identifier or '(' before '[' token Include defs.h *after* particle.h, thus not redifining __unused from glibc's bits/stat.hfenix
#554286 LP#770962 FTBFS with binutils-gold Fixed since 0.92a.dfsg1-6, bug closed. Found different FTBFS though, fix uploaded as -9.freeciv
#554411 FTBFS with binutils-gold Closed after verifying that it is fixed since at least 2.2.1 as upstream wrote.kball
#624978 FTBFS: src/gamemenu.cpp:224:52: error: 'mkdir' was not declared in this scope Include sys/stat.h in 06_homedir_game.patch and 07_homedir_editor.patch.kiki-the-nano-bot
#625047 LP#770970 FTBFS: ../src/../SWIG/KikiPy_wrap.cpp:13045:63: error: taking address of temporary [-fpermissive] Patch by Peter De Wachter, I just had to sign and upload.late
#624937 LP#770857 FTBFS: ball.h:113:19: error: 'NULL' was not declared in this scope Include stddef.h in ball.h to define NULL.libclaw
#625038 #624919 LP#770805 FTBFS: avl_base.hpp:137:15: error: 'ptrdiff_t' does not name a type Patch by Julien Jorge, I just had to sign and upload.liquidwar
#555468 FTBFS with binutils-gold Patch by Stephen Kitt, I just had to sign and upload.lordsawar
#555564 FTBFS with binutils-gold Closed after verifying that it is fixed since at least 0.1.8xnecview
#621392 FTBFS on armel: expected identifier before numeric constant R0 is already taken as a register name on armel, rename xnecview's constant to DEFFAULTR0. (Patch basically stolen from Ubuntu)dear qmake
i can haz understanding?
I'm trying to rebuild a package with gcc-4.6 instead of (default) gcc-4.5. Sounds easy, huh?
Not today, not with qmake :(
Setting CC=gcc-4.6 CXX=g++-4.6
on the command-line does not help. Neither does exporting these in debian/rules. Let's fire up Google, I think I remember qmake tends to prepend EVERYTHING with QMAKE_
... Right, official documentation says it's QMAKE_CC
and QMAKE_CXX
. Setting those on the command-line does ... not help. debian/rules
? Nope!
Okay, let's do it the qmake-way, set it in the main .pro file which basically just calls a bunch of other .pro files (one for each component of the project). Guess what? It does not help. You have to set these in each and every .pro file! Rly? Is this what I have a build-system for?
</rant>
Now, seriously, what's the proper way to override stuff like this in qmake? Any pointers appreciated.
Debian/Ubuntu Games Team Meeting #2
The readers of debian-devel-games@l.d.o and games@l.fd.o do already know, but the fact pkg-games has it's next (second) meeting on April 30th at 12:00 UTC in #debian-games needs the attention of the whole planet (pun intended)!
- What: Debian/Ubuntu Games Team Meeting #2
- When: 30.04.2011, 12:00:00 UTC
- Where: #debian-games on irc.debian.org
- Who: YOU!
- games and cross-distro collaboration
- pending, removed, orphaned, wnpp & suggested games
- freedesktop.org/games group
- sponsoring policy
- cleaning old, adding new admins (and users)
Desktop in a shell: newsbeuter
Another week, another post from my desktop in a shell series. This time: newsbeuter
, my RSS/Atom/whatever feed-reader of choice.
Newsbeuter is a config-and-forget kind of tool. You only have to touch it when you change from a static ~/.newsbeuter/urls
to Google Reader or something (like I did some time ago). In the following I will explain both ways (as both are short and it would not fill a whole post then *g*).
newsbeuter with a static urls file
First you create a~/.newsbeuter/urls
with all your feed URLs (one per line). Then you already can start newsbeuter and it will "just work". But you also can customize it (see newsbeuter's online doc) by writing a ~/.newsbeuter/config
. Mine was rather short:
auto-reload yes refresh-on-startup yes goto-next-feed noWhich means newsbeuter will refresh the feeds every 60 minutes (tuneable via
reload-time
) and on startup and won't jump to the next feed when pressing n in a feed which has no unread items.
Yes, sorry, this is all. Newsbeuter just works ;)
newsbeuter with Google Reader
Want to use newsbeuter with your Google Reader account? Addurls-source "googlereader" googlereader-login "you@gmail.com" googlereader-password "password"to your
~/.newsbeuter/config
and it works :)
Most people want to add googlereader-show-special-feeds no
as they do not care about Google's suggestions etc.
The only culprit here is than one has to use Google Reader to subscribe to feeds, as newsbeuter does not support this (it's a viewer only).
Oh, and here comes the screenshot you waited for:
And no, I do not post my config here, you have to copy-paste it from above, hard, isn't it? :)
Desktop in a shell: irssi
Continuing my series about my desktop in a shell, in this chapter I will present you my irssi setup.
Irssi is the most customized part of my setup, using many scripts from the irssi-scripts Debian package and some "from the internet", handling 6 irc networks with a total of 34 channels plus JabberXMPP, ICQ, Twitter and identi.ca.
My "custom" irssi settings
I like my conversations to look like "Buddy, you rock" instead of "Buddy: you rock", so:/set completion_char ,
I also like *long highlighted text*, so:
/set emphasis_multiword on
Hide mIRC and ANSI colors when turned on. This can be used to eliminate angry fruit salad syndrome in some channels. (Quote from irssi.org/documentation/settings, do I have to say more?):
/set hide_colors on
When talking in more than one channel, it sometimes comes handy to repeat something from the past said in THAT channel, not searching though all:
/set window_history on
Tell irssi to shutup when away, noone will hear/see the beep anyways:
/set beep_when_away off
I want my screen to inform me about new messages, so I need this:
/set bell_beeps on
Beep for query text, notices, dcc, dcc text and hilight:
/set beep_msg_level MSGS NOTICES DCC DCCMSGS HILIGH
My used irssi scripts
active_notice.pl (from irssi-scripts)
Show notices in the active window or the corresponding query instead of the status-window. No further configuration needed.adv_windowlist.pl (from anti.teamidiot.de)
Some really smart windowlist, see my previous post about adv_windowlist.pl, I won't explain its features and settings here again.autorealname.pl (from irssi-scripts)
Show peoples real-name when they join (my $nick ←→ $name memory is poor :() No further configuration needed.chansort.pl (from irssi-scripts)
Automatically sort my channels alphabetically, grouped by network. Enable via/set chansort_autosort on
<Update>kaimi asked me yesterday, whether chansort could ignore the network and just sort ALL channels in alphabetical order. Well, it could not, until yesterday ;) Fetch either the patch against chansort.pl or "my" chansort-ng.pl and set chansort_ignore_network
to ON
. You can also set chansort_ignore_windowtype
to mix channels and queries if you like to.</Update>
hack-whois-in-current-window.pl (from dgl.cx)
Display /whois in the current window or the corresponding query instead of the status-window. No further configuration needed.keepnick.pl (from irssi-scripts)
Restore my nick after it is free again (like after a ping timepout). Set the nick via/keepnick [-net chatnet] [nick]
nickserv.pl (from irssi-scripts)
Automatically authorize me on networks with NickServ. Enable by settings services address, nick and password via:/nickserv addnet freenode NickServ@services. /nickserv addnick freenode Zhenech mypass
screen_away.pl (from irssi-scripts)
Set away when screen is detached. Will be enabled automatically, but you maybe want to tweakscreen_away_message
:)
seen.pl (from irssi-scripts)
Add a/seen nick
command to lookup when and where nick was online the last time.
No further configuration needed.
trackbar.pl (from irssi-scripts)
Draw a line when you switch irssi windows so you can see which part of the conversation you have already seen. No further configuration needed.BitlBee
I'm using BitlBee as my irssi-to-every-im gateway of choice ;) But while it sounds easy, my setup isn't. I am using BitlBee only to connect tojabber.die-welt.net
, my Jabber/XMPP server. There I have a pyICQt instance running, to connect to ICQ via Jabber (yes, BitlBee would support that directly, but that would fail on me when I would like to connect from a different Jabber-client). Twitter and identi.ca are handled via Jabber too: identi.ca does support this by themself, for Twitter I use the tweet.im service.
But besides of my strange setup, BitlBee is easy: apt-get install bitlbee
, connect irssi to localhost:6667
, you will be force-joined to &bitlbee
, where you do:
register somepassword account add Jabber you@jabberserber.example.com jabberpassword account on 0and done, you@jabberserver.example.com is online :) The all awaited screenshot (from my last irssi-post): And the whole
~/.irssi/config
: http://files.die-welt.net/irssi-config.txt, read it carefully while waiting for the next post about newsbeuter :)
Desktop in a shell: mutt
Continuing my series about a desktop in a shell, today I will present you my mutt
setup. I use mutt because it has no bugs and is a really good MUA for people loving consoles ;)
First of all you have to know, that all my mail is forwarded to my server and sorted into Maildirs via maildrop, so I do not care about sorting on my "desktop", which just fetches the mail via IMAP from the server ;)
I'm running mutt-patched
from Debian Squeeze, so not all options may be available for you if you do not have the same patchset as I do.
First, tell mutt to fetch mail from imap.die-welt.net
via IMAP:
set imap_user=username set imap_pass=password set folder="imaps://imap.die-welt.net/INBOX" set spoolfile="imaps://imap.die-welt.net/INBOX"Now, enable IMAP-IDLE, list subscribed folders, reconnect to the server if needed and mark mail as read when you open it:
set imap_idle set imap_check_subscribed unset imap_passive unset imap_peekLet mutt save sent mail to the Sent directory on the IMAP server, and postponed mail to Drafts:
set record=+Sent set postponed=+DraftsRead mail should stay where it is:
set mbox="!"We use IMAP-IDLE, thus check for new mail manually only every 90 seconds:
set mail_check=90Instead timeout after 15 seconds if no user input is given:
set timeout=15Set default mail from address to my default mail address:
set from=evgeni@golov.deAnd send mail via mstmp (see below for mstmp configuration):
set sendmail="/usr/bin/msmtp"Tell mutt which addresses I recieve mail to (danger, ugly regex!):
alternates (evgeni@(debian.org|golov.(de|eu))|sargentd@(die-welt|sargentd).net|evgeni.golov@uni-duesseldorf.de)As mutt knows where I receive mail, let it set From accordingly:
set reverse_nameLet mutt cache some stuff and find its certificates:
set header_cache="~/.mutt/cache/headers" set message_cachedir="~/.mutt/cache/bodies" set certificate_file=~/.mutt/certificates set ssl_ca_certificates_file=/etc/ssl/certs/ca-certificates.crtShow only interesting headers in an useful order:
ignore headers * unignore headers from to subject date cc hdr_order from to cc subject dateFix stupid MUAs behaviour (e.g. filenames like
=?iso-8859-1?Q?file=5F=E4=5F991116=2Ezip?=
):
set rfc2047_parametersBeep on new mail, will generate a "!" in the window name in screen:
set beep_newmutt-patched has the great sidebar patch, assign ctrl-n, ctrl-p to select next, prev folder, ctrl-o to open selected folder:
bind index \Cp sidebar-prev bind index \Cn sidebar-next bind index \Co sidebar-openAnd toggle sidebar visibility with ctrl-b:
macro index \Cb '<enter-command>toggle sidebar_visible<enter><refresh>' macro pager \Cb '<enter-command>toggle sidebar_visible<enter><redraw-screen>'Since 1.5.20-2, mutt patched contains my sidebar-dotted and sidebar-sorted patches. Let mutt shorten the displayed path (e.g.
debian-devel
instead of INBOX.ml.debian-devel
) and sort the folders (the are returned in random order when using imap_check_subscribed):
set sidebar_shortpath set sidebar_sortNow let's set some colors (that match the rest of my "desktop"):
color sidebar_new yellow default color normal white default color hdrdefault brightcyan default color signature green default color attachment brightyellow default color quoted green default color quoted1 white default color tilde blue defaultAnd add some useful macros for marking new and old messages as read:
macro index .n "<tag-pattern>~N<enter><tag-prefix><clear-flag>N<clear-flag>*" "Catchup all new messages" macro index .o "<tag-pattern>~O<enter><tag-prefix><clear-flag>O<clear-flag>*" "Catchup all old messages"When forwarding mail, I like it to be forwarded as an attachment (YMMV):
set mime_forward=yesI'm using goobook in mutt to fetch my addressbook from Google. As there is no Debian package for goobook (yet), you have to install it yourself (via
easy_install
):
apt-get install python-argparse python-gdata python-simplejson python-keyring python-nose easy_install goobookConfiguration is easy via
~/.goobookrc
:
[DEFAULT] # If not given here, email and password is taken from .netrc using # machine google.com email: me@gmail.com password: passwordAnd then add the following to your
.muttrc
:
set query_command="goobook query '%s'" bind editor complete-query macro index,pager a "<pipe-message>goobook add<return>" "add the sender address to Google contacts"That's all for mutt, but... We are running mutt in a screen, so let's add the following to
.screenrc
to fix transparency and cut&paste (see http://wiki.mutt.org/?MuttFaq/Appearance):
defbce on term screen-bceAnd as mutt uses mstmp (yes, I know, mutt can handle SMTP itself...), this is my
.msmtprc
:
defaults domain dorei.kerker.die-welt.net tls on account die-welt.net host smtp.die-welt.net from sargentd@die-welt.net auth on user username password password tls_starttls on tls_certcheck off # Set a default account account default : die-welt.netC'est tout! That is my personal mutt configuration, you can download it as one file here: my .muttrc. And as everyone loves screenshots, here is one: Oh, the next chapter will be about
irssi
, but not before next Sunday (March 6th) as I'll be offline for a week, skiing in Austria :)
Desktop in a shell
People are using computers, everywhere, really! ;)
As you might guess correctly, so do I.
Basically, I am using three computers: my laptop (ThinkPad X201s, awesome machine, but pabs told me not to post any more adverts for ThinkPads on Planet Debian *g*), my smartphone (Motorola Milestone, yes, that counts as a computer) and "random_pc" (for random as in my girlfriends or some other trusted (!!!) friends computer).
My laptop is running Debian GNU/Linux unstable with Xfce4.6, my smartphone is running Android 2.2.1 Froyo, my girlfriend has Ubuntu with GNOME, a friend runs Debian unstable with GNOME, another one Arch Linux with KDE4 and so on. And on all these machines I want be able to work, which means I have to read mail and rss, chat via IRC, JabberXMPP and ICQ, have a look at my to-do list, ssh into different machines, write some code, tweet and dent etc.
In the following series of posts I will describe how I can handle about 90% of my work on every (trusted) computer out there, using ssh, screen, mutt, irssi, BitlBee, newsbeuter etc.
As I am describing the setup as a "Desktop in a shell", let's start with a login- and desktop/window-manager: ssh+screen.
ssh
Obviously, you need a machine to ssh into it, where the "Desktop" will live on. For me, that's my home router/fileserver/vm-serverdorei
, running Debian GNU/Linux screen
After logging in, I start my "window-manager" withscreen -rd
, -r
for reattach a running screen session, -d
for detach it if it is already attached somewhere else. Or I can start a new session by just typing screen
. Inside the screen I have multiple windows (one can create new ones with ^A c
) with all the needed software running. I can switch windows by pressing ^A N
, N being the number of the window, ^A n
for the next window, ^A p
for the previous one or ^A ^a
for the last one. Or I can get a window-list with ^A w
. If needed, I can rename windows with ^A A
, followed by the new name. That should be enough for almost everyone. Let's just add a window-list to the bottom (as you might have seen on GNOME, Xfce, KDE and even Windows ;) by adding the following to the ~/.screenrc
:
caption always " " # clear line before hardstatus hardstatus alwayslastline "%{= kb}[ %{B}%H:$USER %{b}][ %=%{w}%?%-Lw%?%{b}(%{W}%n*%f %t%?(%u)%?%{b})%{w}%?%+Lw%?%?%= %{b}][%{B} %l %{B}%{W}%d.%0m %{b}]"You get the current host- and username, the machine load and the date for free ;) Even if it is possible, I do not have any "autostart" like stuff in my
.screenrc
as the machine is running stable and I start the screen and the apps inside maybe once a year after a reboot.
screenrc
My.screenrc
looks like this:
# detach on hangup autodetach on # don't display the copyright page startup_message off # set scrollback to 2000 lines, default 100 defscrollback 2000 # set silencewait to 15 seconds, default 30 silencewait 15 # new shells should be started as login-shells shell -$SHELL # make a fancy statusline caption always " " # clear line before hardstatus hardstatus alwayslastline "%{= kb}[ %{B}%H:$USER %{b}][ %=%{w}%?%-Lw%?%{b}(%{W}%n*%f %t%?(%u)%?%{b})%{w}%?%+Lw%?%?%= %{b}][%{B} %l %{B}%{W}%d.%0m %{b}]" # make higlighting bold, black on blue background sorendition +b bk # some fixes, no I do not know where they come from :) termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l termcapinfo xterm* OL=100 termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l' termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~' termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~' termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007' termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l' termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337' termcapinfo xterm* be termcapinfo xterm|xterms|xs ti@:te=\E[2J termcapinfo wy75-42 xo:hs@ termcapinfo wy* CS=\E[?1h:CE=\E[?1l:vi=\E[?25l:ve=\E[?25h:VR=\E[?5h:VN=\E[?5l:cb=\E[1K:CD=\E[1J termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@' termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC termcapinfo linux C8 # some bindings bind k bind ^k bind . bind ^\ bind \\ bind ^h bind h bind 'w' windowlist -b bind 'W' windows bind 'K' kill bind 'I' login on bind 'O' login off bind '}' history bind = resize = bind + resize +3 bind - resize -3 # Mutt demands this # http://wiki.mutt.org/?MuttFaq/Appearance defbce on term screen-bceThat's all for my screen setup. The obvious, boring screenshot follows: See you next time, when I will present my mutt setup here.
Mustek PoweMust 1000 USB on Debian Squeeze
Some (long) time ago, I wrote an article how to setup a Mustek PowerMust 1000 USB on Debian Sarge. Since then Etch, Lenny and now Squeeze were released and the machine the UPS was attached to was replaced.
Yesterday I have upgraded this machine from Lenny to Squeeze and of course nut has kicked me in the nuts, telling me it can't connect to the UPS.
When I replaced the old machine, I had to connect the UPS via USB instead of serial, as the new machine has only one serial port and that one is needed for the serial console to my Sun Netra T1. On Lenny, I was using the megatec_usb
driver which seems borked on Squeeze and is superseeded by the blazer_usb
one. So here is my nut
setup on Squeeze:
nut.conf:
MODE=standalone UPSD_OPTIONS="" UPSMON_OPTIONS=""ups.conf:
[powermust] driver = blazer_usb port = schrank vendorid = 0665 productid = 5161 desc = "Mustek PowerMust 1000"Yes,
port
has to be set, but can be any random string.
upsd.conf:
ACL all 0.0.0.0/0 ACL localhost 127.0.0.1/32 ACCEPT localhost REJECT allupsmon.conf:
RUN_AS_USER nut MONITOR powermust@localhost 1 nut nut master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5upssched.conf:
CMDSCRIPT /upssched-cmdI hope this helps someone ;)