Radix cross Linux

The main Radix cross Linux repository contains the build scripts of packages, which have the most complete and common functionality for desktop machines

452 Commits   2 Branches   1 Tag
Index: Makefile
===================================================================
--- Makefile	(nonexistent)
+++ Makefile	(revision 232)
@@ -0,0 +1,56 @@
+
+COMPONENT_TARGETS = $(HARDWARE_NOARCH)
+
+
+include ../../../../build-system/constants.mk
+
+
+url         = $(DOWNLOAD_SERVER)/sources/packages/l/accountsservice
+
+versions    = 23.13.9
+pkgname     = accountsservice
+suffix      = tar.xz
+
+tarballs    = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
+sha1s       = $(addsuffix .sha1sum, $(tarballs))
+
+patches     = $(CURDIR)/patches/accountsservice-23.13.9-cross-wtmp.patch
+
+.NOTPARALLEL: $(patches)
+
+
+BUILD_TARGETS = $(tarballs) $(sha1s) $(patches)
+
+
+include ../../../../build-system/core.mk
+
+
+.PHONY: download_clean
+
+
+$(tarballs):
+	@echo -e "\n======= Downloading source tarballs =======" ; \
+	 for tarball in $(tarballs) ; do \
+	   echo "$(url)/$$tarball" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) - & \
+	 done ; wait
+
+$(sha1s): $(tarballs)
+	@for sha in $@ ; do \
+	   echo -e "\n======= Downloading '$$sha' signature =======\n" ; \
+	   echo "$(url)/$$sha" | xargs -n 1 -P 100 wget $(WGET_OPTIONS) - & wait %1 ; \
+	   touch $$sha ; \
+	   echo -e "\n======= Check the '$$sha' sha1sum =======\n" ; \
+	   sha1sum --check $$sha ; ret="$$?" ; \
+	   if [ "$$ret" == "1" ]; then \
+	     echo -e "\n======= ERROR: Bad '$$sha' sha1sum =======\n" ; \
+	     exit 1 ; \
+	   fi ; \
+	 done
+
+$(patches): $(sha1s)
+	@echo -e "\n======= Create Patches =======\n" ; \
+	 ( cd create-23.13.9-cross-wtmp-patch ; ./create.patch.sh ) ; \
+	 echo -e "\n"
+
+download_clean:
+	@rm -f $(tarballs) $(sha1s) $(patches)
Index: create-23.13.9-cross-wtmp-patch/accountsservice-23.13.9-new/meson.build
===================================================================
--- create-23.13.9-cross-wtmp-patch/accountsservice-23.13.9-new/meson.build	(nonexistent)
+++ create-23.13.9-cross-wtmp-patch/accountsservice-23.13.9-new/meson.build	(revision 232)
@@ -0,0 +1,225 @@
+project(
+  'accountsservice', 'c',
+  version: run_command(['./generate-version.sh'], check: true).stdout().strip(),
+  license: 'GPL3+',
+  default_options: 'buildtype=debugoptimized',
+  meson_version: '>= 0.50.0',
+)
+
+act_name = meson.project_name()
+act_version = meson.project_version()
+
+act_api_version = '1.0'
+act_api_name = '@0@-@1@'.format(act_name, act_api_version)
+
+act_id = 'Act'
+
+act_prefix = get_option('prefix')
+act_datadir = join_paths(act_prefix, get_option('datadir'))
+act_includedir = join_paths(act_prefix, get_option('includedir'))
+act_libexecdir = join_paths(act_prefix, get_option('libexecdir'))
+act_localstatedir = join_paths(act_prefix, get_option('localstatedir'))
+act_sysconfdir = join_paths(act_prefix, get_option('sysconfdir'))
+
+act_pkgincludedir = join_paths(act_includedir, act_api_name)
+
+act_namespace = 'org.freedesktop.Accounts'
+
+act_gettext = 'accounts-service'
+
+soversion = 0
+current = 0
+revision = 0
+libversion = '@0@.@1@.@2@'.format(soversion, current, revision)
+
+act_buildtype = get_option('buildtype')
+
+gnome = import('gnome')
+i18n = import('i18n')
+pkg = import('pkgconfig')
+
+data_dir = join_paths(meson.current_source_dir(), 'data')
+po_dir = join_paths(meson.current_source_dir(), 'po')
+
+top_inc = include_directories('.')
+
+cc = meson.get_compiler('c')
+
+config_h = configuration_data()
+
+# defines
+config_h.set_quoted('VERSION', act_version)
+config_h.set('_DEFAULT_SOURCE', true)
+config_h.set('_GNU_SOURCE', true)
+
+# i18n
+config_h.set_quoted('GETTEXT_PACKAGE', act_gettext)
+
+# headers
+check_headers = [
+  'paths.h',
+  'shadow.h',
+  'utmpx.h',
+]
+
+foreach header: check_headers
+  config_h.set('HAVE_' + header.underscorify().to_upper(), cc.has_header(header))
+endforeach
+
+# functions
+check_functions = [
+  'getusershell',
+  'setutxdb',
+  'fgetpwent',
+]
+
+foreach func: check_functions
+  config_h.set('HAVE_' + func.underscorify().to_upper(), cc.has_function(func))
+endforeach
+
+path_wtmp = '/var/log/wtmp'
+config_h.set('PATH_WTMP', 'WTMPX_FILENAME')
+
+# compiler flags
+common_flags = []
+
+# Only add this when optimizing is enabled
+optimized_src = '''
+  #ifdef __OPTIMIZE__
+  #error No optimization
+  #endif
+'''
+
+act_optimized = act_buildtype.contains('optimized') and cc.compiles(optimized_src)
+message('whether optimization is enabled: ' + act_optimized.to_string())
+if act_optimized
+  common_flags += '-Wp,-D_FORTIFY_SOURCE=2'
+endif
+
+if act_buildtype.contains('debug')
+  common_flags += cc.get_supported_arguments([
+    '-Wcast-align',
+    '-Winit-self',
+    '-Wmissing-declarations',
+    '-Wmissing-prototypes',
+    '-Wnested-externs',
+    '-Wno-deprecated-declarations',
+    '-Wswitch-enum',
+    '-Wunsafe-loop-optimizations',
+    '-Wwrite-strings',
+  ])
+endif
+
+add_project_arguments(common_flags, language: 'c')
+
+# Ensure we have the changes from https://gitlab.gnome.org/GNOME/glib/merge_requests/1286
+# and https://gitlab.gnome.org/GNOME/glib/merge_requests/1342
+glib_min_version = '2.63.5'
+gio_dep = dependency('gio-2.0', version: '>= ' + glib_min_version)
+gio_unix_dep = dependency('gio-unix-2.0')
+glib_dep = dependency('glib-2.0', version: '>= ' + glib_min_version)
+polkit_gobject_dep = dependency('polkit-gobject-1')
+
+# Using libxcrypt >= 4 we can be sure `crypt_gensalt (NULL, 0, NULL, 0)`
+# always returns a setting that is valid to use with `crypt (pw, setting)`.
+#
+# The setting returned will specify (depending on the system's
+# configuration of libxcrypt) in order of preferrence either
+# yescrypt "$y$", (gost-yescrypt "$gy$), bcrypt "$2b$" or sha512crypt "$6$"
+# as hash method, with a sufficient amount of cost or rounds and a random
+# salt drawn from secure system ressources with at least 128 bits.
+# (96 bits for sha512crypt, as more is not supported by this method, since
+# the effectively used maximum is 16 base64-encoded characters)
+crypt_dep = dependency('libxcrypt', required: false, version: '>= 4')
+config_h.set('HAVE_CRYPT_GENSALT', crypt_dep.found())
+if not crypt_dep.found()
+  crypt_dep = cc.find_library('crypt')
+endif
+
+dbus_dep = dependency('dbus-1')
+if dbus_dep.version().version_compare('>=1.9.18')
+  dbus_conf_dir = join_paths(dbus_dep.get_pkgconfig_variable('datadir', define_variable: ['datadir', act_datadir]), 'dbus-1', 'system.d')
+else
+  dbus_conf_dir = join_paths(dbus_dep.get_pkgconfig_variable('sysconfdir', define_variable: ['sysconfdir', act_sysconfdir]), 'dbus-1', 'system.d')
+endif
+dbus_ifaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', act_datadir])
+dbus_sys_dir = dbus_dep.get_pkgconfig_variable('system_bus_services_dir', define_variable: ['datadir', act_datadir])
+
+policy_dir = polkit_gobject_dep.get_pkgconfig_variable('policydir', define_variable: ['prefix', act_prefix])
+
+# FIXME: systemd.pc file does not use variables with relative paths, so `define_variable` cannot be used
+systemd_system_unit_dir = get_option('systemdsystemunitdir')
+install_systemd_unit_dir = (systemd_system_unit_dir != 'no')
+
+if install_systemd_unit_dir and systemd_system_unit_dir == ''
+  systemd_dep = dependency('systemd', required: false)
+  assert(systemd_dep.found(), 'systemd required but not found, please provide a valid systemd user unit dir or disable it')
+  systemd_system_unit_dir = systemd_dep.get_pkgconfig_variable('systemdsystemunitdir')
+endif
+
+# Core configuration
+admin_group = get_option('admin_group')
+if admin_group == ''
+  if run_command('test', '-e', '/etc/debian_version', check: false).returncode() == 0
+    admin_group = 'sudo'
+  # FIXME: this has been left for documentation purposes
+  elif run_command('test', '-e', '/etc/sysconfig/network-scripts', check: false).returncode() == 0
+    admin_group = 'wheel'
+  else
+    admin_group = 'wheel'
+  endif
+endif
+
+extra_admin_groups = ','.join(get_option('extra_admin_groups'))
+
+config_h.set_quoted('ADMIN_GROUP', admin_group)
+config_h.set_quoted('EXTRA_ADMIN_GROUPS', extra_admin_groups)
+
+config_h.set('MINIMUM_UID', get_option('minimum_uid'))
+
+# GDM
+gdm_conf_file = get_option('gdmconffile')
+config_h.set_quoted('PATH_GDM_CUSTOM', gdm_conf_file)
+
+# LightDM
+lightdm_conf_file = get_option('lightdmconffile')
+config_h.set_quoted('PATH_LIGHTDM_CONF', lightdm_conf_file)
+
+if get_option('elogind')
+  logind_dep = dependency('libelogind', version: '>= 229.4')
+else
+  logind_dep = dependency('libsystemd', version: '>= 186')
+endif
+
+subdir('data')
+subdir('src')
+subdir('po')
+
+enable_docbook = get_option('docbook')
+if enable_docbook
+  subdir('doc/dbus')
+endif
+
+if get_option('gtk_doc')
+  subdir('doc/libaccountsservice')
+endif
+
+subdir('tests')
+
+configure_file(
+  output: 'config.h',
+  configuration: config_h,
+)
+
+meson.add_install_script(
+  'meson_post_install.py',
+  act_localstatedir,
+)
+
+output = '\n' + meson.project_name() + ' was configured with the following options:\n'
+output += '** DocBook documentation build: ' + enable_docbook.to_string() + '\n'
+output += '** Administrator group: ' + admin_group + '\n'
+output += '** Extra administrator groups: ' + extra_admin_groups + '\n'
+output += '** GDM configuration: ' + gdm_conf_file + '\n'
+output += '** LightDM configuration: ' + lightdm_conf_file
+message(output)
Index: create-23.13.9-cross-wtmp-patch/create.patch.sh
===================================================================
--- create-23.13.9-cross-wtmp-patch/create.patch.sh	(nonexistent)
+++ create-23.13.9-cross-wtmp-patch/create.patch.sh	(revision 232)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=23.13.9
+
+tar --files-from=file.list -xJvf ../accountsservice-$VERSION.tar.xz
+mv accountsservice-$VERSION accountsservice-$VERSION-orig
+
+cp -rf ./accountsservice-$VERSION-new ./accountsservice-$VERSION
+
+diff --unified -Nr  accountsservice-$VERSION-orig  accountsservice-$VERSION > accountsservice-$VERSION-cross-wtmp.patch
+
+mv accountsservice-$VERSION-cross-wtmp.patch ../patches
+
+rm -rf ./accountsservice-$VERSION
+rm -rf ./accountsservice-$VERSION-orig

Property changes on: create-23.13.9-cross-wtmp-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: create-23.13.9-cross-wtmp-patch/file.list
===================================================================
--- create-23.13.9-cross-wtmp-patch/file.list	(nonexistent)
+++ create-23.13.9-cross-wtmp-patch/file.list	(revision 232)
@@ -0,0 +1 @@
+accountsservice-23.13.9/meson.build
Index: patches/README
===================================================================
--- patches/README	(nonexistent)
+++ patches/README	(revision 232)
@@ -0,0 +1,6 @@
+
+/* begin *
+
+   TODO: Leave some comment here.
+
+ * end */
Index: patches
===================================================================
--- patches	(nonexistent)
+++ patches	(revision 232)

Property changes on: patches
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: .
===================================================================
--- .	(nonexistent)
+++ .	(revision 232)

Property changes on: .
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~