diff --git a/doc/TODO b/doc/TODO index 2e639374a83..0509623b337 100644 --- a/doc/TODO +++ b/doc/TODO @@ -11,7 +11,6 @@ Packages: in a package, to know when update it. * Create /etc/issue. * Create files in /etc/skel for new users. - * Register shells in /etc/shells. xbps-bin: * Add support to handle conf_files and keep_dirs from package metadata. diff --git a/shutils/metadata.sh b/shutils/metadata.sh index 83926f248c0..e0bd8632545 100644 --- a/shutils/metadata.sh +++ b/shutils/metadata.sh @@ -320,6 +320,15 @@ _EOF else rm -f $TMPINFOLIST fi + + # Register the shells into /etc/shells if requested. + if [ -n "${register_shell}" ]; then + triggers="$triggers register-shell" + for f in ${register_shell}; do + echo $f >> $metadir/shells + done + fi + $XBPS_REGPKGDB_CMD sanitize-plist $metadir/files.plist $XBPS_REGPKGDB_CMD sanitize-plist $metadir/props.plist chmod 644 $metadir/* diff --git a/shutils/tmpl_funcs.sh b/shutils/tmpl_funcs.sh index 4eb301abae0..be949db653c 100644 --- a/shutils/tmpl_funcs.sh +++ b/shutils/tmpl_funcs.sh @@ -61,7 +61,7 @@ reset_tmpl_vars() local TMPL_VARS="pkgname distfiles configure_args configure_env \ make_build_args make_install_args build_style \ short_desc maintainer long_desc checksum wrksrc \ - patch_files make_cmd base_chroot \ + patch_files make_cmd base_chroot register_shell \ make_build_target configure_script \ pre_configure pre_build pre_install post_install \ make_install_target version \ diff --git a/templates/bash/template b/templates/bash/template index 611b7f0d522..848a3e8e8d3 100644 --- a/templates/bash/template +++ b/templates/bash/template @@ -22,6 +22,7 @@ long_desc=" modification." base_chroot=yes +register_shell="/bin/bash" Add_dependency run glibc Add_dependency full ncurses diff --git a/templates/dash/template b/templates/dash/template index fee6b27e1b1..65346132415 100644 --- a/templates/dash/template +++ b/templates/dash/template @@ -19,6 +19,7 @@ long_desc=" dash in 2002." base_chroot=yes +register_shell="/bin/sh" Add_dependency run glibc post_install()