From 9e4bf8061ecc28607bfe18e54b933588186bcea9 Mon Sep 17 00:00:00 2001 From: Seunggyun Kim Date: Fri, 10 Aug 2012 17:54:26 +0900 Subject: [PATCH] Source merge for Tizen open and remove samsung patent. This uses DPI based scaling. Change-Id: Iadf9a5c71e7af05add5454f80db8ebf51c4676e8 --- AUTHORS | 3 + COPYING | 25 +++++ config-slp/AUTHORS | 3 + config-slp/Makefile.am | 18 ++++ config-slp/autogen.sh | 10 ++ config-slp/configure.ac | 102 ++++++++++++++++++ config-slp/module.desktop.in | 31 ++++++ config-slp/src/Makefile.am | 27 +++++ config-slp/src/e_mod_main.c | 177 +++++++++++++++++++++++++++++++ config-slp/src/e_mod_main.h | 11 ++ debian/changelog | 144 +++++++++++++++++++++++++ debian/compat | 1 + debian/control | 21 ++++ debian/copyright | 0 debian/e17-extra-private-modules.install | 1 + debian/jobs | 0 debian/rules | 111 +++++++++++++++++++ packaging/e17-extra-private-modules.spec | 48 +++++++++ 18 files changed, 733 insertions(+) create mode 100644 AUTHORS create mode 100644 COPYING create mode 100755 config-slp/AUTHORS create mode 100755 config-slp/Makefile.am create mode 100755 config-slp/autogen.sh create mode 100755 config-slp/configure.ac create mode 100755 config-slp/module.desktop.in create mode 100644 config-slp/src/Makefile.am create mode 100644 config-slp/src/e_mod_main.c create mode 100644 config-slp/src/e_mod_main.h create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100755 debian/e17-extra-private-modules.install create mode 100755 debian/jobs create mode 100755 debian/rules create mode 100644 packaging/e17-extra-private-modules.spec diff --git a/AUTHORS b/AUTHORS new file mode 100644 index 0000000..ae8eaa7 --- /dev/null +++ b/AUTHORS @@ -0,0 +1,3 @@ +Seunggyun Kim +Sohyun Kim +Doyoun Kang diff --git a/COPYING b/COPYING new file mode 100644 index 0000000..e778fc8 --- /dev/null +++ b/COPYING @@ -0,0 +1,25 @@ +Copyright notice for Enlightenment: + +Copyright (C) 2000-2011 Carsten Haitzler and various contributors (see AUTHORS) + +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. + +THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, +INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, +OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, +EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/config-slp/AUTHORS b/config-slp/AUTHORS new file mode 100755 index 0000000..ae8eaa7 --- /dev/null +++ b/config-slp/AUTHORS @@ -0,0 +1,3 @@ +Seunggyun Kim +Sohyun Kim +Doyoun Kang diff --git a/config-slp/Makefile.am b/config-slp/Makefile.am new file mode 100755 index 0000000..61a7736 --- /dev/null +++ b/config-slp/Makefile.am @@ -0,0 +1,18 @@ +# maintainer-clean removes everything +MAINTAINERCLEANFILES = aclocal.m4 compile config.sub config.guess config.h.in \ + configure depcomp install-sh ltmain.sh Makefile.in missing + +SUBDIRS = src + +filesdir = $(datadir) +files_DATA = module.desktop + +EXTRA_DIST = module.desktop.in + +clean-local: + rm -rf module.desktop + +uninstall: + rm -rf $(DESTDIR)$(datadir) + + diff --git a/config-slp/autogen.sh b/config-slp/autogen.sh new file mode 100755 index 0000000..5a30991 --- /dev/null +++ b/config-slp/autogen.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Run this to generate all the initial makefiles, etc. + +set -x +aclocal +autoconf +libtoolize --copy --force +autoheader +automake --foreign --add-missing --copy + diff --git a/config-slp/configure.ac b/config-slp/configure.ac new file mode 100755 index 0000000..cf8fd82 --- /dev/null +++ b/config-slp/configure.ac @@ -0,0 +1,102 @@ +# authored by Seung-gyun Kim +# +# Note ) +# +# AC_DEFINE(VARIABLE, VALUE, DESCRIPTION) +# output the following to config.h +# /* DESCRIPTION */ +# #define VARIABLE VALUE +# +# AC_SUBST(VARIABLE, [VALUE]) +# define $(VARIABLE) as VALUE in Makefile + +dnl ======================================================================== +# initialization +dnl ======================================================================== +AC_INIT([config-slp], [0.1], [sgyun.kim@samsung.com]) + +# check for tools needed by automake generated Makefiles +# -Wall : Turn all warnings on. +# -Werror: report warings as errors. +# foreign: relax some GNU standard requirements +#AM_INIT_AUTOMAKE([-Wall -Werror foreign]) +AM_INIT_AUTOMAKE([-Wall foreign]) + +dnl ======================================================================== +# checks for programs +dnl ======================================================================== +AC_PROG_CC +AC_DISABLE_STATIC +AC_PROG_LIBTOOL + +dnl ======================================================================== +# checks for libraries +dnl ======================================================================== + +dnl ======================================================================== +# checks for header files +dnl ======================================================================== +#AC_HEADER_STDC +AC_CHECK_HEADERS([math.h fcntl.h stdlib.h string.h unistd.h]) + +dnl ======================================================================== +# checks for typedefs, structures, and compiler characteristics +AC_C_CONST + +dnl ======================================================================== +# checks for library functions +dnl ======================================================================== +#AC_FUNC_MALLOC +AC_FUNC_MMAP +AC_CHECK_FUNCS([memset munmap strcasecmp strdup]) + +dnl ======================================================================== +# checks for pkg-config +dnl ======================================================================== +PKG_PROG_PKG_CONFIG + +#PKG_CHECK_MODULES(GESTUREPROTO, gestureproto) +#PKG_CHECK_MODULES(GESTURELIB, xgesture) + +dnl ======================================================================== +# checks for pkg-config +dnl ======================================================================== +#PKG_CHECK_MODULES(ENLIGHTENMENT, [enlightenment, gestureproto, xgesture]) +PKG_CHECK_MODULES(ENLIGHTENMENT, [enlightenment, elementary]) +ENLIGHTENMENT_CFLAGS="${ENLIGHTENMENT_CFLAGS} " +AC_SUBST(ENLIGHTENMENT_CFLAGS) +AC_SUBST(ENLIGHTENMENT_LIBS) + + +dnl ======================================================================= + +release=$(pkg-config --variable=release enlightenment) +MODULE_ARCH="$host_os-$host_cpu-$release" +AC_SUBST(MODULE_ARCH) +AC_DEFINE_UNQUOTED(MODULE_ARCH, "$MODULE_ARCH", "Module architecture") + +datadir=$(pkg-config --variable=modules enlightenment)/${PACKAGE} +AC_ARG_ENABLE(homedir-install, + AS_HELP_STRING([--enable-homedir-install], [Install module in homedir]), + [ datadir="${HOME}/.e/e/modules/${PACKAGE}" ] +) + +dnl ======================================================================== +# output files +dnl ======================================================================== + +# create HEADER for all HEADER.in. +# HEADERS contain definitions made with AC_DEFINE. +# the following command will create config.h from config.h.in +AC_CONFIG_HEADERS([config.h]) + +# create FILE for all FILE.in. +# FILES contains definitions made with AC_SUBST. +AC_CONFIG_FILES([ + Makefile + src/Makefile + module.desktop + ]) + +AC_OUTPUT + diff --git a/config-slp/module.desktop.in b/config-slp/module.desktop.in new file mode 100755 index 0000000..6cabe7f --- /dev/null +++ b/config-slp/module.desktop.in @@ -0,0 +1,31 @@ +[Desktop Entry] +Type=Link +Name=config-slp +Name[cs]= +Name[de]= +Name[eo]= +Name[es]= +Name[fr]= +Name[hu]= +Name[it]= +Name[ja]= +Name[pt]= +Name[pt_BR]= +Name[tr]= +Name[zh_CN]= +Name[zh_TW]= +Icon=e-module-clock +Comment=config-slp
Samsung elementary profile. +Comment[cs]= +Comment[de]= +Comment[eo]= +Comment[es]= +Comment[fr]= +Comment[hu]= +Comment[it]= +Comment[ja]= +Comment[pt]= +Comment[pt_BR]= +Comment[tr]= +Comment[zh_CN]= +Comment[zh_TW]= diff --git a/config-slp/src/Makefile.am b/config-slp/src/Makefile.am new file mode 100644 index 0000000..eb0abed --- /dev/null +++ b/config-slp/src/Makefile.am @@ -0,0 +1,27 @@ +MAINTAINERCLEANFILES = Makefile.in +MODULE = config-slp + +LDFLAGS += +#LDFLAGS += -lvconf -lappfwk + +#CPPFLAGS = \ +# -I. \ +# -I$(includedir) \ +# -I$(includedir)/enlightenment + +# the module .so file +#INCLUDES = -I. \ +# -I$(includedir) +# -I$(includedir)/enlightenment \ +# @e_cflags@ +pkgdir = $(libdir)/enlightenment/modules/$(MODULE)/$(MODULE_ARCH) +pkg_LTLIBRARIES = module.la +module_la_SOURCES = e_mod_main.c \ + e_mod_main.h +module_la_LIBADD = +module_la_CFLAGS = @ENLIGHTENMENT_CFLAGS@ +module_la_LDFLAGS = -module -avoid-version @ENLIGHTENMENT_LIBS@ +module_la_DEPENDENCIES = $(top_builddir)/config.h + +#uninstall: +# rm -rf $(DESTDIR)$(libdir)/enlightenment/modules/$(MODULE) diff --git a/config-slp/src/e_mod_main.c b/config-slp/src/e_mod_main.c new file mode 100644 index 0000000..f014ddd --- /dev/null +++ b/config-slp/src/e_mod_main.c @@ -0,0 +1,177 @@ +#include "e.h" +#include "e_mod_main.h" +#include "Elementary.h" + +#define PI 3.141592 +#define BASE_LAYOUT_INCH 4.65 +#define BASE_LAYOUT_WIDTH_PX 720 +#define BASE_LAYOUT_HEIGHT_PX 1280 +#define ROUND_DOUBLE(x) (round((x)*100)/100) +#define MOBILE_PROFILE "mobile" + +static int _e_elm_config_scale_update(void); +static double _e_elm_config_dpi_get(double d_inch, int w_px, int h_px); + +static char fullpath[1024]; + +/* this is needed to advertise a label for the module IN the code (not just + * the .desktop file) but more specifically the api version it was compiled + * for so E can skip modules that are compiled for an incorrect API version + * safely) */ +EAPI E_Module_Api e_modapi = +{ + E_MODULE_API_VERSION, "Elementary Profile Module of Window Manager" +}; + +EAPI void* +e_modapi_init(E_Module* m) +{ + _e_elm_config_scale_update(); + return m; +} + +EAPI int +e_modapi_shutdown(E_Module* m) +{ + return 1; +} + +EAPI int +e_modapi_save(E_Module* m) +{ + /* Do Something */ + return 1; +} + +static double +_e_elm_config_dpi_get(double d_inch, int w_px, int h_px) +{ + double dpi; + + dpi = (sqrt((w_px * w_px) + (h_px * h_px))) / d_inch; + + return dpi; +} + +static int +_file_owner_change(uid_t uid, gid_t gid) +{ + struct stat statbuf; + struct dirent *dirp; + DIR *dp; + char *ptr; + int ret; + + if (lstat(fullpath, &statbuf) < 0) + { + fprintf(stderr, "%s : stat error \n", fullpath); + return 0; + } + if (S_ISDIR(statbuf.st_mode) == 0) + return 0; + + ptr = fullpath + strlen(fullpath); + *ptr++ = '/'; + *ptr = 0; + + if ((dp = opendir(fullpath)) == NULL) + { + fprintf(stderr, "can't read %s directory \n", fullpath); + return 0; + } + + while ((dirp = readdir(dp)) != NULL) + { + if (strcmp(dirp->d_name, ".") == 0 || + strcmp(dirp->d_name, "..") == 0) + continue; + + strcpy(ptr, dirp->d_name); + if ((chown(fullpath, uid, gid) == -1)) + fprintf(stderr, "%s chown error \n", fullpath); + + if ((ret = _file_owner_change(uid, gid)) != 0) + break; + } + *(ptr-1) = 0; + + if (closedir(dp) < 0) + fprintf(stderr, "can't close directory %s", fullpath); + + return ret; +} + + +static int +_e_mod_config_elm_profile_save(char *profile_name, double scale) +{ + struct dirent *directory; + struct stat file_info; + DIR *dp; + char buf[256]; + int ret; + + setenv("HOME", "/home/app", 1); + elm_init(0, NULL); + + elm_scale_set(scale); + elm_finger_size_set(scale * 60); + + dp = opendir("/home/"); + if (!dp) return 0; + + while((directory = readdir(dp))) + { + if ((!strcmp(directory->d_name, ".")) || (!strcmp(directory->d_name, ".."))) continue; + snprintf(buf, sizeof(buf), "/home/%s", directory->d_name); + if ((ret = lstat(buf, &file_info) == -1)) + { + printf("error : can't get file stat \n"); + continue; + } + if (S_ISDIR(file_info.st_mode)) + { + setenv("HOME", buf, 1); + elm_config_save(); + snprintf(buf, sizeof(buf), "/home/%s/.elementary", directory->d_name); + strcpy(fullpath, buf); + if ((chown(fullpath, file_info.st_uid, file_info.st_gid)) == -1) + fprintf(stderr, "%s chown error \n", fullpath); + _file_owner_change(file_info.st_uid, file_info.st_gid); + } + } + closedir(dp); + elm_shutdown(); + + return 1; +} + +static int +_e_elm_config_scale_update (void) +{ + int target_width, target_height, target_width_mm, target_height_mm; + double target_inch, scale, target_dpi, base_dpi; + + target_width = 0; + target_height = 0; + target_width_mm = 0; + target_height_mm = 0; + + ecore_x_randr_screen_current_size_get(ecore_x_window_root_first_get(), &target_width, &target_height, &target_width_mm, &target_height_mm); + target_inch = ROUND_DOUBLE(sqrt(target_width_mm * target_width_mm + target_height_mm * target_height_mm) / 25.4); + + // Calculate DPI + base_dpi = ROUND_DOUBLE(_e_elm_config_dpi_get(BASE_LAYOUT_INCH, BASE_LAYOUT_WIDTH_PX, BASE_LAYOUT_HEIGHT_PX)); + target_dpi = ROUND_DOUBLE(_e_elm_config_dpi_get(target_inch, target_width, target_height)); + + // Calculate Scale factor + scale = ROUND_DOUBLE(target_dpi / base_dpi); + + e_config->scale.factor = scale; + + // calculate elementray scale factor + _e_mod_config_elm_profile_save(MOBILE_PROFILE, scale); + + system ("/bin/touch /opt/etc/.profile_ready"); + return 1; +} diff --git a/config-slp/src/e_mod_main.h b/config-slp/src/e_mod_main.h new file mode 100644 index 0000000..f6c7e5a --- /dev/null +++ b/config-slp/src/e_mod_main.h @@ -0,0 +1,11 @@ +#ifndef __E_MOD_MAIN_H__ +#define __E_MOD_MAIN_H__ + +EAPI extern E_Module_Api e_modapi; + +EAPI void* e_modapi_init (E_Module* m); +EAPI int e_modapi_shutdown (E_Module* m); +EAPI int e_modapi_save (E_Module* m); + + +#endif//__E_MOD_MAIN_H__ diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..3e15790 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,144 @@ +e17-extra-private-modules (0.1.18) unstable; urgency=low + + * Change to save profile in every rebooting time. + * Remove zone_del process. + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.18 + + -- Seunggyun Kim Fri, 13 Jul 2012 16:41:44 +0900 + +e17-extra-private-modules (0.1.17) unstable; urgency=low + + * Change profile name from extension to desktop + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.17 + + -- Seunggyun Kim Mon, 18 Jun 2012 14:13:58 +0900 + +e17-extra-private-modules (0.1.16) unstable; urgency=low + + * Change '.elementary' directory and sub files owner to support profile saving in setting app + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.16 + + -- Seunggyun Kim Tue, 12 Jun 2012 10:45:06 +0900 + +e17-extra-private-modules (0.1.15) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.15 + + -- Seunggyun Kim Thu, 07 Jun 2012 17:23:31 +0900 + +e17-extra-private-modules (0.1.14) unstable; urgency=low + + * Fix access set problem + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.14 + + -- Seungyun Kim Thu, 07 Jun 2012 16:38:28 +0900 + +e17-extra-private-modules (0.1.13) unstable; urgency=low + + * Support desktop mode + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.13 + + -- Seunggyun Kim Wed, 30 May 2012 17:48:55 +0900 + +e17-extra-private-modules (0.1.12) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1.12 + + -- Jeonghyun Yun Fri, 27 Apr 2012 13:57:56 +0900 + +e17-extra-private-modules (0.1-11) unstable; urgency=low + + * Add target inch round calculation + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-11 + + -- Seunggyun Kim Thu, 23 Feb 2012 17:39:15 +0900 + +e17-extra-private-modules (0.1-10) unstable; urgency=low + + * Add Samsung Proprietary Boiler Plate + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-10 + + -- Seunggyun Kim Tue, 21 Feb 2012 11:30:19 +0900 + +e17-extra-private-modules (0.1-9) unstable; urgency=low + + * Make /opt/etc/.profile_ready file after profile saving finished + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-9 + + -- Seunggyun Kim Tue, 31 Jan 2012 17:32:49 +0900 + +e17-extra-private-modules (0.1-8) unstable; urgency=low + + * Add temp patch for Proxima target + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-8 + + -- Seunggyun Kim Thu, 26 Jan 2012 12:23:37 +0900 + +e17-extra-private-modules (0.1-7) unstable; urgency=low + + * Change stat function to lstat for filtering symbolic link + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-7 + + -- Seunggyun Kim Thu, 19 Jan 2012 18:14:37 +0900 + +e17-extra-private-modules (0.1-6) unstable; urgency=low + + * Change /opt/home/ directory finding routine + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-6 + + -- Seunggyun Kim Thu, 19 Jan 2012 16:10:09 +0900 + +e17-extra-private-modules (0.1-5) unstable; urgency=low + + * Add each owner's base config file saving routine + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-5 + + -- Seunggyun Kim Tue, 17 Jan 2012 15:15:54 +0900 + +e17-extra-private-modules (0.1-4) unstable; urgency=low + + * Add target distance adjustment routine + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-4 + + -- Seunggyun Kim Tue, 10 Jan 2012 20:08:10 +0900 + +e17-extra-private-modules (0.1-3) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-3 + + -- Seunggyun Kim Thu, 05 Jan 2012 17:02:48 +0900 + +e17-extra-private-modules (0.1-2) unstable; urgency=low + + * Package Upload + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-2 + + -- Seunggyun Kim Thu, 29 Dec 2011 18:05:55 +0900 + +e17-extra-private-modules (0.1-1) unstable; urgency=low + + * Initial release for e17-extra-private-modules (config-slp) + * Git: slp/pkgs/e/e17-extra-private-modules + * Tag: e17-extra-private-modules_0.1-1 + + -- Seunggyun Kim Wed, 21 Dec 2011 13:19:48 +0900 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..5949cda --- /dev/null +++ b/debian/control @@ -0,0 +1,21 @@ +Source: e17-extra-private-modules +Priority: extra +Maintainer: Seunggyun Kim , Sohyun Kim , Doyoun Kang , Myoungwoon Kim +Build-Depends: debhelper (>= 5), e17-dev, libslp-utilx-dev, libelm-dev, dlog-dev +Standards-Version: 3.8.3 +Section: libs + +Package: e17-extra-private-modules +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: The E17 Extra Private Modules + The E17 extra private modules consists of modules made by SAMSUNG. + +Package: e17-extra-private-modules-dbg +Section: libs +Architecture: any +Depends: ${shlibs:Depends}, ${misc:Depends} +Description: The debug version of E17 Extra Private Modules + The E17 extra private modules consists of modules made by SAMSUNG. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..e69de29 diff --git a/debian/e17-extra-private-modules.install b/debian/e17-extra-private-modules.install new file mode 100755 index 0000000..a7b273a --- /dev/null +++ b/debian/e17-extra-private-modules.install @@ -0,0 +1 @@ +usr/lib/enlightenment/modules/*/*/*.so diff --git a/debian/jobs b/debian/jobs new file mode 100755 index 0000000..e69de29 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..7c46dbe --- /dev/null +++ b/debian/rules @@ -0,0 +1,111 @@ +#!/usr/bin/make -f +# debian/rules for the Debian xutils package. +# Copyright © 2004 Scott James Remnant +# Copyright © 2005 Daniel Stone +# Copyright © 2005 David Nusinow + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +# set this to the name of the main shlib's binary package +PACKAGE = e17-extra-private-modules +PREFIX ?= /usr + +#include debian/xsfbs/xsfbs.mk + +# This package contains multiple modules as shipped by upstream. Each module is # contained in a subdirectory in the root dir of the package. You must list each +# subdirectory explicitly so that the build system knows what to build +DEF_SUBDIRS= config-slp +SUBDIRS=$(DEF_SUBDIRS) +BUILD_STAMPS = $(addprefix $(STAMP_DIR)/build-,$(SUBDIRS)) + +CFLAGS = -Wall -g -fPIC -rdynamic +CXXFLAGS += -fPIC +LDFLAGS += -Wl,--hash-style=both -Wl,--as-needed -Wl,--rpath=$(PREFIX)/lib + +# Machine name +MACHINE_NAME=$(shell uname -m) + +ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif +ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS))) + MAKEFLAGS += -j$(NUMJOBS) +endif + +ifeq ($(MACHINE_NAME), arm) + CFLAGS += -D_ENV_ARM +endif + +DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build=$(DEB_HOST_GNU_TYPE) +else + confflags += --build=$(DEB_HOST_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE) +endif + +build: + >$@ + for FILE in $(SUBDIRS); do \ + mkdir -p "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) ; \ + cd "$$FILE" && ./autogen.sh && cd ..; \ + cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && ../"$$FILE"/configure --prefix=/usr "$(confflags)" CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" && $(MAKE) || exit ; \ + cd ..; \ + done + >$@ + +clean: + dh_testdir + dh_testroot + rm -f build-stamp + + rm -f config.cache config.log config.status + rm -f */config.cache */config.log */config.status + rm -f conftest* */conftest* + rm -rf autom4te.cache */autom4te.cache + rm -rf *-obj-* + rm -f build + + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + for FILE in $(SUBDIRS); do \ + cd "$$FILE"-obj-$(DEB_BUILD_GNU_TYPE) && $(MAKE) DESTDIR=$(CURDIR)/debian/tmp install ; \ + cd ..; \ + done + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + + dh_installdocs + dh_install --sourcedir=debian/tmp --list-missing + dh_installmenu + dh_installchangelogs + dh_link + dh_strip --dbg-package=$(PACKAGE)-dbg + dh_compress + dh_fixperms + dh_installdeb + dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info + dh_gencontrol + dh_md5sums + dh_builddeb + +# Build architecture-independent files here. +binary-indep: build install +# Nothing to do + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install diff --git a/packaging/e17-extra-private-modules.spec b/packaging/e17-extra-private-modules.spec new file mode 100644 index 0000000..d372f52 --- /dev/null +++ b/packaging/e17-extra-private-modules.spec @@ -0,0 +1,48 @@ +Name: e17-extra-private-modules +Summary: The E17 Extra Private Modules The E17 extra private modules consists of modules made by SAMSUNG +Version: 0.1.19 +Release: 1 +Group: TO_BE/FILLED_IN +License: TO BE FILLED IN +Source0: %{name}-%{version}.tar.gz +BuildRequires: pkgconfig(enlightenment) +BuildRequires: pkgconfig(utilX) +BuildRequires: pkgconfig(elementary) +BuildRequires: pkgconfig(dlog) +Requires: libx11 + + +%description +The E17 Extra Private Modules The E17 extra private modules consists of modules made by SAMSUNG. + + +%prep +%setup -q + + +%build +export CFLAGS+=" -Wall -g -fPIC -rdynamic" +export LDFLAGS+=" -Wl,--hash-style=both -Wl,--as-needed -Wl,--rpath=/usr/lib" + +%ifarch %{arm} +export CFLAGS+=" -D_ENV_ARM" +%endif + +for FILE in config-slp +do + (cd $FILE && ./autogen.sh && ./configure --prefix=/usr && make ) +done + + +%install +rm -rf %{buildroot} + +for FILE in config-slp +do + (cd $FILE && %make_install ) +done + + +%files +%defattr(-,root,root,-) +%{_libdir}/enlightenment/modules/config-slp/* -- 2.7.4