Commit Graph

89 Commits

Author SHA1 Message Date
Mingli Yu
4ac36e4b08 base-files: Make PATH retain the existing value
We may set the PATH variable such as in /etc/environment for ssh session,
so make PATH retain the previous existing value to fix the gap.

(From OE-Core rev: 4340cd7da25c69424915f29c2bb9531fc33617e6)

Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-24 11:47:23 +01:00
Yi Zhao
8e71408829 base-files: add gshadow entry in nsswitch.conf
We encountered a newgrp regression in shadow 4.17.3:
  root@qemux86-64:~# groupadd g1
  root@qemux86-64:~# useradd t1
  root@qemux86-64:~# gpasswd g1
  Changing the password for group g1
  New Password:
  Re-enter new password:
  root@qemux86-64:~# sudo -u t1 newgrp g1
  Password:
  Invalid password.
  root@qemux86-64:~#

In versions prior to shadow 4.17.3, shadow used an internal
implementation to support shadow group because it could not correctly
detect whether glibc supports shadow group in a cross-compilation
environment. In 4.17.3, it can correctly check whether glibc supports
shadow group even in a cross-compilation environment[1]. If supported,
shadow will use it instead of its own internal implementation.
Shadow group support in glibc requires adding a gshadow entry in
nsswitch.conf.

After the patch:
  root@qemux86-64:~# groupadd g1
  root@qemux86-64:~# useradd t1
  root@qemux86-64:~# gpasswd g1
  Changing the password for group g1
  New Password:
  Re-enter new password:
  root@qemux86-64:~# sudo -u t1 newgrp g1
  Password:
  t1@qemux86-64:/home/root$

[1] da6b9cff02

(From OE-Core rev: 0cb122f17cf264ef904880351db1c0bb325fe5a6)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-04-08 15:49:17 +01:00
Marek Vasut
bc5d66e793 base-files: Drop /bin/sh dependency
Remove /bin/sh from bash RPROVIDES as this has a side-effect which
confuses rpm package manager when also busybox provides /bin/sh and
base-files depend on /bin/sh . The problem is broken down below.

First, bash depends on base-files and bash pkg_postinst must run
after base-files was installed, because it requires /etc/shells
provided by base-files to be in place.

Second, base-files depends on /bin/sh, which is provided by either
bash or busybox in this case. This is the actual problem here, if
bash is selected as /bin/sh provider, then there is cyclic dependency
between bash and base-files, and that confuses dnf which may install
the packages in the wrong order, bash first and base-files second .

To make this worse, if busybox is also /bin/sh provider, it can and
does happen that some systems pick busybox as the /bin/sh provider,
while others pick bash as the /bin/sh provider, and that cyclic
dependency does not always appear.

Attempt to break this dependency, remove pre-inst script from the
base-files recipe, which removes its dependency on /bin/sh and
allows it to be installed very early, and always before bash.

(From OE-Core rev: e71b64a9b22c7db316e92e78a4bce8b9f994a4ae)

Signed-off-by: Marek Vasut <marex@denx.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2025-01-27 15:47:09 +00:00
Changqing Li
2f46b6f27d bitbake.conf: drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead
* Drop VOLATILE_TMP_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
FILESYSTEM_PERMS_TABLES ?=  "files/fs-perms.txt \
                             files/fs-perms-volatile-log.txt \
                             files/fs-perms-volatile-tmp.txt"
it contains 'files/fs-perms-volatile-tmp.txt', which means volatile tmp
is enabled. User can disable volatile tmp by remove
'files/fs-perms-volatile-tmp.txt' from FILESYSTEM_PERMS_TABLES.
* If volatile tmp is disabled, both /tmp and /var/tmp are persistent

(From OE-Core rev: 8d1ae67b89c45f78162e070228086c7ef88c3264)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Changqing Li
2f8806deb7 bitbake.conf: drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead
Drop VOLATILE_LOG_DIR, use FILESYSTEM_PERMS_TABLES instead. By default,
it contains 'files/fs-perms-volatile-log.txt', which means volatile log
is enabled. User can disable volatile log by remove
'files/fs-perms-volatile-log.txt' from FILESYSTEM_PERMS_TABLES.

(From OE-Core rev: 91128c6517066715f2afe6b46aa3206c7cf3653e)

Signed-off-by: Changqing Li <changqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-08-28 09:14:26 +01:00
Felix Nilsson
4b62fa0f52 base-files: profile: fix error sh: 1: unknown operand
Handle errors when SHLVL isn't set.

(From OE-Core rev: 5df53fcfe3b70a5312fced3fcc1ba6290f2ee794)

Signed-off-by: Felix Nilsson <felixn@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-22 10:21:26 +01:00
Richard Purdie
d6ae8d2004 recipes: Switch away from S = WORKDIR
Where recipes use S = ${WORKDIR}, change them to set UNPACKDIR to
a subdir of WORKDIR and make S point at this instead.

I've chosen not to force S into any standard UNPACKDIR we may pick in
future just so the S = UNPACKDIR case is clearly visible by the
directory naming under WORKDIR as that should aid usability.

(From OE-Core rev: d9328e3b0b062f0621de3d114584b44f384a1c02)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-21 12:08:04 +01:00
Richard Purdie
3288587aeb recipes: Update S = WORKDIR recipes to use ${S} correctly
Where recipes use S = ${WORKDIR}, ensure they are referencing ${S} correctly
to access files as soon we want to stop doing this in WORKDIR at which point
they would break unless corrected.

(From OE-Core rev: f25dd633fffe6560f191526d1869e657e129bad9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2024-05-02 15:15:51 +01:00
Eero Aaltonen
6f30e3586e base-files, systemd: add nss-resolve plugin
Add nss-resolve plugin to the glibc Name Service Switch (NSS) with
systemd-resolved DISTRO_FEATURE so that systemd-resolved is used in DNS
name resolution.

This enables the resolution of Multicast DNS and Link-Local Multicast
Name Resolution names, depending on the selected options.

(From OE-Core rev: 81da1d6eecee9fd036121298abba6fdcffc3969d)

Signed-off-by: Eero Aaltonen <eero.aaltonen@vaisala.com>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-23 10:49:19 +01:00
Jörg Sommer
6f18993c84 base-files: Remove localhost ::1 from hosts if ipv6 missing
If a distribution doesn't provide IPv6, the mapping of localhost and ::1 has
to be removed.

(From OE-Core rev: c3d9cff06f383528884bfb5c4f8a6a6cb023977a)

Signed-off-by: Jörg Sommer <joerg.sommer@navimatix.de>
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-19 13:38:57 +01:00
Johannes Schneider
13ac9ece3b base-files: profile: allow profile.d to set EDITOR
With a profile.d configuration in place that sets the EDITOR variable,
the automatic terminal 'resize' logic would not trigger. Which then
would possibly lead to a 80x24 fallback on the debug serial console.

This can simply be avoided by setting a flag variable when the shell
is first opened, then processing all profile.d includes, trigger the
'resize' depending on the flag and shell-level and finally only set
EDITOR to some default if it is still unset.

(From OE-Core rev: dcdb30c83eb77fb2d5ea04f9b7fd7371da633a34)

Signed-off-by: Johannes Schneider <johannes.schneider@leica-geosystems.com>
Signed-off-by: Luca Ceresoli <luca.ceresoli@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-10-19 13:38:57 +01:00
Richard Purdie
1b94ea8b25 recipes: Drop remaining PR values from recipes
We've been removing PR values from recipes at upgrade time for a while. In general
anyone maintaining a binary distro would end up having to curate these themselves
so the values in OE-Core aren't really that useful anymore. In many ways it makes
sense to clear out the remaining ones (which are mostly for 'config' recipes that
are unlikely to increase in PV) and leave a clean slate for anyone implementing
a binary distro config.

References are left in meta-selftest since the tests there do involve them and
their removal upon upgrade.

(From OE-Core rev: d4c346e8ab8f3cae25d1b01c7331ed9f6d4f96ef)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-09-22 07:45:17 +01:00
Alexandre Belloni
f09444ffd1 base-files: bump PR because conf files are now sorted
(From OE-Core rev: 5da3a7a5654ce36bba664c5ccdd5d3fba27a4647)

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-08-09 12:44:52 +01:00
Richard Purdie
f84c07deeb base-files: Drop localhost.localdomain from hosts file
This was likely something we took inspiration from elsewhere with.
It was added in:

https://git.openembedded.org/openembedded/commit/packages/netbase/netbase/hosts?id=c8e5702127e507e82e6f68a4b8c546803accea9d

in 2005. Debian added this entry around 2004 and discussed and dropped
it in 2005:

https://lists.debian.org/debian-devel/2005/10/msg00559.html

resulting in:

3c15ee521b

We should drop this for some of the reasons in those threads,
it doesn't seem to be doing anything too helpful and isn't what most
applications expect.

(From OE-Core rev: e730d005fa8aec07f9ae25c58d4566eaa92a6997)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2023-03-14 07:17:47 +00:00
Richard Purdie
b0130fcf91 meta/meta-selftest/meta-skeleton: Update LICENSE variable to use SPDX license identifiers
An automated conversion using scripts/contrib/convert-spdx-licenses.py to
convert to use the standard SPDX license identifiers. Two recipes in meta-selftest
were not converted as they're that way specifically for testing. A change in
linux-firmware was also skipped and may need a more manual tweak.

(From OE-Core rev: ceda3238cdbf1beb216ae9ddb242470d5dfc25e0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2022-02-20 16:45:25 +00:00
Peter Kjellerstedt
16b2acfff2 base-files: Ignore the empty-dirs QA error due to files in /var/volatile
(From OE-Core rev: f33f3f1d3800fe4a1fe47f2ae1056d1ac2b0c2a5)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-11-01 10:41:18 +00:00
Richard Purdie
bb6ddc3691 Convert to new override syntax
This is the result of automated script conversion:

scripts/contrib/convert-overrides.py <oe-core directory>

converting the metadata to use ":" as the override character instead of "_".

(From OE-Core rev: 42344347be29f0997cc2f7636d9603b1fe1875ae)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-08-02 15:44:10 +01:00
Jason Wessel
017cdf751d base-files/profile: Add universal resize function
Using an editor or any kind of command line that wraps beyond the
column width of the session on a serial port is quite problematic
unless you are using an 80x24 session.

The original /etc/profile tried to use the resize binary if it was
available.  The problem is that you only get the resize binary if
xterm, or busybox is installed.

This updated /etc/profile will add a resize function available to the
shell when no xterm or busybox resize binary is found.  More care is
taken in this new version to test that terminal is interactive.  The
EDITOR and SHLVL environment variables are checked to prevent resize
from running necessarily.

The function definitions are not indented intentionally to keep them
to the 80 column width.

(From OE-Core rev: 3743892996172c8595a1cbe884c4a0e6ef50dcda)

Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-11-08 14:03:20 +00:00
Stefan Agner
73f6b1f68d base-files: set ptmxmode to 666
Make sure that the (newer) /dev/pts/ptmx is accessible by users. This
is useful e.g. when running containers which symlink /dev/ptmx to
/dev/pts/ptmx on start. The default mode (000) does not allow to
create ptys inside the container.

Using 666 when symlinking /dev/ptmx is also recommended by the kernel
documentation when /dev/ptmx is symlinked:
https://www.kernel.org/doc/Documentation/filesystems/devpts.txt

Also buildroot uses ptmxmode=0666. The patch introducing the change
explains related use cases why this is necessary a bit more in depth:
8196b299ba (diff-2d4604b9e565eb19fa52ce31f282f06c)

(From OE-Core rev: c999bc5ddd9beb5274f77b885e2ac71205e42266)

Signed-off-by: Stefan Agner <stefan.agner@toradex.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-11-27 13:25:18 +00:00
Andre McCurdy
f2b682e001 base-files: drop legacy empty file /etc/default/usbd
Doesn't seem to be referenced by anything in oe-core any more.

(From OE-Core rev: 526188096bc37af3140c9210ece92ed94c3bdfe0)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-09-18 12:09:02 +01:00
Andre McCurdy
b054f8d3ba base-files: nsswitch.conf is glibc specific
(From OE-Core rev: e9f751a6fd6a4fc1cfac74202e1b71291aade705)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-08-28 11:31:22 +01:00
Chen Qi
78ac62b44a base-files: move hostname operations out of issue file settings
The function do_install_basefilesissue is meant to deal with
/etc/issue* files and the following setting could actually be
overridden.

  BASEFILESISSUEINSTALL ?= "do_install_basefilesissue"

So move the hostname operations out of this function.

(From OE-Core rev: f17bcc46341db5ee91bb26389ccaebc68c49b97e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-04-23 23:30:20 +01:00
Jonas Bonn
c59baed3a8 base-files: filesystems serves no real purpose
mount can generally figure out the filesystem type from the superblock;
otherwise, /proc/filesystems is a more correct fallback than
/etc/filesystems and presumably always available.

(From OE-Core rev: 4199676383ce50b81c05a4d2b2610c9cdb49342e)

Signed-off-by: Jonas Bonn <jonas@norrbonn.se>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-31 23:23:27 +00:00
Peter Kjellerstedt
e21c1e52a5 base-files: Avoid problems if DISTRO_VERSION contains undefined variable
If DISTRO_VERSION is defined to some undefined variable, e.g.,
DISTRO_VERSION = "${FOO_VERSION}", and /bin/sh is dash, then
do_install() would fail with an error such as:

  run.do_install.2945:193: run.do_install.2945: Syntax error:
  Unterminated quoted string

This was due to unexpanded Python code making it into the shell code,
confusing the shell parser.

Reported-by: srinivasan <srinivasan.rns@gmail.com>
(From OE-Core rev: fdd0b9e26ef11fa287692848ea3add64ba623433)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-21 23:44:22 +00:00
Chen Qi
53cebfdfcc netbase/base-files: move /etc/hosts from netbase to base-files
Move /etc/hosts to base-files, and also add entry to it according
to hostname setting. This fixes the problem of commands like
`hostname -f' failing due to lack of such entry.

(From OE-Core rev: 31e6d08f20a804fccb958e19045d8f9e9806071a)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2019-01-11 10:39:08 +00:00
Dan McGregor
41081ca0ee base-files: change permissions on /sys and /proc
The kernel mounts /proc and /sys with the mode 555. Fedora explicitly
sets this value in its filesystem setup package. Debian doesn't seem
to set it explictly.  Having them be 755 causes permission issues on
upgrades inside a container where the guest does not have the
permission to change the modes of the mount points.

So, just bite the bullet and force them to be 555.

(From OE-Core rev: 7e311b0c7222fa9127a96945c9ded7bee5e40eb3)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-18 23:26:35 +01:00
Chen Qi
96eb506b5b base-files: fix handling of resize
The current handling of resize is incorrect. Using `resize > /dev/null
2>&1 && resize > /dev/null' will cause the second resize command to not
execute because 'resize > /dev/null 2>&1' will fail for resize utility
from busybox.

What we really should do is just to check whether ${bindir}/resize
is executable and execute it if so. Using '-x' is sufficient.

(From OE-Core rev: 41688279cba3a5afc4fdc65fd245b9bb6ada695e)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-14 11:36:31 +01:00
Peter Kjellerstedt
543dd8e171 base-files: profile: Avoid using "command" to determine if programs exist
Since the existence of "command" in itself is not guaranteed, using it
to determine if other executables exist is moot. Instead just run the
executables and let the shell determine if they exist. By piping stderr
to /dev/null we avoid unnecessary warnings in case they do not exist.

(From OE-Core rev: ba8510deb73e07f17be051fa15a91731ec10382f)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:40 +01:00
Chen Qi
a2ec15f20c base-files: respect VOLATILE_LOG_DIR
Respect VOLATILE_LOG_DIR variable. In this way, if the user overrides
this variable to be any valid boolean false value, /var/log on the final
image would reside on persistent storage.

[YOCTO #6132]

(From OE-Core rev: fc19114ca409fc3178ae5cbb44db875b12eeedfc)

Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-18 10:40:26 +01:00
Patrick Ohly
b066632e2e base-files: ignore "mesg n" error messages
When using "su - myuser" to change from root to a non-privileged user,
"mesg n" from the default .profile fails with "mesg: error: tty device
is not owned by group `tty' or "mesg: cannot open /dev/ttyS0:
Permission denied", depending on whether mesg comes from busybox or
util-linux.

This does not happen during a normal login because permissions on
/dev/tty* get changed while doing that, something that isn't possible
with plain "su -".

As the error can't be avoided and failures of mesg probably aren't
particularly important, now error messages get dumped to /dev/null.

[YOCTO #11127]

(From OE-Core rev: 4511a524f906c97db7c7674ad34e7bc8630649e3)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-17 14:01:39 +01:00
Peter Kjellerstedt
8033fd4ad1 base-files: profile: Simplify setting variables conditionally
It is preferred to use `[ "$FOO" ] || ...` instead of
`[ -z "$FOO" ] && ...` as the latter leaves $? set to 1.

(From OE-Core rev: d76c68505c36dbf383a989f3c2458abc765e2c19)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-16 14:08:28 +01:00
Peter Kjellerstedt
16b822509a base-files: profile: Do not assume that the tty command exists
This avoids the following error when logging in to a host that does
not have the tty command:

-sh: tty: not found

Reported-by: Cristian Ionescu-Idbohrn <cristian.ionescu-idbohrn@axis.com>
(From OE-Core rev: e77cdb761169e404556487ac650dc562000da406)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:42 +01:00
Peter Kjellerstedt
227ec4809d base-files: profile: Whitespace clean up
(From OE-Core rev: 479a6202236832367bb48e4e089a6d99818685e5)

Signed-off-by: Peter Kjellerstedt <peter.kjellerstedt@axis.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-10 23:00:42 +01:00
Daniel Díaz
63c605b841 base-files: resize only serial tty's in profile
We don't want to run resize on non serial consoles. There's
been an earlier attempt (6557787), so this builds upon that.

The problem we're seeing is that if there is text buffered in
the virtual console (like from a desperate user trying to
enter login details), resize will get stuck while calling
  ioctl(tty, TCSETAW);

Since serial consoles are named (not just numbered), this
change limits resize's reach even further to run only on
/dev/tty[A-z] (thus avoiding /dev/tty[0-9]).

(From OE-Core rev: 474ef7c95722aa68ee5dfbae2920d7c3d436d717)

Signed-off-by: Daniel Díaz <daniel.diaz@linaro.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01 08:14:58 +01:00
Amarnath Valluri
80c3ce22bd base-files: Replace hardcoded root paths with appropriate bitbake variables
/bin, /sbin, /lib are replaced with ${base_bindir}, ${base_sbindir} and
${base_libdir}.

(From OE-Core rev: 9b490e61938e06fda881b2213565c4de1f740f98)

Signed-off-by: Amarnath Valluri <amarnath.valluri@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-24 23:43:32 +00:00
Alexander Kanavin
cd06d24525 base-files: do not write the current date into /etc/issue and /etc/issue.net
This is causing a problem in multilib where base-files and lib64/32-base-files
clash because they may have different dates. Also, if the package is coming
from sstate it has an incorrect date anyway.

(From OE-Core rev: 846c86ffc4574feafd89a028e50f7719075633f2)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-11 16:09:14 +00:00
Joshua Lock
c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Richard Tollerton
b7b2e34871 base-files: fix profile error under < /dev/null
Previous attempts to constrain execution of `resize` to only TTYs did
not properly handle situations when `tty` would return the string "not a
tty". The symptom is "/etc/profile: line 34: test: too many arguments".
Fix this by utilizing the exit code of `tty`. Also use `case` instead of
`cut` to eliminate a subshell.

(From OE-Core rev: e67637e4472ff3a1e2801b84ee3d69d4e14b9efc)

Signed-off-by: Richard Tollerton <rich.tollerton@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:42 +01:00
Andre McCurdy
dea70975dc base-files: don't export TZ="UTC" from /etc/profile
If no /etc/localtime (or /etc/TZ for uclibc) is found, then the libc
will default to UTC, so setting UTC as a fallback default via the TZ
environment variable is redundant.

Since having the TZ environment variable set causes /etc/localtime
to be ignored, it can cause confusion if /etc/localtime is added
interactively after /etc/profile has been run.

(From OE-Core rev: 98b6420952cbf73ddd1318f36c68d575c330eb71)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-05 10:10:10 +01:00
Jussi Kukkonen
1100af93cb base-files: Add shell test quoting
tty can return "not a tt" which results in warnings when /etc/profile
is executed.

(From OE-Core rev: eed586dd238efe859442b21b425f04e262bcdb2b)

Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03 23:45:52 +01:00
bavery
5aca5bc9a1 base-files: restrict resize to run on serial consoles only in profile │·
We don't need/wan't to run resize on an ssh connection. It's useless and
it breaks the Eclipse SSH debug connection. So, we added a check.

YOCTO #9362

(From OE-Core rev: 655778769f50d3aff74d7a436d28ac31b6aebb11)

Signed-off-by: bavery <brian.avery@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10 10:46:34 +01:00
Peter Kjellerstedt
40d19d9208 base-files: Use SYSROOT_DIRS to add dirs to stage in sysroot
(From OE-Core rev: 94196ee196aafca7e8e5a553e54e9437b5e11990)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:27 +01:00
Diego Rondini
0aba7d5d36 base-files: add some safety checks in profile
Add some safety checks when sourcing files in /etc/profile.d/, in particular:
- source only *.sh files, not every file. This is the practice in use in both
  Fedora and Debian/Ubuntu (see
  https://help.ubuntu.com/community/EnvironmentVariables#A.2Fetc.2Fprofile.d.2F.2A.sh);
- check the input is actually a file and is readable. This check is especially
  important if profile.d is empty, as "*.sh" will get expanded only if
  profile.d is not empty. Previously if profile.d was present but empty,
  "/etc/profile.d/*" was sourced causing errors on login and breaking stuff, for
  example X startup.

(From OE-Core rev: 8961bc4b71723477a3b4a837a1d9c25c1b860b9e)

Signed-off-by: Diego Rondini <diego.ml@zoho.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-11 10:33:38 +01:00
Joseph A. Lutz
c44599d71b readline: move inputrc into readline
inputrc is the global configuration file for the readline library.

(From OE-Core rev: 619d15b9a2c53eb8496c807f0f229f5cb192e9d7)

Signed-off-by: Joseph A. Lutz <joseph.lutz@novatechweb.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-07 13:40:19 +00:00
Ioan-Adrian Ratiu
9163a5d02d base-files: stage /etc/skel
Having skel in the staging area lets other recipes access these files.
For ex. recipes inheriting useradd, if passing "-m" to USERADD_PARAM,
.bashrc and .profile are put automatically in $HOME, as expected.

(From OE-Core rev: 784f4c80204a09b85b7e83c9bd91cd48f001384f)

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu@ni.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 08:08:07 +00:00
Andreas Oberritter
26fcfbbfc1 base-files: Remove /proc/bus/usb from fstab.
The usb filesystem was removed in Linux 3.5.

(From OE-Core rev: c24f0fa366cd96a1d67564dd760b0640fa9f7b13)

Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-15 22:08:03 +01:00
Bryan Evenson
6f03a8d7ae base-files: Check for /run and /var/lock softlinks on upgrade
Commit ea647cd9ee moved the locations
of /run and /var/lock to match the FHS 3 draft specifications.
However, the install doesn't remove the existing directories.
As a result, upgrading a system may result in /run as a softlink
to /var/run and /var/run as a softlink to /run, creating a circular
link.

During pre-install, check for the existence of the old softlinks and
remove them so the new directories can be installed.

(From OE-Core rev: 272805f064848f14306b1ed2648a7760017ee318)

Signed-off-by: Bryan Evenson <bevenson@melinkcorp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-20 15:03:06 +01:00
Ross Burton
0e04c93bae base-files: clean up and clarify hostname logic
Change the hostname logic the default value is ${MACHINE}, and explain how to
change it.

(From OE-Core rev: f2588c55fb089371f239dde39efe9d63d8614062)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 17:41:43 +00:00
Paul Gortmaker
1cdaf20570 base-files/profile: change EDITOR to not be busybox specific
Setting "EDITOR=/bin/vi" breaks on non-busybox systems, as
vim will populate /usr/bin/vi instead, and you get stuff like:

  op3:~/poky/meta-builder$ git commit -s
  error: cannot run /bin/vi: No such file or directory
  error: unable to start editor '/bin/vi'
  Please supply the message using either -m or -F option.
  op3:~/poky/meta-builder$ which vi
  /usr/bin/vi
  op3:~/poky/meta-builder$

Since we've already specified a proper path above in the profile,
we've no need to call out where in the path vi lives, and hence
this will work with busybox and a full vim install w/o busybox.

(From OE-Core rev: dcdaa651f3180e4561d7d08f56bfb29f35f2085f)

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-14 08:41:00 +00:00
Jian Liu
535afd4b06 base-files: avoid overwritting editable files during package updating
Use CONFFILES to mark editable files as such,
  /etc/motd
  /etc/nsswitch.conf
  /etc/profile

If there is no %config micro before the file name in the spec file,
this file will be overwritten after updating package.
This will make our settings lost.

(From OE-Core rev: 2ffc174e9506a00081457145f0fcf3bef5846f4a)

Signed-off-by: Jian Liu <jian.liu@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-03 12:23:59 +00:00