debian/0000755000000000000000000000000013370642426007175 5ustar debian/README.source0000644000000000000000000000460212212606637011354 0ustar Debianisation of suckless-tools ================================ This package contains a set of tools from suckless community as single package. To build the package you need to create source tarballs of individual tool component involved. This can be done by running following command from suckless-tools folder debian/rules get-orig-source This package can not utilize git-buildpackage as it can't handle multiple source tarballs in a single package. As of now it is using git repository just to maintain packaging history. Getting New Version of tools ============================ To get the new version of any tool, version information should be changed in debian/version_data file, also increment the CURRENT_VERSION string when doing new release. Providing tools with alternative config ======================================= If you want to provide alternative tools with customized configuration you should drop the patch containing difference with original tool into debian/local/ folder and also make sure you name the patch as tool.alternative. Two patches currently used to provide alternatives are 1. dmenu.xft : Provides xft support for dmenu 2. tabbed.meta: use meta key as modifier key for tabbed These patches are borrowed from respective tools suckless web site page[1][2] and modified later to rename the binaries to same as the patch name to avoid collision with original tool. [1] http://tools.suckless.org/dmenu/patches/ [2] http://tools.suckless.org/tabbed/patches/ Original source is also modified for above binaries to provide a suffix .default so that update-alternatives can install actual tool as a symlink to original binary or alternative binary. The code is forked under override_dh_auto_configure hook and then the patch (under debian/local) is applied to create new alternative which is installed under postinst script. So to add new patch make sure 1. You name the patch in format tool.alternative as we use tool part to fork the code to apply patch. 2. Make sure you update patch 2003_transparent-makefiles.patch to name the original binaries and manpages to have .default suffix 3. Make sure you rename the alternative binaries and manpages to have name tool.alternative. 4. Insert new rules under postinst to install the alternatives and in prerm to clean up these alternatives. -- Vasudev Kamath , Sat, 7 Sep 2013 16:57:27 +0530 debian/local/0000755000000000000000000000000012215367362010267 5ustar debian/local/tabbed.meta0000644000000000000000000000306312177370622012362 0ustar diff -u tabbed/config.def.h tabbed.meta/config.def.h --- tabbed/config.def.h 2013-05-12 11:32:24.551635511 +0530 +++ tabbed.meta/config.def.h 2013-08-04 11:40:57.985448653 +0530 @@ -19,7 +19,7 @@ static int newposition = 0; static Bool npisrelative = False; -#define MODKEY ControlMask +#define MODKEY Mod4Mask static Key keys[] = { \ /* modifier key function argument */ { MODKEY|ShiftMask, XK_Return, focusonce, { 0 } }, diff -u tabbed/Makefile tabbed.meta/Makefile --- tabbed/Makefile 2013-08-04 11:40:44.393417517 +0530 +++ tabbed.meta/Makefile 2013-08-04 11:42:38.669679807 +0530 @@ -42,15 +42,12 @@ install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f tabbed ${DESTDIR}${PREFIX}/bin - chmod 755 ${DESTDIR}${PREFIX}/bin/tabbed + cp -f tabbed ${DESTDIR}${PREFIX}/bin/tabbed.meta + chmod 755 ${DESTDIR}${PREFIX}/bin/tabbed.meta echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 mkdir -p ${DESTDIR}${MANPREFIX}/man1 - sed "s/VERSION/${VERSION}/g" < tabbed.1 > ${DESTDIR}${MANPREFIX}/man1/tabbed.1 - chmod 644 ${DESTDIR}${MANPREFIX}/man1/tabbed.1 - #debian speific - mv ${DESTDIR}${PREFIX}/bin/tabbed ${DESTDIR}${PREFIX}/bin/tabbed.default - mv ${DESTDIR}${MANPREFIX}/man1/tabbed.1 ${DESTDIR}${MANPREFIX}/man1/tabbed.default.1 + sed "s/VERSION/${VERSION}/g" < tabbed.1 > ${DESTDIR}${MANPREFIX}/man1/tabbed.meta.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/tabbed.meta.1 uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin debian/local/dmenu.xft0000644000000000000000000003307012215367437012130 0ustar diff -u dmenu/config.mk dmenu.xft/config.mk --- dmenu/config.mk 2013-09-15 23:01:36.826549755 +0530 +++ dmenu.xft/config.mk 2013-09-15 23:01:58.554741868 +0530 @@ -9,13 +9,16 @@ XINERAMALIBS = -lXinerama XINERAMAFLAGS = -DXINERAMA +XFTINC = -I/usr/include/freetype2 +XFTLIBS = -lXft -lXrender -lfreetype -lz -lfontconfig + # includes and libs -LIBS = -lX11 ${XINERAMALIBS} +LIBS = -lX11 ${XINERAMALIBS} ${XFTLIBS} # flags CPPFLAGS += -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} #CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${XFTINC} ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker Only in dmenu.xft: config.mk~ Only in dmenu.xft: config.mk.orig diff -u dmenu/dmenu.1 dmenu.xft/dmenu.1 --- dmenu/dmenu.1 2013-09-15 22:49:15.299964601 +0530 +++ dmenu.xft/dmenu.1 2013-09-15 23:01:44.606618516 +0530 @@ -53,7 +53,7 @@ defines the prompt to be displayed to the left of the input field. .TP .BI \-fn " font" -defines the font or font set used. +defines the font or font set used. eg. "fixed" or "Monospace-12:normal" (an xft font) .TP .BI \-nb " color" defines the normal background color. diff -u dmenu/dmenu.c dmenu.xft/dmenu.c --- dmenu/dmenu.c 2013-09-15 22:49:15.299964601 +0530 +++ dmenu.xft/dmenu.c 2013-09-15 23:01:44.606618516 +0530 @@ -17,6 +17,7 @@ * MAX(0, MIN((y)+(h),(r).y_org+(r).height) - MAX((y),(r).y_org))) #define MIN(a,b) ((a) < (b) ? (a) : (b)) #define MAX(a,b) ((a) > (b) ? (a) : (b)) +#define DEFFONT "fixed" /* xft example: "Monospace-11" */ typedef struct Item Item; struct Item { @@ -26,6 +27,7 @@ static void appenditem(Item *item, Item **list, Item **last); static void calcoffsets(void); +static void cleanup(void); static char *cistrstr(const char *s, const char *sub); static void drawmenu(void); static void grabkeyboard(void); @@ -50,10 +52,12 @@ static const char *selbgcolor = "#005577"; static const char *selfgcolor = "#eeeeee"; static unsigned int lines = 0; -static unsigned long normcol[ColLast]; -static unsigned long selcol[ColLast]; +static ColorSet *normcol; +static ColorSet *selcol; static Atom clip, utf8; static Bool topbar = True; +static Bool running = True; +static int ret = 0; static DC *dc; static Item *items = NULL; static Item *matches, *matchend; @@ -104,7 +108,9 @@ usage(); dc = initdc(); - initfont(dc, font); + initfont(dc, font ? font : DEFFONT); + normcol = initcolor(dc, normfgcolor, normbgcolor); + selcol = initcolor(dc, selfgcolor, selbgcolor); if(fast) { grabkeyboard(); @@ -117,7 +123,8 @@ setup(); run(); - return 1; /* unreachable */ + cleanup(); + return ret; } void @@ -160,6 +167,15 @@ } void +cleanup(void) { + freecol(dc, normcol); + freecol(dc, selcol); + XDestroyWindow(dc->dpy, win); + XUngrabKeyboard(dc->dpy, CurrentTime); + freedc(dc); +} + +void drawmenu(void) { int curpos; Item *item; @@ -167,7 +183,7 @@ dc->x = 0; dc->y = 0; dc->h = bh; - drawrect(dc, 0, 0, mw, mh, True, BG(dc, normcol)); + drawrect(dc, 0, 0, mw, mh, True, normcol->BG); if(prompt) { dc->w = promptw; @@ -178,7 +194,7 @@ dc->w = (lines > 0 || !matches) ? mw - dc->x : inputw; drawtext(dc, text, normcol); if((curpos = textnw(dc, text, cursor) + dc->h/2 - 2) < dc->w) - drawrect(dc, curpos, 2, 1, dc->h - 4, True, FG(dc, normcol)); + drawrect(dc, curpos, 2, 1, dc->h - 4, True, normcol->FG); if(lines > 0) { /* draw vertical list */ @@ -321,7 +337,8 @@ sel = matchend; break; case XK_Escape: - exit(EXIT_FAILURE); + ret = EXIT_FAILURE; + running = False; case XK_Home: if(sel == matches) { cursor = 0; @@ -359,7 +376,8 @@ case XK_Return: case XK_KP_Enter: puts((sel && !(ev->state & ShiftMask)) ? sel->text : text); - exit(EXIT_SUCCESS); + ret = EXIT_SUCCESS; + running = False; case XK_Right: if(text[cursor] != '\0') { cursor = nextrune(+1); @@ -490,7 +508,7 @@ run(void) { XEvent ev; - while(!XNextEvent(dc->dpy, &ev)) { + while(running && !XNextEvent(dc->dpy, &ev)) { if(XFilterEvent(&ev, win)) continue; switch(ev.type) { @@ -524,11 +542,6 @@ XineramaScreenInfo *info; #endif - normcol[ColBG] = getcolor(dc, normbgcolor); - normcol[ColFG] = getcolor(dc, normfgcolor); - selcol[ColBG] = getcolor(dc, selbgcolor); - selcol[ColFG] = getcolor(dc, selfgcolor); - clip = XInternAtom(dc->dpy, "CLIPBOARD", False); utf8 = XInternAtom(dc->dpy, "UTF8_STRING", False); @@ -582,7 +595,7 @@ /* create menu window */ swa.override_redirect = True; - swa.background_pixel = normcol[ColBG]; + swa.background_pixel = normcol->BG; swa.event_mask = ExposureMask | KeyPressMask | VisibilityChangeMask; win = XCreateWindow(dc->dpy, root, x, y, mw, mh, 0, DefaultDepth(dc->dpy, screen), CopyFromParent, diff -u dmenu/draw.c dmenu.xft/draw.c --- dmenu/draw.c 2013-09-15 22:49:15.299964601 +0530 +++ dmenu.xft/draw.c 2013-09-15 23:01:44.606618516 +0530 @@ -9,9 +9,6 @@ #define MAX(a, b) ((a) > (b) ? (a) : (b)) #define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define DEFAULTFN "fixed" - -static Bool loadfont(DC *dc, const char *fontstr); void drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsigned long color) { @@ -23,7 +20,7 @@ } void -drawtext(DC *dc, const char *text, unsigned long col[ColLast]) { +drawtext(DC *dc, const char *text, ColorSet *col) { char buf[BUFSIZ]; size_t mn, n = strlen(text); @@ -35,19 +32,24 @@ if(mn < n) for(n = MAX(mn-3, 0); n < mn; buf[n++] = '.'); - drawrect(dc, 0, 0, dc->w, dc->h, True, BG(dc, col)); + drawrect(dc, 0, 0, dc->w, dc->h, True, col->BG); drawtextn(dc, buf, mn, col); } void -drawtextn(DC *dc, const char *text, size_t n, unsigned long col[ColLast]) { +drawtextn(DC *dc, const char *text, size_t n, ColorSet *col) { int x = dc->x + dc->font.height/2; int y = dc->y + dc->font.ascent+1; - XSetForeground(dc->dpy, dc->gc, FG(dc, col)); - if(dc->font.set) + XSetForeground(dc->dpy, dc->gc, col->FG); + if(dc->font.xft_font) { + if (!dc->xftdraw) + eprintf("error, xft drawable does not exist"); + XftDrawStringUtf8(dc->xftdraw, &col->FG_xft, + dc->font.xft_font, x, y, (unsigned char*)text, n); + } else if(dc->font.set) { XmbDrawString(dc->dpy, dc->canvas, dc->font.set, dc->gc, x, y, text, n); - else { + } else { XSetFont(dc->dpy, dc->gc, dc->font.xfont->fid); XDrawString(dc->dpy, dc->canvas, dc->gc, x, y, text, n); } @@ -69,16 +71,33 @@ } void +freecol(DC *dc, ColorSet *col) { + if(col) { + if(&col->FG_xft) + XftColorFree(dc->dpy, DefaultVisual(dc->dpy, DefaultScreen(dc->dpy)), + DefaultColormap(dc->dpy, DefaultScreen(dc->dpy)), &col->FG_xft); + free(col); + } +} + +void freedc(DC *dc) { + if(dc->font.xft_font) { + XftFontClose(dc->dpy, dc->font.xft_font); + XftDrawDestroy(dc->xftdraw); + } if(dc->font.set) XFreeFontSet(dc->dpy, dc->font.set); - if(dc->font.xfont) + if(dc->font.xfont) XFreeFont(dc->dpy, dc->font.xfont); - if(dc->canvas) + if(dc->canvas) XFreePixmap(dc->dpy, dc->canvas); - XFreeGC(dc->dpy, dc->gc); - XCloseDisplay(dc->dpy); - free(dc); + if(dc->gc) + XFreeGC(dc->dpy, dc->gc); + if(dc->dpy) + XCloseDisplay(dc->dpy); + if(dc) + free(dc); } unsigned long @@ -91,6 +110,20 @@ return color.pixel; } +ColorSet * +initcolor(DC *dc, const char * foreground, const char * background) { + ColorSet * col = (ColorSet *)malloc(sizeof(ColorSet)); + if(!col) + eprintf("error, cannot allocate memory for color set"); + col->BG = getcolor(dc, background); + col->FG = getcolor(dc, foreground); + if(dc->font.xft_font) + if(!XftColorAllocName(dc->dpy, DefaultVisual(dc->dpy, DefaultScreen(dc->dpy)), + DefaultColormap(dc->dpy, DefaultScreen(dc->dpy)), foreground, &col->FG_xft)) + eprintf("error, cannot allocate xft font color '%s'\n", foreground); + return col; +} + DC * initdc(void) { DC *dc; @@ -109,39 +142,33 @@ void initfont(DC *dc, const char *fontstr) { - if(!loadfont(dc, fontstr ? fontstr : DEFAULTFN)) { - if(fontstr != NULL) - fprintf(stderr, "cannot load font '%s'\n", fontstr); - if(fontstr == NULL || !loadfont(dc, DEFAULTFN)) - eprintf("cannot load font '%s'\n", DEFAULTFN); - } - dc->font.height = dc->font.ascent + dc->font.descent; -} - -Bool -loadfont(DC *dc, const char *fontstr) { char *def, **missing, **names; int i, n; XFontStruct **xfonts; - if(!*fontstr) - return False; - if((dc->font.set = XCreateFontSet(dc->dpy, fontstr, &missing, &n, &def))) { + missing = NULL; + if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr))) { + dc->font.ascent = dc->font.xfont->ascent; + dc->font.descent = dc->font.xfont->descent; + dc->font.width = dc->font.xfont->max_bounds.width; + } else if((dc->font.set = XCreateFontSet(dc->dpy, fontstr, &missing, &n, &def))) { n = XFontsOfFontSet(dc->font.set, &xfonts, &names); for(i = 0; i < n; i++) { dc->font.ascent = MAX(dc->font.ascent, xfonts[i]->ascent); dc->font.descent = MAX(dc->font.descent, xfonts[i]->descent); dc->font.width = MAX(dc->font.width, xfonts[i]->max_bounds.width); } - } - else if((dc->font.xfont = XLoadQueryFont(dc->dpy, fontstr))) { - dc->font.ascent = dc->font.xfont->ascent; - dc->font.descent = dc->font.xfont->descent; - dc->font.width = dc->font.xfont->max_bounds.width; + } else if((dc->font.xft_font = XftFontOpenName(dc->dpy, DefaultScreen(dc->dpy), fontstr))) { + dc->font.ascent = dc->font.xft_font->ascent; + dc->font.descent = dc->font.xft_font->descent; + dc->font.width = dc->font.xft_font->max_advance_width; + } else { + eprintf("cannot load font '%s'\n", fontstr); } if(missing) XFreeStringList(missing); - return dc->font.set || dc->font.xfont; + dc->font.height = dc->font.ascent + dc->font.descent; + return; } void @@ -151,20 +178,29 @@ void resizedc(DC *dc, unsigned int w, unsigned int h) { + int screen = DefaultScreen(dc->dpy); if(dc->canvas) XFreePixmap(dc->dpy, dc->canvas); dc->w = w; dc->h = h; dc->canvas = XCreatePixmap(dc->dpy, DefaultRootWindow(dc->dpy), w, h, - DefaultDepth(dc->dpy, DefaultScreen(dc->dpy))); + DefaultDepth(dc->dpy, screen)); + if(dc->font.xft_font && !(dc->xftdraw)) { + dc->xftdraw = XftDrawCreate(dc->dpy, dc->canvas, DefaultVisual(dc->dpy,screen), DefaultColormap(dc->dpy,screen)); + if(!(dc->xftdraw)) + eprintf("error, cannot create xft drawable\n"); + } } int textnw(DC *dc, const char *text, size_t len) { - if(dc->font.set) { + if(dc->font.xft_font) { + XGlyphInfo gi; + XftTextExtentsUtf8(dc->dpy, dc->font.xft_font, (const FcChar8*)text, len, &gi); + return gi.width; + } else if(dc->font.set) { XRectangle r; - XmbTextExtents(dc->font.set, text, len, NULL, &r); return r.width; } diff -u dmenu/draw.h dmenu.xft/draw.h --- dmenu/draw.h 2013-09-15 22:49:15.303964679 +0530 +++ dmenu.xft/draw.h 2013-09-15 23:01:44.606618516 +0530 @@ -1,9 +1,6 @@ /* See LICENSE file for copyright and license details. */ -#define FG(dc, col) ((col)[(dc)->invert ? ColBG : ColFG]) -#define BG(dc, col) ((col)[(dc)->invert ? ColFG : ColBG]) - -enum { ColBG, ColFG, ColBorder, ColLast }; +#include typedef struct { int x, y, w, h; @@ -11,6 +8,7 @@ Display *dpy; GC gc; Pixmap canvas; + XftDraw *xftdraw; struct { int ascent; int descent; @@ -18,15 +16,24 @@ int width; XFontSet set; XFontStruct *xfont; + XftFont *xft_font; } font; } DC; /* draw context */ +typedef struct { + unsigned long FG; + XftColor FG_xft; + unsigned long BG; +} ColorSet; + void drawrect(DC *dc, int x, int y, unsigned int w, unsigned int h, Bool fill, unsigned long color); -void drawtext(DC *dc, const char *text, unsigned long col[ColLast]); -void drawtextn(DC *dc, const char *text, size_t n, unsigned long col[ColLast]); +void drawtext(DC *dc, const char *text, ColorSet *col); +void drawtextn(DC *dc, const char *text, size_t n, ColorSet *col); +void freecol(DC *dc, ColorSet *col); void eprintf(const char *fmt, ...); void freedc(DC *dc); unsigned long getcolor(DC *dc, const char *colstr); +ColorSet *initcolor(DC *dc, const char *foreground, const char *background); DC *initdc(void); void initfont(DC *dc, const char *fontstr); void mapdc(DC *dc, Window win, unsigned int w, unsigned int h); diff -u dmenu/Makefile dmenu.xft/Makefile --- dmenu/Makefile 2013-09-15 23:01:36.798549507 +0530 +++ dmenu.xft/Makefile 2013-09-15 23:01:44.606618516 +0530 @@ -40,19 +40,12 @@ install: all @echo installing executables to ${DESTDIR}${PREFIX}/bin mkdir -p ${DESTDIR}${PREFIX}/bin - cp -f dmenu dmenu_run stest ${DESTDIR}${PREFIX}/bin - chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu - chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run - chmod 755 ${DESTDIR}${PREFIX}/bin/stest + cp -f dmenu ${DESTDIR}${PREFIX}/bin/dmenu.xft + chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu.xft @echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1 mkdir -p ${DESTDIR}${MANPREFIX}/man1 - sed "s/VERSION/${VERSION}/g" < dmenu.1 > ${DESTDIR}${MANPREFIX}/man1/dmenu.1 - sed "s/VERSION/${VERSION}/g" < stest.1 > ${DESTDIR}${MANPREFIX}/man1/stest.1 - chmod 644 ${DESTDIR}${MANPREFIX}/man1/dmenu.1 - chmod 644 ${DESTDIR}${MANPREFIX}/man1/stest.1 - # debian specific - mv ${DESTDIR}${PREFIX}/bin/dmenu ${DESTDIR}/${PREFIX}/bin/dmenu.default - mv ${DESTDIR}${MANPREFIX}/man1/dmenu.1 ${DESTDIR}/${MANPREFIX}/man1/dmenu.default.1 + sed "s/VERSION/${VERSION}/g" < dmenu.1 > ${DESTDIR}${MANPREFIX}/man1/dmenu.xft.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/dmenu.xft.1 uninstall: @echo removing executables from ${DESTDIR}${PREFIX}/bin debian/changelog0000644000000000000000000003524013370642373011054 0ustar suckless-tools (40-1+deb8u2build0.14.04.1) trusty-security; urgency=medium * fake sync from Debian -- Mike Salvatore Wed, 07 Nov 2018 15:03:07 -0500 suckless-tools (40-1+deb8u2) stable-proposed-updates; urgency=medium * CVE-2016-6866: Fix SEGV in slock when users account has been disabled. The screen locking application slock called crypt(3) and used the return value for strcmp(3) without checking to see if the return value of crypt(3) was a NULL pointer. If the hash returned by (getspnam()->sp_pwdp) was invalid, crypt(3) would return NULL and set errno to EINVAL. This would cause slock to segfault which then leaves the machine unprotected. -- Ilias Tsitsimpis Mon, 12 Sep 2016 16:17:14 +0300 suckless-tools (40-1+deb8u1) stable-proposed-updates; urgency=medium * Set myself as the maintainer. Package has already been adopted in unstable (ITA: #776482). * Patch slock to properly resize the cover window. The cover window now resizes correctly when new screens are added or the resolution is changed while the lock is active. * Add libxrandr-dev to build dependencies (needed by the above patch). -- Ilias Tsitsimpis Fri, 26 Feb 2016 13:05:03 +0200 suckless-tools (40-1) unstable; urgency=low * Suggest surf which can be used with tabbed. Closes: bug#703028. * Included the xssstate utility, thanks to Alessandro Ghedini. Closes: bug#707617. * Imported new version of tabbed (0.5). * New build-dependency for xssstate on libxss-dev (xscreensaver) is added. * Updated Provides and long description in debian/control to reflect inclussion of xssstate utility. * Updated debian/copyright file to include copyright statement for xssstate utility. * Added Xft alternative for dmenu, thanks to Javier P.L. Closes: bug#696703. * New build-dependency on libxft-dev, libfreetype6-dev is added for allowing dmenu.xft alternative. * Provided meta key alternative for tabbed, thanks to Vincent Lefevre. Closes: bug#703027. * Removed TERMINFO environment setting during building of tools, we are no longer shipping st as part of this package which needed this. * Use canonical URL anonscm.d.o for Vcs-Git field. * Use suckless-tools.manpages to install debian shipped manpages only for the binaries to which upstream does not provide a manpage. * Renamed the patches to follow micro guidelines in debian/patches/README. * Updated README.source file. * Add patch 2004, removes custom library and include search paths by upstream, fixes FTBFS on mipsel*. Closes: bug#722839. Thanks to YunQuian Su. * Upload to unstable. -- Vasudev Kamath Sat, 27 Jul 2013 21:55:49 +0530 suckless-tools (39-1) experimental; urgency=low [ Michael Stummvoll ] * Added manpage for dmenu_run (Closes: #610478) * Updated manpages for slock, ssid, swarp and wmname (Closes: #636030) * Updated manpage for sselp (Closes: #378175) * Removed st from the package. Suggests stterm now. Since st is no longer part of this package it doesn't install st.256color. (Closes: #642307,#665884) * Fixed a typo in the wmname manpage * Added some docs [ Vasudev Kamath ] * debian/control: + Increased minimum debhelper required to 9 + Bumped Standards-Version to 3.9.4. This did not require any change to package. + Added Michael Stummvoll as Uploader + Added dependency on dpkg-dev >= 1.16.1.1 to introduce hardening flags using dpkg-buildflags. * Set debian/compat to 9 * Created new version 39 + Imported new version of lsw (Closes: #650573) + Updated dmenu (Closes: #650574, #658386) + Added sprop and lsx (Closes: #627662) + Imported new version of slock. This resolves CVE-2012-1620 (Closes: #667796, #692737) + Imported new version of tabbed * debian/rules: + Added get-orig-source target to get upstream source tarball for included package * debian/patches: + Added patch to do setgid shadow instead of setuid root on slock Makefile (01_fix_setuid_slock.patch). + Added patch to introduce hardening flags and allow DEB_BUILD_OPTIONS=noopt (02_dpkg-buildflags.patch). + Added patch to make command execution visible in Makefiles (03_transparent-makefiles.patch). + Added patch to escape '-' symbol in manpage for tabbed and use temp files in secure way (04_tabbed-manpage-hyphen-fix.patch). * debian/README.source: + Updated this file with proper instruction on how to recreate the original source tarballs required for package building. * debian/create_orig_source shell script is added which will be invoked when get-orig-source target in debian/rules is invoked * debian/watch: + Empty watch file added with only version=3 string in it to avoid lintian warning * debian/README.slock.Debian: + This file is added giving instruction on how to use the slock command. * debian/copyright: + Fixed the Copyright fields for lsw, dmenu, tabbed. + Changed short license name from MIT to Expat. * Switched to source format 3.0 (quilt) -- Vasudev Kamath Thu, 15 Nov 2012 12:28:34 +0530 suckless-tools (38-2) unstable; urgency=low * debian/control: + Added myself as maintainer. (Closes: #647090) + Vcs-* fields now points to repository on collab-maint * debian/copyright: + Added copyright-format 1.0 header fields (Closes: #685611) + Fixed the license of st, it was mentioned as MIT but in reality it was 3-Clause BSD license. + Removed commas between file names in Files: section for lsw,swarp and sselp -- Vasudev Kamath Sun, 14 Oct 2012 16:04:43 +0530 suckless-tools (38-1) unstable; urgency=low * Fix "FTBFS: /home/buildd/.terminfo: permission denied (errno 2)" (Closes: #605816) * Updated st -- Kai Hendry Sun, 05 Dec 2010 13:54:15 +0000 suckless-tools (37-1) unstable; urgency=low * New maintainer * Include simple terminal -- Kai Hendry Thu, 02 Dec 2010 13:42:55 +0000 suckless-tools (36-2) experimental; urgency=low * Switching to source format 3.0 (quilt). -- Daniel Baumann Mon, 29 Nov 2010 21:17:34 +0100 suckless-tools (36-1) experimental; urgency=low * Merging upstream version 36. * Rediffing strip.patch * Removing old transitional package. -- Daniel Baumann Sun, 21 Nov 2010 22:38:44 +0100 suckless-tools (35-2) experimental; urgency=low * Updating standards version to 3.9.0. * Correcting typo in package description, thanks to David Stansby (Closes: #601346). * Updating to standards version 3.9.1. * Updating to debhelper version 8. * Switching to source format 3.0 (quilt). -- Daniel Baumann Sat, 20 Nov 2010 17:37:38 +0100 suckless-tools (35-1) unstable; urgency=low * Merging upstream version 35. * Updating year in copyright file. -- Daniel Baumann Sat, 05 Jun 2010 10:01:46 +0200 suckless-tools (34-1) unstable; urgency=low * Merging upstream version 34. -- Daniel Baumann Sat, 29 May 2010 20:04:16 +0200 suckless-tools (33-1) unstable; urgency=low * Adding explicit debian source version 1.0 until switch to 3.0. * Updating year in copyright file. * Updating to standards 3.8.4. * Merging upstream version 33. * Updating dmenu copyright stanza. -- Daniel Baumann Sat, 29 May 2010 14:42:39 +0200 suckless-tools (32-1) unstable; urgency=low * Merging upstream version 32. * Renaming package to suckless-tools (Closes: #529375). * Don't strip binaries by default (Closes: #436783). * Adding lintian overrides. -- Daniel Baumann Sat, 21 Nov 2009 12:45:59 +0100 dwm-tools (31-1) unstable; urgency=low * Adding maintainer homepage field to control. * Marking maintainer homepage field to be also included in binary packages and changelog. * Adding README.source. * Merging upstream version 31. * Moving upstream maintainer field from control to copyright. * Bumping versioned build-depends on debhelper. * Adding tabbed to provides. * Updating README.source. * Adding tabbed in copyright. -- Daniel Baumann Sat, 31 Oct 2009 22:58:51 +0100 dwm-tools (30-2) unstable; urgency=low * Prefixing debhelper files with package name. * Updating maintainer field. * Updating vcs fields. * Updating package to standards version 3.8.3. * Sorting depends. * Updating year in copyright file. * Minimizing rules file. -- Daniel Baumann Thu, 20 Aug 2009 20:11:47 +0200 dwm-tools (30-1) unstable; urgency=low * Replacing obsolete dh_clean -k with dh_prep. * Merging upstream version 30. * Updating versions in rules. * Using correct rfc-2822 date formats in changelog. -- Daniel Baumann Mon, 18 May 2009 12:05:19 +0200 dwm-tools (29-1) unstable; urgency=low * Updating versions in rules. -- Daniel Baumann Wed, 05 Nov 2008 20:52:00 +0100 dwm-tools (28-2) unstable; urgency=low * Adding libxinerama-dev to build-depends (Closes: #493995). -- Daniel Baumann Fri, 08 Aug 2008 05:10:00 +0200 dwm-tools (28-1) unstable; urgency=low * Updating versions in rules. * Merging upstream version 28 (Closes: #487186). -- Daniel Baumann Sun, 03 Aug 2008 18:05:00 +0200 dwm-tools (27-1) unstable; urgency=low * Rewriting rules file. * Updating formatting of the manpages. * Adding manpage for wmname. * Rewriting copyright file in machine-interpretable format. * Adding provides for wmname. * Adding vcs fields in control file. * Using lintian debhelper to install lintian overrides. * Upgrading package to standards 3.8.0. * Updating package to debhelper 7. * Updating versions in rules. * Merging upstream version 27. -- Daniel Baumann Sun, 03 Aug 2008 17:55:00 +0200 dwm-tools (26-2) unstable; urgency=low * Bumped to new policy. * Using homepage field in control. * Removing old conflicts/replaces. * Don't hide make errors in clean target of rules. -- Daniel Baumann Thu, 27 Dec 2007 09:38:00 +0100 dwm-tools (26-1) unstable; urgency=low * slock: - New upstream release. -- Daniel Baumann Sun, 25 Nov 2007 14:11:00 +0100 dwm-tools (25-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Fri, 16 Nov 2007 12:09:00 +0100 dwm-tools (24-1) unstable; urgency=low * dmenu: - New upstream release (Closes: #446559). -- Daniel Baumann Sun, 14 Oct 2007 09:13:00 +0200 dwm-tools (23-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Fri, 01 Jun 2007 18:54:00 +0200 dwm-tools (22-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Mon, 21 May 2007 15:37:00 +0200 dwm-tools (21-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Thu, 19 Apr 2007 10:24:00 +0200 dwm-tools (20-1) unstable; urgency=low * dmenu: - New upstream release. * slock: - New upstream release. -- Daniel Baumann Wed, 07 Mar 2007 17:23:00 +0100 dwm-tools (19-1) unstable; urgency=low * dmenu: - New upstream release. * slock: - New upstream release. -- Daniel Baumann Mon, 05 Mar 2007 15:21:00 +0100 dwm-tools (18-1) unstable; urgency=low * dmenu: - New upstream release: -- Daniel Baumann Thu, 01 Mar 2007 17:56:00 +0100 dwm-tools (17-1) unstable; urgency=low * dmenu: - New upstream release: -- Daniel Baumann Sat, 24 Feb 2007 19:03:00 +0100 dwm-tools (16-1) unstable; urgency=low * dmenu: - New upstream release: -- Daniel Baumann Fri, 23 Feb 2007 21:15:00 +0100 dwm-tools (15-1) unstable; urgency=low * dmenu: - New upstream release: -- Daniel Baumann Fri, 23 Feb 2007 20:26:00 +0100 dwm-tools (14-1) unstable; urgency=low * dmenu: - New upstream release: + replaces lsx. -- Daniel Baumann Fri, 23 Feb 2007 10:59:00 +0100 dwm-tools (13-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Wed, 21 Feb 2007 13:02:00 +0100 dwm-tools (12-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Wed, 13 Jan 2007 10:19:00 +0100 dwm-tools (11-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Wed, 17 Jan 2007 11:15:00 +0100 dwm-tools (10-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Tue, 16 Jan 2007 15:54:00 +0100 dwm-tools (9-1) unstable; urgency=high * slock: - New upstream release, fixes potential buffer overflow. -- Daniel Baumann Sat, 13 Jan 2007 15:41:00 +0100 dwm-tools (8-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Fri, 12 Jan 2007 21:47:00 +0100 dwm-tools (7-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Tue, 19 Dec 2006 12:08:00 +0100 dwm-tools (6-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Thu, 14 Dec 2006 10:50:00 +0100 dwm-tools (5-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Thu, 14 Dec 2006 09:30:00 +0100 dwm-tools (4-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Thu, 07 Dec 2006 16:05:00 +0100 dwm-tools (3-1) unstable; urgency=low * dmenu: - New upstream release. -- Daniel Baumann Thu, 30 Nov 2006 14:47:00 +0100 dwm-tools (2-1) unstable; urgency=medium * slock: - New upstream release. - it's now save to use it with setuid, hence dropped the suid-remove patch. -- Daniel Baumann Fri, 11 Nov 2006 18:37:00 +0200 dwm-tools (1.4-1) unstable; urgency=medium * Merged dmenu into dwm-tools. -- Daniel Baumann Tue, 31 Oct 2006 12:14:00 +0200 dwm-tools (0.2-1) unstable; urgency=low * slock: New upstream release. -- Daniel Baumann Mon, 16 Oct 2006 17:19:00 +0200 dwm-tools (0.1-1) unstable; urgency=low * Initial release. * Added manpages. -- Daniel Baumann Thu, 12 Oct 2006 12:16:00 +0200 debian/version_data0000755000000000000000000000035512161536574011607 0ustar #!/bin/sh set -e dmenu_VERSION=4.5 lsx_VERSION=0.1 lsw_VERSION=0.2 slock_VERSION=1.1 sselp_VERSION=0.2 swarp_VERSION=0.1 ssid_VERSION=0.1 tabbed_VERSION=0.5 wmname_VERSION=0.1 sprop_VERSION=0.1 xssstate_VERSION=1.1 CURRENT_VERSION=40 debian/compat0000644000000000000000000000000212050444423010362 0ustar 9 debian/rules0000755000000000000000000000235412177345074010264 0ustar #!/usr/bin/make -f SHELL := sh -e D := $(CURDIR)/debian/suckless-tools TOOLS := $(filter-out debian, $(wildcard *)) ALTERNATIVES := $(wildcard debian/local/*) RULE_FILE_DIR := $(dir $(firstword $(MAKEFILE_LIST))) %: dh $@ override_dh_auto_configure: for ALTERNATIVE in $(ALTERNATIVES); \ do \ tool=`basename $${ALTERNATIVE} | perl -pe "s/.*\K\..*//g"`;\ extn=`basename $${ALTERNATIVE} | perl -pe "s/.*\.//g"`; \ newfork=$${tool}.$${extn}; \ cp -r $${tool} $${newfork}; \ patch -p1 < $${ALTERNATIVE} -d $${newfork}; \ TOOLS="$(TOOLS) $${newfork}"; \ done dh_auto_configure override_dh_auto_clean: dh_auto_clean for TOOL in $(TOOLS); \ do \ make -C $${TOOL} clean; \ done @diff -q tabbed/config.h tabbed/config.def.h && rm -f tabbed/config.h || true override_dh_auto_build: for TOOL in $(TOOLS);\ do \ make -C $${TOOL}; \ done override_dh_auto_install: for TOOL in $(TOOLS); \ do \ $(MAKE) -C $${TOOL} DESTDIR=$(D) PREFIX=/usr install; \ done override_dh_installdocs: dh_installdocs for TOOL in $(TOOLS); \ do \ cp $${TOOL}/README $(D)/usr/share/doc/suckless-tools/README.$${TOOL}; \ done override_dh_fixperms: dh_fixperms -Xusr/bin/slock get-orig-source: $(RULE_FILE_DIR)create_orig_source $(RULE_FILE_DIR) debian/patches/0000755000000000000000000000000012765524471010632 5ustar debian/patches/0002_fix-cve-2016-6866.patch0000644000000000000000000000305312765524445014654 0ustar Description: Fix CVE-2016-6866 Fix SEGV in slock when users account has been disabled. . The screen locking application slock called crypt(3) and used the return value for strcmp(3) without checking to see if the return value of crypt(3) was a NULL pointer. . If the hash returned by (getspnam()->sp_pwdp) was invalid, crypt(3) would return NULL and set errno to EINVAL. This would cause slock to segfault which then leaves the machine unprotected. Author: Markus Teich Origin: upstream, http://git.suckless.org/slock/commit/?id=d8bec0f6fdc8 Index: b/slock/slock.c =================================================================== --- a/slock/slock.c +++ b/slock/slock.c @@ -85,7 +85,7 @@ readpw(Display *dpy) readpw(Display *dpy, const char *pws) #endif { - char buf[32], passwd[256]; + char buf[32], passwd[256], *encrypted; int num, screen; unsigned int len, llen; KeySym ksym; @@ -118,7 +118,11 @@ readpw(Display *dpy, const char *pws) #ifdef HAVE_BSD_AUTH running = !auth_userokay(getlogin(), NULL, "auth-xlock", passwd); #else - running = strcmp(crypt(passwd, pws), pws); + errno = 0; + if (!(encrypted = crypt(passwd, pws))) + fprintf(stderr, "slock: crypt: %s\n", strerror(errno)); + else + running = !!strcmp(encrypted, pws); #endif if(running != False) XBell(dpy, 100); @@ -262,6 +266,8 @@ main(int argc, char **argv) { #ifndef HAVE_BSD_AUTH pws = getpw(); + if (strlen(pws) < 2) + die("slock: failed to get user password hash.\n"); #endif if(!(dpy = XOpenDisplay(0))) debian/patches/2002_dpkg_buildflags.patch0000644000000000000000000001214012204436414015420 0ustar Description: Patch to allow injection of hardening flags This patch allows the hardening flags injection into all Makefile during build time. It also removes -Os and -O0 from upstream config.mk to allow DEB_BUILD_OPTIONS=noopt. This patch also removes -s option to allow proper working of nostrip value for DEB_BUILD_OPTIONS. . Author: Vasudev Kamath Last-Update: 2012-11-15 --- a/lsw/config.mk +++ b/lsw/config.mk @@ -13,9 +13,9 @@ INCS = -I${X11INC} LIBS = -L${X11LIB} -lX11 # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -CFLAGS = -ansi -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" +CFLAGS += -ansi -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # compiler and linker CC = cc --- a/swarp/config.mk +++ b/swarp/config.mk @@ -15,8 +15,8 @@ INCS = -I. -I/usr/include -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 # flags -CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\" -LDFLAGS = ${LIBS} +CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/lsx/config.mk +++ b/lsx/config.mk @@ -12,8 +12,8 @@ INCS = -I/usr/lib LIBS = -L/usr/lib -lc # flags -CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\" -LDFLAGS = ${LIBS} +CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/tabbed/config.mk +++ b/tabbed/config.mk @@ -12,9 +12,9 @@ INCS = -I. -I/usr/include LIBS = -L/usr/lib -lc -lX11 # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -D_BSD_SOURCE -CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -LDFLAGS = -g ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" -D_BSD_SOURCE +CFLAGS += -g -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += -g ${LIBS} # Solaris #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" --- a/sprop/config.mk +++ b/sprop/config.mk @@ -15,9 +15,9 @@ INCS = -I. -I/usr/include -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" +CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # compiler and linker CC = cc --- a/ssid/config.mk +++ b/ssid/config.mk @@ -11,8 +11,8 @@ INCS = -I. -I/usr/include LIBS = -L/usr/lib -lc # flags -CFLAGS = -Os ${INCS} -DVERSION=\"${VERSION}\" -LDFLAGS = ${LIBS} +CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/dmenu/config.mk +++ b/dmenu/config.mk @@ -17,10 +17,10 @@ INCS = -I${X11INC} LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} # flags -CPPFLAGS = -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} +CPPFLAGS += -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} #CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # compiler and linker CC = cc --- a/slock/config.mk +++ b/slock/config.mk @@ -14,9 +14,9 @@ INCS = -I. -I/usr/include -I${X11INC} LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -DHAVE_SHADOW_H -DCOLOR1=\"black\" -DCOLOR2=\"\#005577\" -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" -DHAVE_SHADOW_H -DCOLOR1=\"black\" -DCOLOR2=\"\#005577\" +CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # On *BSD remove -DHAVE_SHADOW_H from CPPFLAGS and add -DHAVE_BSD_AUTH # On OpenBSD and Darwin remove -lcrypt from LIBS --- a/wmname/config.mk +++ b/wmname/config.mk @@ -15,9 +15,9 @@ INCS = -I. -I/usr/include -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" +CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # compiler and linker CC = cc --- a/sselp/config.mk +++ b/sselp/config.mk @@ -15,9 +15,9 @@ INCS = -I. -I/usr/include -I${X11INC} LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -CFLAGS = -std=c99 -pedantic -Wall -Os ${INCS} ${CPPFLAGS} -LDFLAGS = -s ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" +CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += ${LIBS} # compiler and linker CC = cc --- a/xssstate/config.mk +++ b/xssstate/config.mk @@ -12,9 +12,9 @@ INCS = -I. -I/usr/include LIBS = -L/usr/lib -lc -lX11 -lXss # flags -CPPFLAGS = -DVERSION=\"${VERSION}\" -CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -LDFLAGS = -g ${LIBS} +CPPFLAGS += -DVERSION=\"${VERSION}\" +CFLAGS += -g -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +LDFLAGS += -g ${LIBS} # Solaris #CFLAGS = -fast ${INCS} -DVERSION=\"${VERSION}\" debian/patches/series0000644000000000000000000000033112765523441012040 0ustar 1001_tabbed_manpage_hyphen-fix.patch 2001_fix_setuid_slock.patch 2002_dpkg_buildflags.patch 2003_transparent-makefiles.patch 2004_use_system_searchpaths.patch 0001_resize_lockscreen.patch 0002_fix-cve-2016-6866.patch debian/patches/2003_transparent-makefiles.patch0000644000000000000000000004617012177372345016624 0ustar Description: Makes command execution in Makefile transparent This patch makes all compile install clean and other targets related command execution transparent by removing preceding @ symbol. This is required for a verbose output generation when DH_VERBOSE=1 . Author: Vasudev Kamath Last-Update: 2012-07-29 --- a/lsw/Makefile +++ b/lsw/Makefile @@ -15,38 +15,36 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC -c $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< lsw: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} + ${CC} -o $@ ${OBJ} ${LDFLAGS} clean: @echo cleaning - @rm -f lsw ${OBJ} lsw-${VERSION}.tar.gz + rm -f lsw ${OBJ} lsw-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p lsw-${VERSION} - @cp -R LICENSE Makefile README config.mk lsw.1 ${SRC} lsw-${VERSION} - @tar -cf lsw-${VERSION}.tar lsw-${VERSION} - @gzip lsw-${VERSION}.tar - @rm -rf lsw-${VERSION} + mkdir -p lsw-${VERSION} + cp -R LICENSE Makefile README config.mk lsw.1 ${SRC} lsw-${VERSION} + tar -cf lsw-${VERSION}.tar lsw-${VERSION} + gzip lsw-${VERSION}.tar + rm -rf lsw-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f lsw ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/lsw - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1/lsw.1 - @sed "s/VERSION/${VERSION}/g" < lsw.1 > ${DESTDIR}${MANPREFIX}/man1/lsw.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/lsw.1 + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f lsw ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/lsw + echo installing manual page to ${DESTDIR}${MANPREFIX}/man1/lsw.1 + sed "s/VERSION/${VERSION}/g" < lsw.1 > ${DESTDIR}${MANPREFIX}/man1/lsw.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/lsw.1 uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/lsw + rm -f ${DESTDIR}${PREFIX}/bin/lsw @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/lsw.1 + rm -f ${DESTDIR}${MANPREFIX}/man1/lsw.1 .PHONY: all options clean dist install uninstall --- a/swarp/Makefile +++ b/swarp/Makefile @@ -16,36 +16,34 @@ options: @echo "LD = ${LD}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk swarp: ${OBJ} - @echo LD $@ - @${LD} -o $@ ${OBJ} ${LDFLAGS} - @strip $@ + ${LD} -o $@ ${OBJ} ${LDFLAGS} + strip $@ clean: @echo cleaning - @rm -f swarp ${OBJ} swarp-${VERSION}.tar.gz + rm -f swarp ${OBJ} swarp-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p swarp-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} swarp-${VERSION} - @tar -cf swarp-${VERSION}.tar swarp-${VERSION} - @gzip swarp-${VERSION}.tar - @rm -rf swarp-${VERSION} + mkdir -p swarp-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} swarp-${VERSION} + tar -cf swarp-${VERSION}.tar swarp-${VERSION} + gzip swarp-${VERSION}.tar + rm -rf swarp-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f swarp ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/swarp + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f swarp ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/swarp uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/swarp + rm -f ${DESTDIR}${PREFIX}/bin/swarp .PHONY: all options clean dist install uninstall --- a/lsx/Makefile +++ b/lsx/Makefile @@ -16,34 +16,32 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< lsx: ${OBJ} - @echo LD $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} - @strip $@ + ${CC} -o $@ ${OBJ} ${LDFLAGS} + strip $@ clean: @echo cleaning - @rm -f lsx ${OBJ} lsx-${VERSION}.tar.gz + rm -f lsx ${OBJ} lsx-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p lsx-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} lsx-${VERSION} - @tar -cf lsx-${VERSION}.tar lsx-${VERSION} - @gzip lsx-${VERSION}.tar - @rm -rf lsx-${VERSION} + mkdir -p lsx-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} lsx-${VERSION} + tar -cf lsx-${VERSION}.tar lsx-${VERSION} + gzip lsx-${VERSION}.tar + rm -rf lsx-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f lsx ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/lsx + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f lsx ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/lsx uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/lsx + rm -f ${DESTDIR}${PREFIX}/bin/lsx .PHONY: all options clean dist install uninstall --- a/tabbed/Makefile +++ b/tabbed/Makefile @@ -15,46 +15,47 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.h config.mk config.h: @echo creating $@ from config.def.h - @cp config.def.h $@ + cp config.def.h $@ tabbed: tabbed.o - @echo CC -o $@ - @${CC} -o $@ tabbed.o ${LDFLAGS} + ${CC} -o $@ tabbed.o ${LDFLAGS} clean: @echo cleaning - @rm -f tabbed ${OBJ} tabbed-${VERSION}.tar.gz + rm -f tabbed ${OBJ} tabbed-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p tabbed-${VERSION} - @cp -R LICENSE Makefile README config.def.h config.mk \ + mkdir -p tabbed-${VERSION} + cp -R LICENSE Makefile README config.def.h config.mk \ tabbed.1 arg.h ${SRC} tabbed-${VERSION} - @tar -cf tabbed-${VERSION}.tar tabbed-${VERSION} - @gzip tabbed-${VERSION}.tar - @rm -rf tabbed-${VERSION} + tar -cf tabbed-${VERSION}.tar tabbed-${VERSION} + gzip tabbed-${VERSION}.tar + rm -rf tabbed-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f tabbed ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/tabbed - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" < tabbed.1 > ${DESTDIR}${MANPREFIX}/man1/tabbed.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/tabbed.1 + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f tabbed ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/tabbed + echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 + mkdir -p ${DESTDIR}${MANPREFIX}/man1 + sed "s/VERSION/${VERSION}/g" < tabbed.1 > ${DESTDIR}${MANPREFIX}/man1/tabbed.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/tabbed.1 + #debian speific + mv ${DESTDIR}${PREFIX}/bin/tabbed ${DESTDIR}${PREFIX}/bin/tabbed.default + mv ${DESTDIR}${MANPREFIX}/man1/tabbed.1 ${DESTDIR}${MANPREFIX}/man1/tabbed.default.1 uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/tabbed - @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/tabbed.1 + rm -f ${DESTDIR}${PREFIX}/bin/tabbed + echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 + rm -f ${DESTDIR}${MANPREFIX}/man1/tabbed.1 .PHONY: all options clean dist install uninstall --- a/sprop/Makefile +++ b/sprop/Makefile @@ -14,41 +14,39 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk sprop: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} + ${CC} -o $@ ${OBJ} ${LDFLAGS} clean: @echo cleaning - @rm -f sprop ${OBJ} sprop-${VERSION}.tar.gz + rm -f sprop ${OBJ} sprop-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p sprop-${VERSION} - @cp -R LICENSE Makefile README config.mk sprop.1 ${SRC} sprop-${VERSION} - @tar -cf sprop-${VERSION}.tar sprop-${VERSION} - @gzip sprop-${VERSION}.tar - @rm -rf sprop-${VERSION} + mkdir -p sprop-${VERSION} + cp -R LICENSE Makefile README config.mk sprop.1 ${SRC} sprop-${VERSION} + tar -cf sprop-${VERSION}.tar sprop-${VERSION} + gzip sprop-${VERSION}.tar + rm -rf sprop-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f sprop ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/sprop - @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" < sprop.1 > ${DESTDIR}${MANPREFIX}/man1/sprop.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/sprop.1 + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f sprop ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/sprop + echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 + mkdir -p ${DESTDIR}${MANPREFIX}/man1 + sed "s/VERSION/${VERSION}/g" < sprop.1 > ${DESTDIR}${MANPREFIX}/man1/sprop.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/sprop.1 uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/sprop + rm -f ${DESTDIR}${PREFIX}/bin/sprop @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/sprop.1 + rm -f ${DESTDIR}${MANPREFIX}/man1/sprop.1 .PHONY: all options clean dist install uninstall --- a/ssid/Makefile +++ b/ssid/Makefile @@ -16,36 +16,34 @@ options: @echo "LD = ${LD}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk ssid: ${OBJ} - @echo LD $@ - @${LD} -o $@ ${OBJ} ${LDFLAGS} - @strip $@ + ${LD} -o $@ ${OBJ} ${LDFLAGS} + strip $@ clean: @echo cleaning - @rm -f ssid ${OBJ} ssid-${VERSION}.tar.gz + rm -f ssid ${OBJ} ssid-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p ssid-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} ssid-${VERSION} - @tar -cf ssid-${VERSION}.tar ssid-${VERSION} - @gzip ssid-${VERSION}.tar - @rm -rf ssid-${VERSION} + mkdir -p ssid-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} ssid-${VERSION} + tar -cf ssid-${VERSION}.tar ssid-${VERSION} + gzip ssid-${VERSION}.tar + rm -rf ssid-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f ssid ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/ssid + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f ssid ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/ssid uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/ssid + rm -f ${DESTDIR}${PREFIX}/bin/ssid .PHONY: all options clean dist install uninstall --- a/dmenu/Makefile +++ b/dmenu/Makefile @@ -15,52 +15,52 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC -c $< - @${CC} -c $< ${CFLAGS} + ${CC} -c $< ${CFLAGS} ${OBJ}: config.mk draw.h dmenu: dmenu.o draw.o - @echo CC -o $@ - @${CC} -o $@ dmenu.o draw.o ${LDFLAGS} + ${CC} -o $@ dmenu.o draw.o ${LDFLAGS} stest: stest.o - @echo CC -o $@ - @${CC} -o $@ stest.o ${LDFLAGS} + ${CC} -o $@ stest.o ${LDFLAGS} clean: @echo cleaning - @rm -f dmenu stest ${OBJ} dmenu-${VERSION}.tar.gz + rm -f dmenu stest ${OBJ} dmenu-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p dmenu-${VERSION} - @cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_run stest.1 ${SRC} dmenu-${VERSION} - @tar -cf dmenu-${VERSION}.tar dmenu-${VERSION} - @gzip dmenu-${VERSION}.tar - @rm -rf dmenu-${VERSION} + mkdir -p dmenu-${VERSION} + cp LICENSE Makefile README config.mk dmenu.1 draw.h dmenu_run stest.1 ${SRC} dmenu-${VERSION} + tar -cf dmenu-${VERSION}.tar dmenu-${VERSION} + gzip dmenu-${VERSION}.tar + rm -rf dmenu-${VERSION} install: all @echo installing executables to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f dmenu dmenu_run stest ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu - @chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run - @chmod 755 ${DESTDIR}${PREFIX}/bin/stest + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f dmenu dmenu_run stest ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu + chmod 755 ${DESTDIR}${PREFIX}/bin/dmenu_run + chmod 755 ${DESTDIR}${PREFIX}/bin/stest @echo installing manual pages to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" < dmenu.1 > ${DESTDIR}${MANPREFIX}/man1/dmenu.1 - @sed "s/VERSION/${VERSION}/g" < stest.1 > ${DESTDIR}${MANPREFIX}/man1/stest.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/dmenu.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/stest.1 + mkdir -p ${DESTDIR}${MANPREFIX}/man1 + sed "s/VERSION/${VERSION}/g" < dmenu.1 > ${DESTDIR}${MANPREFIX}/man1/dmenu.1 + sed "s/VERSION/${VERSION}/g" < stest.1 > ${DESTDIR}${MANPREFIX}/man1/stest.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/dmenu.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/stest.1 + # debian specific + mv ${DESTDIR}${PREFIX}/bin/dmenu ${DESTDIR}/${PREFIX}/bin/dmenu.default + mv ${DESTDIR}${MANPREFIX}/man1/dmenu.1 ${DESTDIR}/${MANPREFIX}/man1/dmenu.default.1 uninstall: @echo removing executables from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/dmenu - @rm -f ${DESTDIR}${PREFIX}/bin/dmenu_run - @rm -f ${DESTDIR}${PREFIX}/bin/stest + rm -f ${DESTDIR}${PREFIX}/bin/dmenu + rm -f ${DESTDIR}${PREFIX}/bin/dmenu_run + rm -f ${DESTDIR}${PREFIX}/bin/stest @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/dmenu.1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/stest.1 + rm -f ${DESTDIR}${MANPREFIX}/man1/dmenu.1 + rm -f ${DESTDIR}${MANPREFIX}/man1/stest.1 .PHONY: all options clean dist install uninstall --- a/slock/Makefile +++ b/slock/Makefile @@ -15,26 +15,24 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk slock: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} + ${CC} -o $@ ${OBJ} ${LDFLAGS} clean: @echo cleaning - @rm -f slock ${OBJ} slock-${VERSION}.tar.gz + rm -f slock ${OBJ} slock-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p slock-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} slock-${VERSION} - @tar -cf slock-${VERSION}.tar slock-${VERSION} - @gzip slock-${VERSION}.tar - @rm -rf slock-${VERSION} + mkdir -p slock-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} slock-${VERSION} + tar -cf slock-${VERSION}.tar slock-${VERSION} + gzip slock-${VERSION}.tar + rm -rf slock-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin @@ -46,6 +44,6 @@ install: all uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/slock + rm -f ${DESTDIR}${PREFIX}/bin/slock .PHONY: all options clean dist install uninstall --- a/wmname/Makefile +++ b/wmname/Makefile @@ -15,36 +15,34 @@ options: @echo "LD = ${LD}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk wmname: ${OBJ} - @echo LD $@ - @${LD} -o $@ ${OBJ} ${LDFLAGS} - @strip $@ + ${LD} -o $@ ${OBJ} ${LDFLAGS} + strip $@ clean: @echo cleaning - @rm -f wmname ${OBJ} wmname-${VERSION}.tar.gz + rm -f wmname ${OBJ} wmname-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p wmname-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} wmname-${VERSION} - @tar -cf wmname-${VERSION}.tar wmname-${VERSION} - @gzip wmname-${VERSION}.tar - @rm -rf wmname-${VERSION} + mkdir -p wmname-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} wmname-${VERSION} + tar -cf wmname-${VERSION}.tar wmname-${VERSION} + gzip wmname-${VERSION}.tar + rm -rf wmname-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f wmname ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/wmname + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f wmname ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/wmname uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/wmname + rm -f ${DESTDIR}${PREFIX}/bin/wmname .PHONY: all options clean dist install uninstall --- a/sselp/Makefile +++ b/sselp/Makefile @@ -14,35 +14,33 @@ options: @echo "CC = ${CC}" .c.o: - @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk sselp: ${OBJ} - @echo CC -o $@ - @${CC} -o $@ ${OBJ} ${LDFLAGS} + ${CC} -o $@ ${OBJ} ${LDFLAGS} clean: @echo cleaning - @rm -f sselp ${OBJ} sselp-${VERSION}.tar.gz + rm -f sselp ${OBJ} sselp-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p sselp-${VERSION} - @cp -R LICENSE Makefile README config.mk ${SRC} sselp-${VERSION} - @tar -cf sselp-${VERSION}.tar sselp-${VERSION} - @gzip sselp-${VERSION}.tar - @rm -rf sselp-${VERSION} + mkdir -p sselp-${VERSION} + cp -R LICENSE Makefile README config.mk ${SRC} sselp-${VERSION} + tar -cf sselp-${VERSION}.tar sselp-${VERSION} + gzip sselp-${VERSION}.tar + rm -rf sselp-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f sselp ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/sselp + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f sselp ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/sselp uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/sselp + rm -f ${DESTDIR}${PREFIX}/bin/sselp .PHONY: all options clean dist install uninstall --- a/xssstate/Makefile +++ b/xssstate/Makefile @@ -15,41 +15,41 @@ options: .c.o: @echo CC $< - @${CC} -c ${CFLAGS} $< + ${CC} -c ${CFLAGS} $< ${OBJ}: config.mk xssstate: xssstate.o @echo CC -o $@ - @${CC} -o $@ xssstate.o ${LDFLAGS} + ${CC} -o $@ xssstate.o ${LDFLAGS} clean: @echo cleaning - @rm -f xssstate ${OBJ} xssstate-${VERSION}.tar.gz + rm -f xssstate ${OBJ} xssstate-${VERSION}.tar.gz dist: clean @echo creating dist tarball - @mkdir -p xssstate-${VERSION} - @cp -R LICENSE README Makefile config.mk xsidle.sh \ + mkdir -p xssstate-${VERSION} + cp -R LICENSE README Makefile config.mk xsidle.sh \ xssstate.1 arg.h ${SRC} xssstate-${VERSION} - @tar -cf xssstate-${VERSION}.tar xssstate-${VERSION} - @gzip xssstate-${VERSION}.tar - @rm -rf xssstate-${VERSION} + tar -cf xssstate-${VERSION}.tar xssstate-${VERSION} + gzip xssstate-${VERSION}.tar + rm -rf xssstate-${VERSION} install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f xssstate ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/xssstate + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f xssstate ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/xssstate @echo installing manual page to ${DESTDIR}${MANPREFIX}/man1 - @mkdir -p ${DESTDIR}${MANPREFIX}/man1 - @sed "s/VERSION/${VERSION}/g" < xssstate.1 > ${DESTDIR}${MANPREFIX}/man1/xssstate.1 - @chmod 644 ${DESTDIR}${MANPREFIX}/man1/xssstate.1 + mkdir -p ${DESTDIR}${MANPREFIX}/man1 + sed "s/VERSION/${VERSION}/g" < xssstate.1 > ${DESTDIR}${MANPREFIX}/man1/xssstate.1 + chmod 644 ${DESTDIR}${MANPREFIX}/man1/xssstate.1 uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin - @rm -f ${DESTDIR}${PREFIX}/bin/xssstate + rm -f ${DESTDIR}${PREFIX}/bin/xssstate @echo removing manual page from ${DESTDIR}${MANPREFIX}/man1 - @rm -f ${DESTDIR}${MANPREFIX}/man1/xssstate.1 + rm -f ${DESTDIR}${MANPREFIX}/man1/xssstate.1 .PHONY: all options clean dist install uninstall debian/patches/1001_tabbed_manpage_hyphen-fix.patch0000644000000000000000000000456212144120576017360 0ustar Description: Escapes "-" symbol in manpage and use temp file in secure way Manpage for tabbed was using "-" symbol without escape which will be considered by groff as hyphen. This patch escapes the "-" in man- pages. This patch also replaces existing example given by upstream to embed an app into tabbed with a version which uses the secure temp files using mktemp. . Author: Vasudev Kamath Forwarded: no Last-Update: 2012-07-29 --- a/tabbed/tabbed.1 +++ b/tabbed/tabbed.1 @@ -20,19 +20,19 @@ tabbed \- generic tabbed interface is a simple tabbed container for applications which support XEmbed. Tabbed will then run the provided command with the xid of tabbed as appended argument. (See EXAMPLES.) The automatic spawning of the command can be -disabled by providing the -s parameter. If no command is provided +disabled by providing the \-s parameter. If no command is provided tabbed will just print its xid and run no command. .SH OPTIONS .TP .B \-c -close tabbed when the last tab is closed. Mutually exclusive with -f. +close tabbed when the last tab is closed. Mutually exclusive with \-f. .TP .B \-d detaches tabbed from the terminal and prints its XID to stdout. .TP .B \-f fill up tabbed again by spawning the provided command, when the last tab is -closed. Mutually exclusive with -c. +closed. Mutually exclusive with \-c. .TP .B \-h will print the usage of tabbed. @@ -45,7 +45,7 @@ will set the WM_CLASS attribute to will set the absolute or relative position of where to start a new tab. When .I pos is is given without 's' in front it is an absolute position. Then negative -numbers will be the position from the last tab, where -1 is the last tab. +numbers will be the position from the last tab, where \-1 is the last tab. If 's' is given, then .I pos is a relative position to the current selected tab. If this reaches the limits @@ -92,15 +92,15 @@ jumps to nth tab .B F11 Toggle fullscreen mode. .SH EXAMPLES -$ tabbed surf -e +$ tabbed surf \-e .TP -$ tabbed urxvt -embed +$ tabbed urxvt \-embed .TP -$ tabbed xterm -into +$ tabbed xterm \-into .TP -$ $(tabbed -d >/tmp/tabbed.xid); urxvt -embed $(, Vasudev Kamath Last-Update: 2012-07-25 --- a/slock/Makefile +++ b/slock/Makefile @@ -38,10 +38,11 @@ install: all @echo installing executable file to ${DESTDIR}${PREFIX}/bin - @mkdir -p ${DESTDIR}${PREFIX}/bin - @cp -f slock ${DESTDIR}${PREFIX}/bin - @chmod 755 ${DESTDIR}${PREFIX}/bin/slock - @chmod u+s ${DESTDIR}${PREFIX}/bin/slock + mkdir -p ${DESTDIR}${PREFIX}/bin + cp -f slock ${DESTDIR}${PREFIX}/bin + chmod 755 ${DESTDIR}${PREFIX}/bin/slock + chgrp shadow ${DESTDIR}${PREFIX}/bin/slock + chmod g+s ${DESTDIR}${PREFIX}/bin/slock uninstall: @echo removing executable file from ${DESTDIR}${PREFIX}/bin debian/patches/0001_resize_lockscreen.patch0000644000000000000000000000537712664032547016034 0ustar Description: Patch slock to correctly resize the cover window Resize the cover window when new screens are added or the resolution is changed while the lock is active. This prevents potential information leakage. Author: Markus Teich Orig: upstream, http://git.suckless.org/slock/commit/?id=f5ef1b8eb555 Index: suckless-tools-40/slock/config.mk =================================================================== --- suckless-tools-40.orig/slock/config.mk +++ suckless-tools-40/slock/config.mk @@ -7,7 +7,7 @@ VERSION = 1.1 PREFIX = /usr/local # includes and libs -LIBS = -lc -lcrypt -lX11 -lXext +LIBS = -lc -lcrypt -lX11 -lXext -lXrandr # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -DHAVE_SHADOW_H -DCOLOR1=\"black\" -DCOLOR2=\"\#005577\" Index: suckless-tools-40/slock/slock.c =================================================================== --- suckless-tools-40.orig/slock/slock.c +++ suckless-tools-40/slock/slock.c @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include @@ -33,6 +34,9 @@ typedef struct { static Lock **locks; static int nscreens; static Bool running = True; +static Bool rr; +static int rrevbase; +static int rrerrbase; static void die(const char *errstr, ...) { @@ -146,8 +150,15 @@ readpw(Display *dpy, const char *pws) } } llen = len; - } - else for(screen = 0; screen < nscreens; screen++) + } else if (rr && ev.type == rrevbase + RRScreenChangeNotify) { + XRRScreenChangeNotifyEvent *rre = (XRRScreenChangeNotifyEvent*)&ev; + for (screen = 0; screen < nscreens; screen++) { + if (locks[screen]->win == rre->window) { + XResizeWindow(dpy, locks[screen]->win, rre->width, rre->height); + XClearWindow(dpy, locks[screen]->win); + } + } + } else for (screen = 0; screen < nscreens; screen++) XRaiseWindow(dpy, locks[screen]->win); } } @@ -199,6 +210,8 @@ lockscreen(Display *dpy, int screen) { invisible = XCreatePixmapCursor(dpy, lock->pmap, lock->pmap, &color, &color, 0, 0); XDefineCursor(dpy, lock->win, invisible); XMapRaised(dpy, lock->win); + if (rr) + XRRSelectInput(dpy, lock->win, RRScreenChangeNotifyMask); for(len = 1000; len; len--) { if(XGrabPointer(dpy, lock->root, False, ButtonPressMask | ButtonReleaseMask | PointerMotionMask, GrabModeAsync, GrabModeAsync, None, invisible, CurrentTime) == GrabSuccess) @@ -253,6 +266,7 @@ main(int argc, char **argv) { if(!(dpy = XOpenDisplay(0))) die("slock: cannot open display"); + rr = XRRQueryExtension(dpy, &rrevbase, &rrerrbase); /* Get the number of screens in display "dpy" and blank them all. */ nscreens = ScreenCount(dpy); locks = malloc(sizeof(Lock *) * nscreens); debian/patches/README0000644000000000000000000000021112157617021011471 0ustar 0xxx: Grabbed from upstream development. 1xxx: Possibly relevant for upstream adoption. 2xxx: Only relevant for official Debian release. debian/patches/2004_use_system_searchpaths.patch0000644000000000000000000001331012215363655017076 0ustar Description: Fix FTBFS on mipsel* due to custom library search paths. This patch removes library search -L/usr/lib and include paths defined by upstream. Since all the libraries and headers needed are available in default path these flags are redundant also since /usr/lib may have different purpose on various architecture like mips* it causes FTBFS. Thanks to YunQiang Su for bringing this up. Author: Vasudev Kamath Last-Updated: 2013-09-15 Bug-Debian: http://bugs.debian.org/722839 --- a/dmenu/config.mk +++ b/dmenu/config.mk @@ -5,21 +5,17 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # Xinerama, comment if you don't want it XINERAMALIBS = -lXinerama XINERAMAFLAGS = -DXINERAMA # includes and libs -INCS = -I${X11INC} -LIBS = -L${X11LIB} -lX11 ${XINERAMALIBS} +LIBS = -lX11 ${XINERAMALIBS} # flags CPPFLAGS += -D_BSD_SOURCE -D_POSIX_C_SOURCE=2 -DVERSION=\"${VERSION}\" ${XINERAMAFLAGS} #CFLAGS = -g -std=c99 -pedantic -Wall -O0 ${INCS} ${CPPFLAGS} -CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker --- a/lsw/config.mk +++ b/lsw/config.mk @@ -5,16 +5,12 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I${X11INC} -LIBS = -L${X11LIB} -lX11 +LIBS = -lX11 # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -CFLAGS += -ansi -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -ansi -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker --- a/lsx/config.mk +++ b/lsx/config.mk @@ -8,11 +8,10 @@ MANPREFIX = ${PREFIX}/share/man # includes and libs -INCS = -I/usr/lib -LIBS = -L/usr/lib -lc +LIBS = -lc # flags -CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +CFLAGS += -DVERSION=\"${VERSION}\" ${CPPFLAGS} LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/slock/config.mk +++ b/slock/config.mk @@ -6,16 +6,12 @@ # paths PREFIX = /usr/local -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -lcrypt -L${X11LIB} -lX11 -lXext +LIBS = -lc -lcrypt -lX11 -lXext # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -DHAVE_SHADOW_H -DCOLOR1=\"black\" -DCOLOR2=\"\#005577\" -CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # On *BSD remove -DHAVE_SHADOW_H from CPPFLAGS and add -DHAVE_BSD_AUTH --- a/sprop/config.mk +++ b/sprop/config.mk @@ -7,16 +7,12 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 +LIBS = -lc -lX11 # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker --- a/sselp/config.mk +++ b/sselp/config.mk @@ -7,16 +7,12 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 +LIBS = -lc -lX11 # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker --- a/ssid/config.mk +++ b/ssid/config.mk @@ -7,11 +7,10 @@ PREFIX = /usr/local # includes and libs -INCS = -I. -I/usr/include -LIBS = -L/usr/lib -lc +LIBS = -lc # flags -CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +CFLAGS += -DVERSION=\"${VERSION}\" ${CPPFLAGS} LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/swarp/config.mk +++ b/swarp/config.mk @@ -7,15 +7,11 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 +LIBS = -lc -lX11 # flags -CFLAGS += ${INCS} -DVERSION=\"${VERSION}\" ${CPPFLAGS} +CFLAGS += -DVERSION=\"${VERSION}\" ${CPPFLAGS} LDFLAGS += ${LIBS} #CFLAGS = -g -Wall -O2 ${INCS} -DVERSION=\"${VERSION}\" #LDFLAGS = -g ${LIBS} --- a/tabbed/config.mk +++ b/tabbed/config.mk @@ -8,12 +8,11 @@ MANPREFIX = ${PREFIX}/share/man # includes and libs -INCS = -I. -I/usr/include -LIBS = -L/usr/lib -lc -lX11 +LIBS = -lc -lX11 # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -D_BSD_SOURCE -CFLAGS += -g -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -g -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += -g ${LIBS} # Solaris --- a/wmname/config.mk +++ b/wmname/config.mk @@ -7,16 +7,12 @@ PREFIX = /usr/local MANPREFIX = ${PREFIX}/share/man -X11INC = /usr/X11R6/include -X11LIB = /usr/X11R6/lib - # includes and libs -INCS = -I. -I/usr/include -I${X11INC} -LIBS = -L/usr/lib -lc -L${X11LIB} -lX11 +LIBS = -lc -lX11 # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -CFLAGS += -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += ${LIBS} # compiler and linker --- a/xssstate/config.mk +++ b/xssstate/config.mk @@ -8,12 +8,11 @@ MANPREFIX = ${PREFIX}/share/man # includes and libs -INCS = -I. -I/usr/include -LIBS = -L/usr/lib -lc -lX11 -lXss +LIBS = -lc -lX11 -lXss # flags CPPFLAGS += -DVERSION=\"${VERSION}\" -CFLAGS += -g -std=c99 -pedantic -Wall ${INCS} ${CPPFLAGS} +CFLAGS += -g -std=c99 -pedantic -Wall ${CPPFLAGS} LDFLAGS += -g ${LIBS} # Solaris debian/suckless-tools.lintian-overrides0000644000000000000000000000007512050444423015540 0ustar suckless-tools: setgid-binary usr/bin/slock 2755 root/shadow debian/control0000644000000000000000000000317512664030453010602 0ustar Source: suckless-tools Section: x11 Priority: optional Maintainer: Ilias Tsitsimpis Build-Depends: debhelper (>= 9), libx11-dev, libxinerama-dev, ncurses-bin (>= 5.7+20081213), dpkg-dev (>= 1.16.1.1), libxss-dev, libxft-dev, libxrandr-dev, libfreetype6-dev Standards-Version: 3.9.4 Homepage: http://www.suckless.org Vcs-Git: git://anonscm.debian.org/collab-maint/suckless-tools.git Vcs-Browser: http://anonscm.debian.org/gitweb/?p=collab-maint/suckless-tools.git;a=summary Package: suckless-tools Architecture: any Depends: ${misc:Depends}, ${shlibs:Depends} Suggests: dwm, stterm, surf Provides: dmenu, lsw, lsx, slock, sprop, sselp, ssid, swarp, tabbed, wmname, xssstate Description: simple commands for minimalistic window managers This package provides simple commands designed to be used with a minimalistic window manager like dwm but they can be useful in scripts regardless of the window manager used. . * dmenu: Dynamic menu is a generic menu for X. * lsw: Lists the titles of all running X windows to stdout, similar to ls(1). * lsx: Lists executables in a directory. * slock: Simple X display locker that locks the X session. * sprop: Sets or gets X window properties. * sselp: Simple X selection printer that prints the X selection to stdout. * ssid: Simple setsid replacement. * swarp: Simple X warping tool to warp the mouse pointer to a given position. * tabbed: Simple generic tabbed fronted to xembed aware applications. * wmname: Prints/sets the window manager name property of the root window imilar to how hostname(1) behaves. * xssstate: Retrieves the state of X screensaver. debian/source/0000755000000000000000000000000012050444423010464 5ustar debian/source/format0000644000000000000000000000001412050444423011672 0ustar 3.0 (quilt) debian/prerm0000755000000000000000000000101412156106716010242 0ustar #!/bin/sh set -e case "${1}" in remove|deconfigure) update-alternatives --quiet --remove dmenu /usr/bin/dmenu.default update-alternatives --quiet --remove dmenu /usr/bin/dmenu.xft update-alternatives --quiet --remove tabbed /usr/bin/tabbed.default update-alternatives --quiet --remove tabbed /usr/bin/tabbed.meta ;; upgrade|failed-upgrade) ;; *) echo "prerm called with unknown argument \`${1}'" >&2 exit 1 ;; esac #DEBHELPER# exit 0 debian/copyright0000644000000000000000000000535712155654114011137 0ustar Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: suckless-tools Source: http://dl.suckless.org/tools Files: dmenu/* Copyright: (C) 2010-2012 Connor Lane Smith (C) 2006-2012 Anselm R Garbe (C) 2009 Gottox (C) 2009 Markus Schnalke (C) 2009 Evan Gates (C) 2006-2008 Sander van Dijk (C) 2006-2007 MichaƂ Janeczek License: Expat Files: tabbed/* Copyright: (C) 2009-2011 Enno Boland (C) 2011 Connor Lane Smith (C) 2012 Christoph Lohmann <20h@r-36.net> License: Expat Files: lsw/* Copyright: (C) 2011 Connor Lane Smith (C) 2006-2011 Anselm R Garbe License: Expat Files: sprop/* Copyright: (C) 2010 Connor Lane Smith License: Expat Files: sselp/* Copyright: (C) 2006-2008 Anselm R Garbe License: Expat Files: swarp/* lsx/* Copyright: (C) 2006-2008 Anselm R. Garbe (C) 2006-2008 Sander van Dijk License: Expat Files: ssid/* wmname/* Copyright: (C) 2005-2008 Anselm R. Garbe License: Expat Files: slock/* Copyright: (C) 2006-2012 Anselm R. Garbe License: Expat Files: xssstate/* Copyright: (C) 2008, Kai Hendry (C) 2012, Christoph Lohmann <20h@r-36.net> License: Expat Files: debian/* Copyright: (C) 2006-2010 Daniel Baumann (C) 2010 Kai Hendry (C) 2012 Michael Stummvoll (C) 2012-2013 Vasudev Kamath License: Expat License: Expat Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.debian/manpages/0000755000000000000000000000000012050444423010757 5ustar debian/manpages/ssid.10000644000000000000000000000151512050444423012005 0ustar .TH SSID 1 "2008-08-03" "0.1" "suckless-tools" .SH NAME ssid \- simple setsid .SH SYNOPSIS .B ssid .RB [ -v ] .IR cmd " [ " args " ]" .SH DESCRIPTION .B ssid is an extremly simple setsid replacement. It executes any given command after first assuming the present session identity, and possibly after forking to get a correct process group. .SH OPTIONS .B ssid only prints its version when fed with \fB\-v\fR. .SH NOTES Like with all forking software, the shell interpreter might misplace a line feed when displaying output from the invoked command. This is a timing artefact. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR ssid was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/manpages/sselp.10000644000000000000000000000135212050444423012170 0ustar .TH SSELP 1 "2008-08-03" "0.1" "suckless-tools" .SH NAME sselp \- simple X selection printer .SH SYNOPSIS .B sselp .RI "[\-v]" .SH DESCRIPTION .B sselp prints the X selection to standard out. If there is no X client owning the selection it just exits. Useful for scripts where you can query the X selection without pressing mouse Button2 in cumbersome ways. .SH OPTIONS .B sselp prints its version when fed with \fB\-v\fR. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR sselp was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR> and Sander van Dijk <\fIa.h.vandijk@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/manpages/swarp.10000644000000000000000000000136412050444423012201 0ustar .TH SWARP 1 "2008-08-03" "0.1" "suckless-tools" .SH NAME swarp \- simple pointer warp .SH SYNOPSIS .B swarp .RB [ \-v "] " .I xpos ypos .SH DESCRIPTION .B swarp is a generic pointer warping utility for X. The pointer is moved to the indicated absolute position, giving focus to the root window. .SH OPTIONS .B swarp prints its version when fed with \fB\-v\fR. .SH ENVIRONMENT .B swarp uses DISPLAY to determine which display to act on. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR swarp was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR> and Sander van Dijk <\fIa.h.vandijk@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/manpages/lsx.10000644000000000000000000000105312050444423011646 0ustar .TH LSX 1 "2012-01-22" "0.1" "suckless-tools" .SH NAME lsx \- list executables .SH SYNOPSIS .B lsx .SH DESCRIPTION .B lsx prints all executables in given paths to stdout. .SH OPTIONS .B lsx prints its version when fed with \fB\-v\fR. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR lsx was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR> and Sander van Dijk <\fIa.h.vandijk@gmail.com\fR>. .PP This manual page was written by Michael Stummvoll <\fImichael@stummi.org\fR>, for the Debian project (but may be used by others). debian/manpages/lsw.10000644000000000000000000000102412037015615011645 0ustar .TH LSW 1 "2008-08-03" "0.1" "suckless-tools" .SH NAME lsw \- list window titles .SH SYNOPSIS .B lsw .SH DESCRIPTION .B lsw prints all window titles of DISPLAY to standard output. .SH OPTIONS .B lsw has no options. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR lsw was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR> and Sander van Dijk <\fIa.h.vandijk@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/manpages/dmenu_run.10000644000000000000000000000002112050444423013026 0ustar .so man1/dmenu.1 debian/manpages/wmname.10000644000000000000000000000164112050444423012327 0ustar .TH WMNAME 1 "2008-08-03" "0.1" "suckless-tools" .SH NAME wmname \- prints/sets window manager name .SH SYNOPSIS .B wmname .RI "[\-v] [ " WM_NAME " ]" .SH DESCRIPTION .B wmname prints or sets the window manager name property of the root window, somewhat similar to how \fBhostname\fR(1) acts for network identities. Without argument the EWMH name is recovered and printed. .PP .B wmname is a nice utility to fix problems with JDK versions and other broken programs, which are assuming a reparenting window manager. .SH OPTIONS .B wmname prints its version when fed with \fB\-v\fR. .SH ENVIRONMENT .B wmname uses DISPLAY to determine which display to act on. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR wmname was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/manpages/slock.10000644000000000000000000000143312050444423012155 0ustar .TH SLOCK 1 "2008-08-03" "0.9" "suckless-tools" .SH NAME slock \- simple screen locker .SH SYNOPSIS .B slock .RB [ \-v ] .SH DESCRIPTION .B slock is a simple screen locker utility for X. The screen will be kept in an inert state until the user types his password. In doing so there is no visual indication that anything is going on, except possibly a slight glow from the background. .SH OPTIONS .B slock prints its version when fed with \fB\-v\fR. .SH ENVIRONMENT .B slock uses DISPLAY to determine which display to act on. .SH SEE ALSO .B Homepage <\fIhttp://www.suckless.org/\fR> .SH AUTHOR slock was written by Anselm R. Garbe <\fIgarbeam@gmail.com\fR>. .PP This manual page was written by Daniel Baumann <\fIdaniel@debian.org\fR>, for the Debian project (but may be used by others). debian/create_orig_source0000755000000000000000000000155712215357654013001 0ustar #!/bin/sh set -eu TMPDIR=$(mktemp --tmpdir=.. -d suckless-tools.XXXX) CURDIR=$(pwd) DEBIAN_DIR=$1 . "${DEBIAN_DIR}version_data" download_tarball(){ tool="$1" version="$2" echo "Downloading ${tool}-${version}..." wget -q "http://dl.suckless.org/tools/${tool}-${version}.tar.gz" -O \ "${CURDIR}/suckless-tools_${CURRENT_VERSION}.orig-${tool}.tar.gz" } for tool in dmenu lsx lsw slock sselp swarp\ ssid tabbed wmname sprop xssstate; do download_tarball "$tool" $(eval echo "\$${tool}_VERSION") done echo "Creating empty suckless-tools_${CURRENT_VERSION}.orig.tar.gz" mkdir -p "${TMPDIR}/suckless-tools_${CURRENT_VERSION}" cd "$TMPDIR" tar --owner root --group root --mode a+rX -cvf - \ "suckless-tools_${CURRENT_VERSION}" | gzip -9 \ > "${CURDIR}/suckless-tools_${CURRENT_VERSION}.orig.tar.gz" rm -rf "$TMPDIR" echo "Source tarballs are ready" debian/watch0000644000000000000000000000001212050444423010206 0ustar version=3 debian/README.slock.Debian0000644000000000000000000000121412050444423012335 0ustar slock is a very simple screen locker. After locking the screen you have to type your password, when you press a key if slock is active the screen color will turn to blue. After entering password hit enter and the screen will be unlocked. Please Note: Slock checks the password against shadow, so it needs at least read permissions for the /etc/shadow file. On Debian this is done by setgid slock to shadow. After getting the password entry, slock drops rights. However, assuming that there is any security issue with slock, an attacker maybe could read the shadow-file. -- Vasudev Kamath , Sat, 10 Nov 2012 10:42:12 +0530 debian/suckless-tools.manpages0000644000000000000000000000025112143410163013666 0ustar debian/manpages/wmname.1 debian/manpages/sselp.1 debian/manpages/lsx.1 debian/manpages/swarp.1 debian/manpages/slock.1 debian/manpages/dmenu_run.1 debian/manpages/ssid.1debian/docs0000644000000000000000000000003312050444423010033 0ustar debian/README.slock.Debian debian/postinst0000755000000000000000000000115512174760125011006 0ustar #!/bin/sh set -e case "${1}" in configure) update-alternatives --quiet --install /usr/bin/dmenu dmenu /usr/bin/dmenu.default 100 update-alternatives --quiet --install /usr/bin/dmenu dmenu /usr/bin/dmenu.xft 50 update-alternatives --quiet --install /usr/bin/tabbed tabbed /usr/bin/tabbed.default 100 update-alternatives --quiet --install /usr/bin/tabbed tabbed /usr/bin/tabbed.meta 50 ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`${1}'" >&2 exit 1 ;; esac #DEBHELPER# exit 0