summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mk/mirrors.mk1
-rw-r--r--package/DirectFB/patches/patch-interfaces_IDirectFBImageProvider_idirectfbimageprovider_png_c138
-rw-r--r--package/DirectFB/patches/patch-tools_mkdfiff_c11
-rw-r--r--package/DirectFB/patches/patch-tools_mkdgifft_cpp11
-rw-r--r--package/busybox/config/miscutils/Config.in39
-rw-r--r--package/busybox/config/procps/Config.in4
-rw-r--r--package/fbset/files/fb.modes7
-rw-r--r--package/libtirpc/patches/patch-src_Makefile_in11
-rw-r--r--package/pam/Makefile6
-rw-r--r--package/pam/files/pam.conf126
-rw-r--r--package/xconsole/Makefile24
-rw-r--r--package/xdm/Makefile36
-rw-r--r--package/xsm/Makefile30
13 files changed, 277 insertions, 167 deletions
diff --git a/mk/mirrors.mk b/mk/mirrors.mk
index ddbf82b26..6fcc6c01e 100644
--- a/mk/mirrors.mk
+++ b/mk/mirrors.mk
@@ -20,6 +20,7 @@ MASTER_SITE_XORG?= \
http://www.x.org/releases/X11R7.6/src/everything/ \
http://ftp.gwdg.de/pub/x11/x.org/pub/X11R7.6/src/everything/ \
http://xorg.freedesktop.org/releases/X11R7.6/src/everything/ \
+ http://xorg.freedesktop.org/releases/individual/app/ \
http://xorg.freedesktop.org/releases/individual/lib/ \
http://xorg.freedesktop.org/releases/individual/driver/ \
diff --git a/package/DirectFB/patches/patch-interfaces_IDirectFBImageProvider_idirectfbimageprovider_png_c b/package/DirectFB/patches/patch-interfaces_IDirectFBImageProvider_idirectfbimageprovider_png_c
deleted file mode 100644
index b35c6137e..000000000
--- a/package/DirectFB/patches/patch-interfaces_IDirectFBImageProvider_idirectfbimageprovider_png_c
+++ /dev/null
@@ -1,138 +0,0 @@
---- DirectFB-1.4.11.orig/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c 2010-10-31 09:49:49.000000000 +0100
-+++ DirectFB-1.4.11/interfaces/IDirectFBImageProvider/idirectfbimageprovider_png.c 2011-03-29 10:57:18.433069010 +0200
-@@ -207,7 +207,7 @@ Construct( IDirectFBImageProvider *thiz,
- if (!data->png_ptr)
- goto error;
-
-- if (setjmp( data->png_ptr->jmpbuf )) {
-+ if (png_jmpbuf( data->png_ptr )) {
- D_ERROR( "ImageProvider/PNG: Error reading header!\n" );
- goto error;
- }
-@@ -292,7 +292,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
- rect = dst_data->area.wanted;
- }
-
-- if (setjmp( data->png_ptr->jmpbuf )) {
-+ if (png_jmpbuf( data->png_ptr )) {
- D_ERROR( "ImageProvider/PNG: Error during decoding!\n" );
-
- if (data->stage < STAGE_IMAGE)
-@@ -327,6 +327,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
- }
- else {
- CoreSurfaceBufferLock lock;
-+ png_byte bit_depth = png_get_bit_depth( data->png_ptr, data->info_ptr );
-
- ret = dfb_surface_lock_buffer( dst_surface, CSBR_BACK, CSAID_CPU, CSAF_WRITE, &lock );
- if (ret)
-@@ -334,7 +335,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
-
- switch (data->color_type) {
- case PNG_COLOR_TYPE_PALETTE:
-- if (dst_surface->config.format == DSPF_LUT8 && data->info_ptr->bit_depth == 8) {
-+ if (dst_surface->config.format == DSPF_LUT8 && bit_depth == 8) {
- /*
- * Special indexed PNG to LUT8 loading.
- */
-@@ -377,7 +378,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
- }
- else {
- if (data->color_type == PNG_COLOR_TYPE_GRAY) {
-- int num = 1 << data->info_ptr->bit_depth;
-+ int num = 1 << bit_depth;
-
- for (x=0; x<num; x++) {
- int value = x * 255 / (num - 1);
-@@ -386,7 +387,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
- }
- }
-
-- switch (data->info_ptr->bit_depth) {
-+ switch (bit_depth) {
- case 8:
- for (y=0; y<data->height; y++) {
- u8 *S = data->image + data->pitch * y;
-@@ -441,7 +442,7 @@ IDirectFBImageProvider_PNG_RenderTo( IDi
-
- default:
- D_ERROR( "ImageProvider/PNG: Unsupported indexed bit depth %d!\n",
-- data->info_ptr->bit_depth );
-+ bit_depth );
- }
-
- dfb_scale_linear_32( image_argb, data->width, data->height,
-@@ -594,16 +595,26 @@ png_info_callback( png_structp png_read_
- NULL, NULL, NULL );
-
- if (png_get_valid( data->png_ptr, data->info_ptr, PNG_INFO_tRNS )) {
-+ png_bytep trans;
-+ png_color_16p trans_color;
-+ int num_trans;
-+
-+ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
-+
- data->color_keyed = true;
-
- /* generate color key based on palette... */
- if (data->color_type == PNG_COLOR_TYPE_PALETTE) {
- u32 key;
-- png_colorp palette = data->info_ptr->palette;
-- png_bytep trans = data->info_ptr->trans_alpha;
-- int num_colors = MIN( MAXCOLORMAPSIZE,
-- data->info_ptr->num_palette );
-- u8 cmap[3][num_colors];
-+ png_colorp palette;
-+ int num_colors;
-+ u8 *cmap[3];
-+
-+ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
-+ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
-+ cmap[0] = alloca (num_colors);
-+ cmap[1] = alloca (num_colors);
-+ cmap[2] = alloca (num_colors);
-
- for (i=0; i<num_colors; i++) {
- cmap[0][i] = palette[i].red;
-@@ -613,7 +624,7 @@ png_info_callback( png_structp png_read_
-
- key = FindColorKey( num_colors, &cmap[0][0] );
-
-- for (i=0; i<data->info_ptr->num_trans; i++) {
-+ for (i=0; i<num_trans; i++) {
- if (!trans[i]) {
- palette[i].red = (key & 0xff0000) >> 16;
- palette[i].green = (key & 0x00ff00) >> 8;
-@@ -625,20 +636,23 @@ png_info_callback( png_structp png_read_
- }
- else {
- /* ...or based on trans rgb value */
-- png_color_16p trans = &data->info_ptr->trans_color;
--
-- data->color_key = (((trans->red & 0xff00) << 8) |
-- ((trans->green & 0xff00)) |
-- ((trans->blue & 0xff00) >> 8));
-+ data->color_key = (((trans_color->red & 0xff00) << 8) |
-+ ((trans_color->green & 0xff00)) |
-+ ((trans_color->blue & 0xff00) >> 8));
- }
- }
-
- switch (data->color_type) {
- case PNG_COLOR_TYPE_PALETTE: {
-- png_colorp palette = data->info_ptr->palette;
-- png_bytep trans = data->info_ptr->trans_alpha;
-- int num_trans = data->info_ptr->num_trans;
-- int num_colors = MIN( MAXCOLORMAPSIZE, data->info_ptr->num_palette );
-+ png_colorp palette;
-+ png_bytep trans;
-+ png_color_16p trans_color;
-+ int num_trans;
-+ int num_colors;
-+
-+ png_get_PLTE( data->png_ptr, data->info_ptr, &palette, &num_colors );
-+ num_colors = MIN( MAXCOLORMAPSIZE, num_colors );
-+ png_get_tRNS( data->png_ptr, data->info_ptr, &trans, &num_trans, &trans_color );
-
- for (i=0; i<num_colors; i++) {
- data->colors[i].a = (i < num_trans) ? trans[i] : 0xff;
diff --git a/package/DirectFB/patches/patch-tools_mkdfiff_c b/package/DirectFB/patches/patch-tools_mkdfiff_c
deleted file mode 100644
index f321f8a84..000000000
--- a/package/DirectFB/patches/patch-tools_mkdfiff_c
+++ /dev/null
@@ -1,11 +0,0 @@
---- DirectFB-1.4.11.orig/tools/mkdfiff.c 2010-10-31 09:49:49.000000000 +0100
-+++ DirectFB-1.4.11/tools/mkdfiff.c 2011-03-29 10:57:18.503068913 +0200
-@@ -97,7 +97,7 @@ load_image (const char *filen
- if (!png_ptr)
- goto cleanup;
-
-- if (setjmp (png_ptr->jmpbuf)) {
-+ if (setjmp (png_jmpbuf (png_ptr))) {
- if (desc->preallocated[0].data) {
- free (desc->preallocated[0].data);
- desc->preallocated[0].data = NULL;
diff --git a/package/DirectFB/patches/patch-tools_mkdgifft_cpp b/package/DirectFB/patches/patch-tools_mkdgifft_cpp
deleted file mode 100644
index 33e8285e9..000000000
--- a/package/DirectFB/patches/patch-tools_mkdgifft_cpp
+++ /dev/null
@@ -1,11 +0,0 @@
---- DirectFB-1.4.11.orig/tools/mkdgifft.cpp 2010-10-31 09:52:08.000000000 +0100
-+++ DirectFB-1.4.11/tools/mkdgifft.cpp 2011-03-29 10:57:18.581810094 +0200
-@@ -595,7 +595,7 @@ load_image (const char *filen
- if (!png_ptr)
- goto cleanup;
-
-- if (setjmp (png_ptr->jmpbuf)) {
-+ if (setjmp (png_jmpbuf (png_ptr))) {
- if (desc->preallocated[0].data) {
- free (desc->preallocated[0].data);
- desc->preallocated[0].data = NULL;
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index 56a816b02..750d818ce 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -33,20 +33,55 @@ config BUSYBOX_NANDDUMP
help
Dump the content of raw NAND chip
+config BUSYBOX_SETSERIAL
+ bool "setserial"
+ default n
+ select PLATFORM_LINUX
+ help
+ Retrieve or set Linux serial port.
+
config BUSYBOX_UBIATTACH
bool "ubiattach"
default n
- depends on BUSYBOX_PLATFORM_LINUX
+ select PLATFORM_LINUX
help
Attach MTD device to an UBI device.
config BUSYBOX_UBIDETACH
bool "ubidetach"
default n
- depends on BUSYBOX_PLATFORM_LINUX
+ select PLATFORM_LINUX
help
Detach MTD device from an UBI device.
+config BUSYBOX_UBIMKVOL
+ bool "ubimkvol"
+ default n
+ select PLATFORM_LINUX
+ help
+ Create a UBI volume.
+
+config BUSYBOX_UBIRMVOL
+ bool "ubirmvol"
+ default n
+ select PLATFORM_LINUX
+ help
+ Delete a UBI volume.
+
+config BUSYBOX_UBIRSVOL
+ bool "ubirsvol"
+ default n
+ select PLATFORM_LINUX
+ help
+ Resize a UBI volume.
+
+config BUSYBOX_UBIUPDATEVOL
+ bool "ubiupdatevol"
+ default n
+ select PLATFORM_LINUX
+ help
+ Update a UBI volume.
+
config BUSYBOX_ADJTIMEX
bool "adjtimex"
default n
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
index da3f280c7..c67fa42d9 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -7,7 +7,7 @@ menu "Process Utilities"
config BUSYBOX_FREE
bool "free"
- default n
+ default y
depends on BUSYBOX_PLATFORM_LINUX #sysinfo()
help
free displays the total amount of free and used physical and swap
@@ -16,7 +16,7 @@ config BUSYBOX_FREE
config BUSYBOX_FUSER
bool "fuser"
- default n
+ default y
help
fuser lists all PIDs (Process IDs) that currently have a given
file open. fuser can also list all PIDs that have a given network
diff --git a/package/fbset/files/fb.modes b/package/fbset/files/fb.modes
index 3d50b2fb1..56de81f2a 100644
--- a/package/fbset/files/fb.modes
+++ b/package/fbset/files/fb.modes
@@ -1009,3 +1009,10 @@ mode "320x240-103"
rgba 8/16,8/8,8/0,8/24
endmode
+# setting for lemote
+mode "1024x600"
+ geometry 1024 600 1024 600 8
+ timings 0 0 0 0 0 0 0
+ rgba 3/5,3/2,2/0,0/0
+endmode
+
diff --git a/package/libtirpc/patches/patch-src_Makefile_in b/package/libtirpc/patches/patch-src_Makefile_in
index 705eca8e4..dbf5c4c8e 100644
--- a/package/libtirpc/patches/patch-src_Makefile_in
+++ b/package/libtirpc/patches/patch-src_Makefile_in
@@ -1,5 +1,5 @@
--- libtirpc-0.2.2.orig/src/Makefile.in 2011-05-02 14:31:55.000000000 +0200
-+++ libtirpc-0.2.2/src/Makefile.in 2012-03-22 19:02:24.598855474 +0100
++++ libtirpc-0.2.2/src/Makefile.in 2012-03-27 22:24:03.971238587 +0200
@@ -81,8 +81,8 @@ am__libtirpc_la_SOURCES_DIST = auth_none
rpc_commondata.c rpc_callmsg.c rpc_generic.c rpc_soc.c \
rpcb_clnt.c rpcb_prot.c rpcb_st_xdr.c svc.c svc_auth.c \
@@ -21,6 +21,15 @@
libtirpc_la-xdr.lo libtirpc_la-xdr_rec.lo \
libtirpc_la-xdr_array.lo libtirpc_la-xdr_float.lo \
libtirpc_la-xdr_mem.lo libtirpc_la-xdr_reference.lo \
+@@ -291,7 +290,7 @@ lib_LTLIBRARIES = libtirpc.la
+ # release number of your package. This is an abuse that only fosters
+ # misunderstanding of the purpose of library versions."
+ #
+-libtirpc_la_LDFLAGS = -lnsl -lpthread -version-info 1:10:0 \
++libtirpc_la_LDFLAGS = -lpthread -version-info 1:10:0 \
+ $(am__append_2)
+ libtirpc_la_SOURCES = auth_none.c auth_unix.c authunix_prot.c \
+ bindresvport.c clnt_bcast.c clnt_dg.c clnt_generic.c \
@@ -302,8 +301,8 @@ libtirpc_la_SOURCES = auth_none.c auth_u
rpc_commondata.c rpc_callmsg.c rpc_generic.c rpc_soc.c \
rpcb_clnt.c rpcb_prot.c rpcb_st_xdr.c svc.c svc_auth.c \
diff --git a/package/pam/Makefile b/package/pam/Makefile
index 4fb90e26a..93169d848 100644
--- a/package/pam/Makefile
+++ b/package/pam/Makefile
@@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:= pam
PKG_VERSION:= 1.1.4
-PKG_RELEASE:= 1
+PKG_RELEASE:= 2
PKG_MD5SUM:= ff8f3c4382b78ac211e11bcd56ab17bf
PKG_DESCR:= Pluggable Authentication Modules
PKG_BUILDDEP:= flex
@@ -20,6 +20,8 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,PAM,pam,$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
XAKE_FLAGS+= GCC_HONOUR_COPTS=s
+CONFIGURE_ARGS+= --disable-nis \
+ --enable-db=no
pam-install:
$(INSTALL_DIR) $(IDIR_PAM)/etc/security
@@ -27,7 +29,7 @@ pam-install:
$(INSTALL_DIR) $(IDIR_PAM)/lib/security
$(CP) $(WRKINST)/lib/libpam*.so* $(IDIR_PAM)/lib
$(CP) $(WRKINST)/lib/security/*.so* $(IDIR_PAM)/lib/security
- $(CP) $(WRKBUILD)/conf/pam.conf $(IDIR_PAM)/etc
+ $(CP) ./files/pam.conf $(IDIR_PAM)/etc
# /lib is not automatically installed to staging area
$(CP) $(WRKINST)/lib/libpam*.so* $(STAGING_DIR)/usr/lib
diff --git a/package/pam/files/pam.conf b/package/pam/files/pam.conf
new file mode 100644
index 000000000..51d08d172
--- /dev/null
+++ b/package/pam/files/pam.conf
@@ -0,0 +1,126 @@
+# ---------------------------------------------------------------------------#
+# /etc/pam.conf #
+# #
+# Last modified by Andrew G. Morgan <morgan@kernel.org> #
+# ---------------------------------------------------------------------------#
+# $Id$
+# ---------------------------------------------------------------------------#
+# serv. module ctrl module [path] ...[args..] #
+# name type flag #
+# ---------------------------------------------------------------------------#
+#
+# The PAM configuration file for the `chfn' service
+#
+chfn auth required pam_unix.so
+chfn account required pam_unix.so
+#chfn password required pam_cracklib.so retry=3
+chfn password required pam_unix.so shadow md5 use_authtok
+#
+# The PAM configuration file for the `chsh' service
+#
+chsh auth required pam_unix.so
+chsh account required pam_unix.so
+#chsh password required pam_cracklib.so retry=3
+chsh password required pam_unix.so shadow md5 use_authtok
+#
+# The PAM configuration file for the `ftp' service
+#
+ftp auth requisite pam_listfile.so \
+ item=user sense=deny file=/etc/ftpusers onerr=succeed
+ftp auth requisite pam_shells.so
+ftp auth required pam_unix.so
+ftp account required pam_unix.so
+#
+# The PAM configuration file for the `imap' service
+#
+imap auth required pam_unix.so
+imap account required pam_unix.so
+#
+# The PAM configuration file for the `login' service
+#
+#login auth requisite pam_securetty.so
+login auth required pam_unix.so
+login auth optional pam_group.so
+login account requisite pam_time.so
+login account required pam_unix.so
+#login password required pam_cracklib.so retry=3
+login password required pam_unix.so shadow md5 use_authtok
+login session required pam_unix.so
+#
+# The PAM configuration file for the `netatalk' service
+#
+netatalk auth required pam_unix.so
+netatalk account required pam_unix.so
+#
+# The PAM configuration file for the `other' service
+#
+other auth required pam_deny.so
+other auth required pam_warn.so
+other account required pam_deny.so
+other password required pam_deny.so
+other password required pam_warn.so
+other session required pam_deny.so
+#
+# The PAM configuration file for the `passwd' service
+#
+#passwd password requisite pam_cracklib.so retry=3
+passwd password required pam_unix.so shadow md5 use_authtok
+#
+# The PAM configuration file for the `rexec' service
+#
+rexec auth requisite pam_securetty.so
+rexec auth requisite pam_nologin.so
+rexec auth sufficient pam_rhosts_auth.so
+rexec auth required pam_unix.so
+rexec account required pam_unix.so
+rexec session required pam_unix.so
+rexec session required pam_limits.so
+#
+# The PAM configuration file for the `rlogin' service
+# this application passes control to `login' if it fails
+#
+rlogin auth requisite pam_securetty.so
+rlogin auth requisite pam_nologin.so
+rlogin auth required pam_rhosts_auth.so
+rlogin account required pam_unix.so
+#rlogin password required pam_cracklib.so retry=3
+rlogin password required pam_unix.so shadow md5 use_authtok
+rlogin session required pam_unix.so
+rlogin session required pam_limits.so
+#
+# The PAM configuration file for the `rsh' service
+#
+rsh auth requisite pam_securetty.so
+rsh auth requisite pam_nologin.so
+rsh auth sufficient pam_rhosts_auth.so
+rsh auth required pam_unix.so
+rsh account required pam_unix.so
+rsh session required pam_unix.so
+rsh session required pam_limits.so
+#
+# The PAM configuration file for the `samba' service
+#
+samba auth required pam_unix.so
+samba account required pam_unix.so
+#
+# The PAM configuration file for the `su' service
+#
+su auth required pam_wheel.so
+su auth sufficient pam_rootok.so
+su auth required pam_unix.so
+su account required pam_unix.so
+su session required pam_unix.so
+#
+# The PAM configuration file for the `vlock' service
+#
+vlock auth required pam_unix.so
+#
+# The PAM configuration file for the `xdm' service
+#
+xdm auth required pam_unix.so
+xdm account required pam_unix.so
+#
+# The PAM configuration file for the `xlock' service
+#
+xlock auth required pam_unix.so
+
diff --git a/package/xconsole/Makefile b/package/xconsole/Makefile
new file mode 100644
index 000000000..ee3e846f0
--- /dev/null
+++ b/package/xconsole/Makefile
@@ -0,0 +1,24 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= xconsole
+PKG_VERSION:= 1.0.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= c617acec432901a3c1a2b23b022624cb
+PKG_DESCR:= X console app
+PKG_SECTION:= x11/apps
+PKG_URL:= http://xorg.freedesktop.org/
+PKG_SITES:= ${MASTER_SITE_XORG}
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XCONSOLE,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+ $(INSTALL_DIR) $(IDIR_XCONSOLE)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xconsole \
+ $(IDIR_XCONSOLE)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xdm/Makefile b/package/xdm/Makefile
new file mode 100644
index 000000000..84d7b0fa8
--- /dev/null
+++ b/package/xdm/Makefile
@@ -0,0 +1,36 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= xdm
+PKG_VERSION:= 1.1.11
+PKG_RELEASE:= 1
+PKG_MD5SUM:= aaf8c3d05d4a1e689d2d789c99a6023c
+PKG_DESCR:= X display manager
+PKG_SECTION:= x11/apps
+PKG_BUILDDEP:= pam
+PKG_DEPENDS:= xconsole pam xsm
+PKG_URL:= http://xorg.freedesktop.org/
+PKG_SITES:= ${MASTER_SITE_XORG}
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XDM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+CONFIGURE_ARGS+= --with-random-device=/dev/urandom \
+ --with-utmp-file=/dev/null \
+ --with-wtmp-file=/dev/null
+
+post-install:
+ $(INSTALL_DIR) $(IDIR_XDM)/usr/lib/X11
+ $(CP) $(WRKINST)/usr/lib/X11/* \
+ $(IDIR_XDM)/usr/lib/X11
+ $(INSTALL_DIR) $(IDIR_XDM)/usr/share/X11
+ $(CP) $(WRKINST)/usr/share/X11/* \
+ $(IDIR_XDM)/usr/lib/X11
+ $(INSTALL_DIR) $(IDIR_XDM)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xdm \
+ $(IDIR_XDM)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/xsm/Makefile b/package/xsm/Makefile
new file mode 100644
index 000000000..73602d44b
--- /dev/null
+++ b/package/xsm/Makefile
@@ -0,0 +1,30 @@
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:= xsm
+PKG_VERSION:= 1.0.2
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 6dfc70ae1c13f775f1c646a6d8780076
+PKG_DESCR:= X session manager
+PKG_SECTION:= x11/apps
+PKG_URL:= http://xorg.freedesktop.org/
+PKG_SITES:= ${MASTER_SITE_XORG}
+
+include $(TOPDIR)/mk/package.mk
+
+$(eval $(call PKG_template,XSM,$(PKG_NAME),$(PKG_VERSION)-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+post-install:
+ $(INSTALL_DIR) $(IDIR_XSM)/usr/lib/X11
+ $(CP) $(WRKINST)/usr/lib/X11/* \
+ $(IDIR_XSM)/usr/lib/X11
+ $(INSTALL_DIR) $(IDIR_XSM)/usr/share/X11
+ $(CP) $(WRKINST)/usr/share/X11/* \
+ $(IDIR_XSM)/usr/lib/X11
+ $(INSTALL_DIR) $(IDIR_XSM)/usr/bin
+ $(INSTALL_BIN) $(WRKINST)/usr/bin/xsm \
+ $(IDIR_XSM)/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk