summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorGravatar waker <wakeroid@gmail.com>2012-10-05 17:46:33 +0200
committerGravatar waker <wakeroid@gmail.com>2012-10-05 17:46:33 +0200
commitce2923c8f0cac7a563d1ecf22085ac62281c74d7 (patch)
tree20ce1a2fd0cebc36231882b011e34230778a1db9 /tools
parent527ba48d8209a8e854c791d571106a5daf2fdd29 (diff)
parent708c8ba9f7aefe9f795c9c4eb30ab128f09c8b3d (diff)
Merge branch 'master' into devel
Conflicts: README configure.ac deadbeef.h plugins.c plugins/gtkui/Makefile.am plugins/gtkui/ddbcellrenderertextmultiline.c plugins/gtkui/ddblistview.c plugins/gtkui/deadbeef.glade plugins/gtkui/gtkui.c plugins/gtkui/interface.c plugins/gtkui/plcommon.c plugins/shellexec/shellexec.c plugins/supereq/Makefile.am
Diffstat (limited to 'tools')
-rwxr-xr-xtools/apbuild/apgcc3
-rwxr-xr-xtools/apbuild/apinit9
-rw-r--r--tools/apbuild/apsymbols.h.i686 (renamed from tools/apbuild/apsymbols.h)0
-rw-r--r--tools/apbuild/apsymbols.h.x86_64281
-rw-r--r--tools/apbuild/ctype.h10
-rwxr-xr-xtools/packages/arch.sh49
-rw-r--r--tools/packages/arch_install14
-rw-r--r--tools/packages/arch_pkginfo11
-rw-r--r--tools/packages/deb_control33
-rwxr-xr-xtools/packages/deb_postinst7
-rwxr-xr-xtools/packages/deb_postrm5
-rwxr-xr-xtools/packages/debian.sh81
12 files changed, 499 insertions, 4 deletions
diff --git a/tools/apbuild/apgcc b/tools/apbuild/apgcc
index 2aba0071..ddda846b 100755
--- a/tools/apbuild/apgcc
+++ b/tools/apbuild/apgcc
@@ -19,7 +19,6 @@ use Apbuild::Utils;
# Don't forget to bump the version in Makefile too.
our $APBUILD_VERSION = "2.0.9";
-
######## Initialization ########
# In C mode:
@@ -75,7 +74,7 @@ if (!defined $appath) {
$appath =~ s/\/*$//g;
$appath =~ s/^(.*)\/.*?$/$1/;
$appath .= '/include/apbuild';
- if (! -f "$appath/apsymbols.h" && -f "$FindBin::Bin/apsymbols.h") {
+ if (! -f "$appath/apsymbols.h.i686" && -f "$FindBin::Bin/apsymbols.h.i686") {
$appath = $FindBin::Bin;
}
}
diff --git a/tools/apbuild/apinit b/tools/apbuild/apinit
new file mode 100755
index 00000000..37892303
--- /dev/null
+++ b/tools/apbuild/apinit
@@ -0,0 +1,9 @@
+#!/usr/bin/env perl
+use warnings;
+use strict;
+
+my $arch=`uname -m`;
+chomp $arch;
+`cp apsymbols.h.$arch apsymbols.h`;
+
+
diff --git a/tools/apbuild/apsymbols.h b/tools/apbuild/apsymbols.h.i686
index 32c7b18c..32c7b18c 100644
--- a/tools/apbuild/apsymbols.h
+++ b/tools/apbuild/apsymbols.h.i686
diff --git a/tools/apbuild/apsymbols.h.x86_64 b/tools/apbuild/apsymbols.h.x86_64
new file mode 100644
index 00000000..aaf99264
--- /dev/null
+++ b/tools/apbuild/apsymbols.h.x86_64
@@ -0,0 +1,281 @@
+/* apbuild embedded metadata */
+#define APBUILD_NOTE_METADATA(s) __asm__(".section .metadata, \"MS\", @note, 1\n\t.string \"" s "\"\n\t.previous\n\t")
+
+#ifdef APBUILD_VERSION
+APBUILD_NOTE_METADATA("apbuild.version=" APBUILD_VERSION);
+#endif
+
+/* apbuild generated symbol exclusion list */
+__asm__(".symver clnt_pcreateerror,clnt_pcreateerror@GLIBC_2.2.5");
+__asm__(".symver clnt_spcreateerror,clnt_spcreateerror@GLIBC_2.2.5");
+__asm__(".symver feupdateenv,feupdateenv@GLIBC_2.2.5");
+__asm__(".symver lio_listio,lio_listio@GLIBC_2.2.5");
+__asm__(".symver lio_listio64,lio_listio64@GLIBC_2.2.5");
+__asm__(".symver mkostemps,mkostemps@GLIBC_2.11");
+__asm__(".symver mkostemps64,mkostemps64@GLIBC_2.11");
+__asm__(".symver nftw,nftw@GLIBC_2.2.5");
+__asm__(".symver nftw64,nftw64@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_broadcast,pthread_cond_broadcast@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_destroy,pthread_cond_destroy@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_init,pthread_cond_init@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_signal,pthread_cond_signal@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_timedwait,pthread_cond_timedwait@GLIBC_2.2.5");
+__asm__(".symver pthread_cond_wait,pthread_cond_wait@GLIBC_2.2.5");
+__asm__(".symver regexec,regexec@GLIBC_2.2.5");
+__asm__(".symver rpc_createerr,rpc_createerr@GLIBC_2.2.5");
+__asm__(".symver __rpc_thread_createerr,__rpc_thread_createerr@GLIBC_2.2.5");
+__asm__(".symver __strtoll_l,__strtoll_l@GLIBC_2.2.5");
+__asm__(".symver __strtoull_l,__strtoull_l@GLIBC_2.2.5");
+/*__asm__(".symver _sys_errlist,_sys_errlist@GLIBC_2.3");
+__asm__(".symver sys_errlist,sys_errlist@GLIBC_2.3");*/
+__asm__(".symver _sys_errlist,_sys_errlist@GLIBC_2.2.5");
+__asm__(".symver sys_errlist,sys_errlist@GLIBC_2.2.5");
+/*__asm__(".symver _sys_nerr,_sys_nerr@GLIBC_2.3");
+__asm__(".symver sys_nerr,sys_nerr@GLIBC_2.3");*/
+__asm__(".symver _sys_nerr,_sys_nerr@GLIBC_2.2.5");
+__asm__(".symver sys_nerr,sys_nerr@GLIBC_2.2.5");
+__asm__(".symver sys_sigabbrev,sys_sigabbrev@GLIBC_2.2.5");
+__asm__(".symver _sys_siglist,_sys_siglist@GLIBC_2.2.5");
+__asm__(".symver sys_siglist,sys_siglist@GLIBC_2.2.5");
+__asm__(".symver timer_create,timer_create@GLIBC_2.2.5");
+__asm__(".symver timer_delete,timer_delete@GLIBC_2.2.5");
+__asm__(".symver timer_getoverrun,timer_getoverrun@GLIBC_2.2.5");
+__asm__(".symver timer_gettime,timer_gettime@GLIBC_2.2.5");
+__asm__(".symver timer_settime,timer_settime@GLIBC_2.2.5");
+__asm__(".symver __gethostname_chk,__gethostname_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver epoll_create,epoll_create@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __getdomainname_chk,__getdomainname_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vswprintf_chk,__vswprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __stpcpy_chk,__stpcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver timerfd_gettime,timerfd_gettime@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inotify_init1,inotify_init1@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcstombs_chk,__wcstombs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __printf_chk,__printf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fgetws_chk,__fgetws_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __register_atfork,__register_atfork@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver gnu_dev_major,gnu_dev_major@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vfwprintf_chk,__vfwprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcpcpy_chk,__wcpcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver open_wmemstream,open_wmemstream@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_append,inet6_opt_append@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver timerfd_create,timerfd_create@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __swprintf_chk,__swprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver getipv4sourcefilter,getipv4sourcefilter@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vwprintf_chk,__vwprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver readlinkat,readlinkat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wctomb_chk,__wctomb_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __readlink_chk,__readlink_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver setipv4sourcefilter,setipv4sourcefilter@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_sscanf,__isoc99_sscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __getlogin_r_chk,__getlogin_r_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver sync_file_range,sync_file_range@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __open64_2,__open64_2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_init,inet6_rth_init@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_next,inet6_opt_next@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fxstatat64,__fxstatat64@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver unlinkat,unlinkat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fwprintf_chk,__fwprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __mempcpy_chk,__mempcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver epoll_wait,epoll_wait@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mkfifoat,mkfifoat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_scanf,__isoc99_scanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __read_chk,__read_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fgetws_unlocked_chk,__fgetws_unlocked_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vsprintf_chk,__vsprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcsncpy_chk,__wcsncpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __stack_chk_fail,__stack_chk_fail@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inotify_rm_watch,inotify_rm_watch@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver xdr_quad_t,xdr_quad_t@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __sched_cpualloc,__sched_cpualloc@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __obstack_vprintf_chk,__obstack_vprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_swscanf,__isoc99_swscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vfwscanf,__isoc99_vfwscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __sched_cpufree,__sched_cpufree@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_finish,inet6_opt_finish@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __confstr_chk,__confstr_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcsncat_chk,__wcsncat_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver setsourcefilter,setsourcefilter@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver xdr_u_quad_t,xdr_u_quad_t@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fread_unlocked_chk,__fread_unlocked_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver eaccess,eaccess@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_alloc,inet6_option_alloc@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __openat64_2,__openat64_2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver sched_setaffinity,sched_setaffinity@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_append,inet6_option_append@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver futimens,futimens@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver renameat,renameat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wmemset_chk,__wmemset_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_get_val,inet6_opt_get_val@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver unshare,unshare@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vsscanf,__isoc99_vsscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver signalfd,signalfd@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_next,inet6_option_next@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_add,inet6_rth_add@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver semtimedop,semtimedop@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver utimensat,utimensat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_segments,inet6_rth_segments@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pread_chk,__pread_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __syslog_chk,__syslog_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver eventfd,eventfd@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fgets_unlocked_chk,__fgets_unlocked_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __getcwd_chk,__getcwd_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver fchmodat,fchmodat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver dup3,dup3@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vprintf_chk,__vprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fprintf_chk,__fprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wmemcpy_chk,__wmemcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_wscanf,__isoc99_wscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcscpy_chk,__wcscpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_fscanf,__isoc99_fscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __mbstowcs_chk,__mbstowcs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __dprintf_chk,__dprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wmempcpy_chk,__wmempcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver symlinkat,symlinkat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __memmove_chk,__memmove_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __getwd_chk,__getwd_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vsnprintf_chk,__vsnprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mkostemp64,mkostemp64@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver eventfd_read,eventfd_read@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver remap_file_pages,remap_file_pages@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vswscanf,__isoc99_vswscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver fdopendir,fdopendir@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __openat_2,__openat_2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fgets_chk,__fgets_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __strncpy_chk,__strncpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __sched_cpucount,__sched_cpucount@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __mbsrtowcs_chk,__mbsrtowcs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcscat_chk,__wcscat_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_space,inet6_option_space@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver sched_getaffinity,sched_getaffinity@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __open_2,__open_2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver fchownat,fchownat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver timerfd_settime,timerfd_settime@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver sched_getcpu,sched_getcpu@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __getgroups_chk,__getgroups_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_init,inet6_opt_init@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __snprintf_chk,__snprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mkdirat,mkdirat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __memset_chk,__memset_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __strncat_chk,__strncat_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_space,inet6_rth_space@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __recv_chk,__recv_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_reverse,inet6_rth_reverse@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __realpath_chk,__realpath_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver qsort_r,qsort_r@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __obstack_printf_chk,__obstack_printf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_rth_getaddr,inet6_rth_getaddr@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver splice,splice@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver eventfd_write,eventfd_write@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver vmsplice,vmsplice@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver getsourcefilter,getsourcefilter@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vwscanf,__isoc99_vwscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver epoll_ctl,epoll_ctl@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver gnu_dev_minor,gnu_dev_minor@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __memcpy_chk,__memcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vfscanf,__isoc99_vfscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __stpncpy_chk,__stpncpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_find,inet6_opt_find@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __mbsnrtowcs_chk,__mbsnrtowcs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver strerror_l,strerror_l@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __fread_chk,__fread_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcsnrtombs_chk,__wcsnrtombs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wprintf_chk,__wprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver epoll_create1,epoll_create1@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vfprintf_chk,__vfprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vsyslog_chk,__vsyslog_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inotify_add_watch,inotify_add_watch@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcrtomb_chk,__wcrtomb_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver epoll_pwait,epoll_pwait@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __strcpy_chk,__strcpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vdprintf_chk,__vdprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __vasprintf_chk,__vasprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __xpg_strerror_r,__xpg_strerror_r@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcpncpy_chk,__wcpncpy_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_init,inet6_option_init@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wmemmove_chk,__wmemmove_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __sprintf_chk,__sprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver futimesat,futimesat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pread64_chk,__pread64_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver strptime_l,strptime_l@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver lchmod,lchmod@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __chk_fail,__chk_fail@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_vscanf,__isoc99_vscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __wcsrtombs_chk,__wcsrtombs_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pipe2,pipe2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __strcat_chk,__strcat_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver faccessat,faccessat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __asprintf_chk,__asprintf_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ppoll,ppoll@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __recvfrom_chk,__recvfrom_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_opt_set_val,inet6_opt_set_val@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __ptsname_r_chk,__ptsname_r_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __isoc99_fwscanf,__isoc99_fwscanf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __gets_chk,__gets_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver gnu_dev_makedev,gnu_dev_makedev@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __xmknodat,__xmknodat@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver inet6_option_find,inet6_option_find@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __ttyname_r_chk,__ttyname_r_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __readlinkat_chk,__readlinkat_chk@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver dlinfo,dlinfo@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver dladdr1,dladdr1@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver dlmopen,dlmopen@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_getprotocol,pthread_mutexattr_getprotocol@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutex_setprioceiling,pthread_mutex_setprioceiling@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_setprioceiling,pthread_mutexattr_setprioceiling@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pthread_unregister_cancel_restore,__pthread_unregister_cancel_restore@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_attr_setaffinity_np,pthread_attr_setaffinity_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pthread_cleanup_routine,__pthread_cleanup_routine@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_condattr_getclock,pthread_condattr_getclock@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pthread_register_cancel_defer,__pthread_register_cancel_defer@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __pthread_unwind_next,__pthread_unwind_next@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_timedjoin_np,pthread_timedjoin_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_setaffinity_np,pthread_setaffinity_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutex_getprioceiling,pthread_mutex_getprioceiling@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_getprioceiling,pthread_mutexattr_getprioceiling@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_attr_getaffinity_np,pthread_attr_getaffinity_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_barrierattr_getpshared,pthread_barrierattr_getpshared@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_condattr_setclock,pthread_condattr_setclock@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_tryjoin_np,pthread_tryjoin_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_setschedprio,pthread_setschedprio@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_getaffinity_np,pthread_getaffinity_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_setrobust_np,pthread_mutexattr_setrobust_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_getrobust_np,pthread_mutexattr_getrobust_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutexattr_setprotocol,pthread_mutexattr_setprotocol@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver pthread_mutex_consistent_np,pthread_mutex_consistent_np@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_put16,ns_put16@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_initparse,ns_initparse@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __p_rcode,__p_rcode@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_msg_getflag,ns_msg_getflag@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_pack,ns_name_pack@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_skiprr,ns_skiprr@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_get32,ns_get32@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_makecanon,ns_makecanon@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_parse_ttl,ns_parse_ttl@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_datetosecs,ns_datetosecs@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_put32,ns_put32@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_format_ttl,ns_format_ttl@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_rollback,ns_name_rollback@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_subdomain,ns_subdomain@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_samedomain,ns_samedomain@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_pton,ns_name_pton@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_parserr,ns_parserr@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_uncompress,ns_name_uncompress@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_unpack,ns_name_unpack@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_skip,ns_name_skip@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_sprintrrf,ns_sprintrrf@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_compress,ns_name_compress@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_ntol,ns_name_ntol@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_name_ntop,ns_name_ntop@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_samename,ns_samename@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver ns_get16,ns_get16@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_timedreceive,mq_timedreceive@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_timedsend,mq_timedsend@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_setattr,mq_setattr@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_send,mq_send@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_unlink,mq_unlink@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver __mq_open_2,__mq_open_2@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_notify,mq_notify@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_receive,mq_receive@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_close,mq_close@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver mq_getattr,mq_getattr@GLIBC_DONT_USE_THIS_SYMBOL");
+__asm__(".symver td_thr_tlsbase,td_thr_tlsbase@GLIBC_DONT_USE_THIS_SYMBOL");
diff --git a/tools/apbuild/ctype.h b/tools/apbuild/ctype.h
index 2db84cc1..ee93b991 100644
--- a/tools/apbuild/ctype.h
+++ b/tools/apbuild/ctype.h
@@ -76,9 +76,15 @@ extern __const unsigned short int *__ctype_b; /* Characteristics. */
extern __const __int32_t *__ctype_tolower; /* Case conversions. */
extern __const __int32_t *__ctype_toupper; /* Case conversions. */
+#if __x86_64__
+__asm__(".symver __ctype_b,__ctype_b@GLIBC_2.2.5");
+__asm__(".symver __ctype_tolower,__ctype_tolower@GLIBC_2.2.5");
+__asm__(".symver __ctype_toupper,__ctype_toupper@GLIBC_2.2.5");
+#else
__asm__(".symver __ctype_b,__ctype_b@GLIBC_2.0");
-__asm__(".symver __ctype_tolower,__ctype_tolower@GLIBC_2.0");
-__asm__(".symver __ctype_toupper,__ctype_toupper@GLIBC_2.0");
+__asm__(".symver __ctype_tolower,__ctype_tolower@GLIBC_2.2.5");
+__asm__(".symver __ctype_toupper,__ctype_toupper@GLIBC_2.2.5");
+#endif
#define __isctype(c, type) \
(__ctype_b[(int) (c)] & (unsigned short int) type)
diff --git a/tools/packages/arch.sh b/tools/packages/arch.sh
new file mode 100755
index 00000000..ce171a67
--- /dev/null
+++ b/tools/packages/arch.sh
@@ -0,0 +1,49 @@
+#!/bin/sh
+
+PWD=`pwd`
+VERSION=`cat PORTABLE_VERSION | perl -ne 'chomp and print'`
+ARCH_VERSION=`cat PORTABLE_VERSION | perl -ne 'chomp and print' | sed 's/-//'`
+BUILD=`cat PORTABLE_BUILD | perl -ne 'chomp and print'`
+ARCH=`uname -m | perl -ne 'chomp and print'`
+INDIR=$PWD/static/$ARCH/deadbeef-$VERSION
+TEMPDIR=$PWD/package_temp/$ARCH/arch-$VERSION
+PKGINFO=$TEMPDIR/.PKGINFO
+INSTALL=$TEMPDIR/.INSTALL
+OUTDIR=$PWD/package_out/$ARCH/arch
+
+# make dirs
+mkdir -p $TEMPDIR
+mkdir -p $OUTDIR
+
+# copy files
+cp -r $INDIR/* $TEMPDIR/
+# rm unneeded files
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.la
+for i in $TEMPDIR/opt/deadbeef/lib/deadbeef/*.so.0.0.0; do
+ n=$TEMPDIR/opt/deadbeef/lib/deadbeef/`basename $i .0.0.0`
+ mv $i $n
+ strip --strip-unneeded $n
+done
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.so.*
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.a
+
+# move icons and other shit to /usr
+mkdir -p $TEMPDIR/usr/share/
+mv $TEMPDIR/opt/deadbeef/share/applications $TEMPDIR/usr/share/
+sed -i 's/Exec=deadbeef/Exec=\/opt\/deadbeef\/bin\/deadbeef/g' $TEMPDIR/usr/share/applications/deadbeef.desktop
+mv $TEMPDIR/opt/deadbeef/share/icons $TEMPDIR/usr/share/
+
+# generate .PKGINFO
+echo "# `date -u`" >$PKGINFO
+echo "pkgver = $ARCH_VERSION-$BUILD" >>$PKGINFO
+echo "builddate = `date --utc +%s`" >>$PKGINFO
+echo "size = `du -sb $TEMPDIR | awk '{print $1}'`" >>$PKGINFO
+echo "arch = $ARCH" >>$PKGINFO
+cat tools/packages/arch_pkginfo >>$PKGINFO
+
+# generate .INSTALL
+cp tools/packages/arch_install $INSTALL
+
+# archive
+cd $TEMPDIR
+fakeroot -- tar Jcvf $OUTDIR/deadbeef-static-$ARCH_VERSION-$BUILD-$ARCH.pkg.tar.xz * .PKGINFO .INSTALL
diff --git a/tools/packages/arch_install b/tools/packages/arch_install
new file mode 100644
index 00000000..2c5696c8
--- /dev/null
+++ b/tools/packages/arch_install
@@ -0,0 +1,14 @@
+pkgname=deadbeef-static
+
+post_install() {
+ gtk-update-icon-cache -q -t -f usr/share/icons/hicolor
+ update-desktop-database -q
+}
+
+post_upgrade() {
+ post_install
+}
+
+post_remove() {
+ post_install
+}
diff --git a/tools/packages/arch_pkginfo b/tools/packages/arch_pkginfo
new file mode 100644
index 00000000..17d1c0f9
--- /dev/null
+++ b/tools/packages/arch_pkginfo
@@ -0,0 +1,11 @@
+pkgname = deadbeef-static
+pkgdesc = An audio player for GNU/Linux based on GTK2.
+url = http://deadbeef.sourceforge.net
+packager = Alexey Yakovenko <waker@users.sf.net>
+license = GPL2
+depend = gtk2
+depend = hicolor-icon-theme
+depend = desktop-file-utils
+optdepend = libx11: for global hotkeys plugin
+optdepend = alsa-lib: for ALSA output
+optdepend = pulseaudio: for PulseAudio output
diff --git a/tools/packages/deb_control b/tools/packages/deb_control
new file mode 100644
index 00000000..390276cb
--- /dev/null
+++ b/tools/packages/deb_control
@@ -0,0 +1,33 @@
+Package: deadbeef
+Maintainer: Alexey Yakovenko <waker@users.sf.net>
+Depends: libasound2 (>> 1.0.16), libc6 (>= 2.7-1), libcairo2 (>= 1.2.4), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), libpango1.0-0 (>= 1.20.3), libx11-6
+Recommends: libpulse0, libdbus-1-3
+Suggests:
+Section: sound
+Priority: optional
+Homepage: http://deadbeef.sourceforge.net/
+Description: ultimate music player for GNU/Linux systems
+ DeaDBeeF (as in 0xDEADBEEF) is an audio player for GNU/Linux systems with X11.
+ .
+ Features:
+ .
+ * mp3, ogg vorbis, flac, ape, wv, wav
+ * ID3v1, ID3v2.2, ID3v2.3, ID3v2.4, APEv2, xing/info tags support
+ * character set detection for non-unicode ID3 tags - supports cp1251
+ and iso8859-1
+ * unicode tags are fully supported as well (both utf8 and ucs2)
+ * cuesheet support for mp3, ogg, flac, ape
+ * autodetection of utf8/cp1251/iso8859-1 charsets in cuesheets
+ * sid and some popular chiptune formats like nsf
+ * tracker modules like mod, s3m, it, xm, etc
+ * HVSC song length database support for sid
+ * gtk2 interface with custom highly speed/memory optimized widgets
+ * no GNOME or KDE dependencies - just gtk2 and several small libraries
+ * minimize to tray, with scrollwheel volume control
+ * drag and drop, both inside of playlist, and from filemanagers and such
+ * control playback from command line (allows global hotkeys using xbindkeys)
+ * seeking works in all supported formats
+ * plugin support; ships with several standard plugins, such as global hotkeys
+ and last.fm scrobbler; sdk is included
+ * duration calculation is as precise as possible for vbr mp3
+ files (with and without xing/info tags)
diff --git a/tools/packages/deb_postinst b/tools/packages/deb_postinst
new file mode 100755
index 00000000..d0d5f4df
--- /dev/null
+++ b/tools/packages/deb_postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+set -e
+# Automatically added by dh_installmenu
+if [ "$1" = "configure" ] && [ -x "`which update-menus 2>/dev/null`" ]; then
+ update-menus
+fi
+# End automatically added section
diff --git a/tools/packages/deb_postrm b/tools/packages/deb_postrm
new file mode 100755
index 00000000..a30dbac6
--- /dev/null
+++ b/tools/packages/deb_postrm
@@ -0,0 +1,5 @@
+#!/bin/sh
+set -e
+# Automatically added by dh_installmenu
+if [ -x "`which update-menus 2>/dev/null`" ]; then update-menus ; fi
+# End automatically added section
diff --git a/tools/packages/debian.sh b/tools/packages/debian.sh
new file mode 100755
index 00000000..90d8acdd
--- /dev/null
+++ b/tools/packages/debian.sh
@@ -0,0 +1,81 @@
+#!/bin/sh
+
+PWD=`pwd`
+VERSION=`cat PORTABLE_VERSION | perl -ne 'chomp and print'`
+DEB_VERSION=`cat PORTABLE_VERSION | perl -ne 'chomp and print' | sed 's/-/~/'`
+BUILD=`cat PORTABLE_BUILD | perl -ne 'chomp and print'`
+ARCH=`uname -m | perl -ne 'chomp and print'`
+INDIR=$PWD/static/$ARCH/deadbeef-$VERSION
+TEMPDIR=$PWD/package_temp/$ARCH/debian-$VERSION
+OUTDIR=$PWD/package_out/$ARCH/debian
+
+if [ "$ARCH" = "i686" ] ; then
+ DEB_ARCH=i386
+elif [ "$ARCH" = "x86_64" ] ; then
+ DEB_ARCH=amd64
+else
+ DEB_ARCH=unknown
+fi
+
+# make dirs
+rm -rf $TEMPDIR
+mkdir -p $TEMPDIR
+mkdir -p $OUTDIR
+
+# copy files
+cp -r $INDIR/* $TEMPDIR/
+# rm unneeded files
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.la
+for i in $TEMPDIR/opt/deadbeef/lib/deadbeef/*.so.0.0.0; do
+ n=$TEMPDIR/opt/deadbeef/lib/deadbeef/`basename $i .0.0.0`
+ mv $i $n
+ strip --strip-unneeded $n
+done
+strip --strip-unneeded $TEMPDIR/opt/deadbeef/bin/deadbeef
+
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.so.*
+rm $TEMPDIR/opt/deadbeef/lib/deadbeef/*.a
+
+# move icons and other shit to /usr
+mkdir -p $TEMPDIR/usr/share/
+mv $TEMPDIR/opt/deadbeef/share/applications $TEMPDIR/usr/share/
+sed -i 's/Exec=deadbeef/Exec=\/opt\/deadbeef\/bin\/deadbeef/g' $TEMPDIR/usr/share/applications/deadbeef.desktop
+mv $TEMPDIR/opt/deadbeef/share/icons $TEMPDIR/usr/share/
+
+# generate debian-binary
+echo "2.0" >$TEMPDIR/debian-binary
+
+# generate control
+echo "Version: $VERSION-$BUILD" >$TEMPDIR/control
+echo "Installed-Size: `du -sb $TEMPDIR | awk '{print int($1/1024)}'`" >>$TEMPDIR/control
+echo "Architecture: $DEB_ARCH" >>$TEMPDIR/control
+cat $PWD/tools/packages/deb_control >>$TEMPDIR/control
+
+# copy postinst and postrm
+cp $PWD/tools/packages/deb_postinst $TEMPDIR/postinst
+cp $PWD/tools/packages/deb_postrm $TEMPDIR/postrm
+
+# generate md5sums
+cd $TEMPDIR
+rm $TEMPDIR/md5sums
+find ./opt -type f | while read i ; do
+ md5sum "$i" | sed 's/\.\///g' >>$TEMPDIR/md5sums
+done
+cd $PWD
+
+# generate shlibs
+pwd
+rm $TEMPDIR/shlibs
+ls $TEMPDIR/opt/deadbeef/lib/deadbeef/*.so | while read i ; do
+echo "`basename $i .so` 0 deadbeef" >>shlibs
+done
+
+# archive control
+cd $TEMPDIR
+fakeroot -- tar zcvf ./control.tar.gz ./control ./md5sums ./postrm ./postinst ./shlibs
+# archive data
+fakeroot -- tar zcvf ./data.tar.gz ./opt ./usr
+
+# make final archive
+fakeroot -- ar cr $OUTDIR/deadbeef_${DEB_VERSION}-${BUILD}_$DEB_ARCH.deb debian-binary control.tar.gz data.tar.gz
+