Go to file
J William Piggott 3c45559264 [PATCH] hwclock: make glibc 2.31 compatible
______________________________________________________
GNU C Library NEWS -- history of user-visible changes.
Version 2.31
Deprecated and removed features, and other changes affecting compatibility:

* The settimeofday function can still be used to set a system-wide time
  zone when the operating system supports it.  This is because the Linux
  kernel reused the API, on some architectures, to describe a system-wide
  time-zone-like offset between the software clock maintained by the kernel,
  and the "RTC" clock that keeps time when the system is shut down.

  However, to reduce the odds of this offset being set by accident,
  settimeofday can no longer be used to set the time and the offset
  simultaneously.  If both of its two arguments are non-null, the call
  will fail (setting errno to EINVAL).

  Callers attempting to set this offset should also be prepared for the call
  to fail and set errno to ENOSYS; this already happens on the Hurd and on
  some Linux architectures.  The Linux kernel maintainers are discussing a
  more principled replacement for the reused API.  After a replacement
  becomes available, we will change settimeofday to fail with ENOSYS on all
  platforms when its 'tzp' argument is not a null pointer.

  settimeofday itself is obsolescent according to POSIX.  Programs that set
  the system time should use clock_settime and/or the adjtime family of
  functions instead.  We may cease to make settimeofday available to newly
  linked binaries after there is a replacement for Linux's time-zone-like
  offset API.
______________________________________________________

hwclock(8) had one settimeofday(2) call where both args were set for
--hctosys when the RTC was ticking UTC. This allowed setting the system
time, timezone, and locking the warp_clock function with a single call.
That operation now takes 3 calls of settimeofday(2).

Although this common operation now takes three calls, the overall logic
for the set_system_clock() function was simplified.

Co-Author: Karel Zak <kzak@redhat.com>
Signed-off-by: J William Piggott <elseifthen@gmx.com>

Gbp-Pq: Name hwclock-make-glibc-2.31-compatible.patch
2022-05-14 03:14:50 +08:00
Documentation Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
bash-completion Reimplement umount completion to not use gawk's gensub. 2022-05-14 03:14:50 +08:00
config Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
debian Import Debian changes 2.34-ok1 2022-05-14 03:14:32 +08:00
disk-utils Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
include Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
lib Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
libblkid [PATCH] libblkid: (xfs) external log: check for regular xfs on more sectors 2022-05-14 03:14:50 +08:00
libfdisk Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
libmount Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
libsmartcols Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
libuuid Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
login-utils Make sure file systems can be fixed on machines with locked root accounts (as Ubuntu does by default). Don't require --force for sulogin. 2022-05-14 03:14:50 +08:00
m4 Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
misc-utils lsblk: force to print PKNAME for partition 2022-05-14 03:14:50 +08:00
po Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
schedutils Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
sys-utils [PATCH] hwclock: make glibc 2.31 compatible 2022-05-14 03:14:50 +08:00
term-utils Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
tests Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
text-utils Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
tools Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
.tarball-version Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
.version Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
ABOUT-NLS Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
AUTHORS Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
COPYING Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
ChangeLog Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
Makefile.am Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
Makefile.in Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
NEWS Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
README Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
README.licensing Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
aclocal.m4 Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
autogen.sh Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
config.h.in Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
configure Import Upstream version 2.34 2022-05-14 03:14:32 +08:00
configure.ac Import Upstream version 2.34 2022-05-14 03:14:32 +08:00

README

				  util-linux

		util-linux is a random collection of Linux utilities

     Note: for the years 2006-2010 this project was named "util-linux-ng".

MAILING LIST:

      E-MAIL:  util-linux@vger.kernel.org
      URL:     http://vger.kernel.org/vger-lists.html#util-linux
      ARCHIVE: https://lore.kernel.org/util-linux/

      The mailing list will reject email messages that contain:
       - more than 100K characters
       - html
       - spam phrases/keywords
      See: http://vger.kernel.org/majordomo-info.html#taboo

IRC CHANNEL:

      #util-linux at freenode.net:

      irc://chat.freenode.net/util-linux

      The IRC channel and Mailing list are for developers and project
      maintainers. For end users it is recommended to utilize the
      distribution's support system.

BUG REPORTING:

      E-MAIL: util-linux@vger.kernel.org
      Web:    https://github.com/karelzak/util-linux/issues

      This project has no resources to provide support for distribution specific
      issues. For end users it is recommended to utilize the distribution's
      support system.

NLS (PO TRANSLATIONS):

      PO files are maintained by:
	  http://translationproject.org/domain/util-linux.html

VERSION SCHEMA:

      Standard releases:
	  <major>.<minor>[.<maint>]
	     major = fatal and deep changes
	     minor = typical release with new features
	     maint = maintenance releases; bug fixes only

      Development releases:
	 <major>.<minor>-rc<N>

SOURCE CODE:

 Download archive:
	  https://www.kernel.org/pub/linux/utils/util-linux/

 SCM (Source Code Management) Repository:

    Primary repository:
	  git clone git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git

    Backup repository:
	  git clone git://github.com/karelzak/util-linux.git

    Web interfaces:
	  http://git.kernel.org/cgit/utils/util-linux/util-linux.git
	  https://github.com/karelzak/util-linux

      Note: the GitHub repository may contain temporary development branches too.

      The kernel.org repository contains master (current development) and stable/*
      (maintenance) branches only. All master or stable/* changes are always pushed
      to both repositories at the same time.

    Repository Branches: 'git branch -a'
	  master branch
	   - current development
	   - the source for stable releases when deemed ready.
	   - day-to-day status is: 'it works for me'. This means that its
	     normal state is useful but not well tested.
	   - long-term development or invasive changes in active development are
	     forked into separate 'topic' branches from the tip of 'master'.

	  stable/ branches
	   - public releases
	   - branch name: stable/v<major>.<minor>.
	   - created from the 'master' branch after two or more release
	     candidates and the final public release. This means that the stable
	     releases are committed, tagged, and reachable in 'master'.
	   - these branches then become forked development branches. This means
	     that any changes made to them diverge from the 'master' branch.
	   - maintenance releases are part of, and belong to, their respective
	     stable branch. As such, they are tags(<major>.<minor>.<maint>) and
	     not branches of their own. They are not part of, visible in, or
	     have anything to do with the 'master' development branch. In git
	     terminology: maintenance releases are not reachable from 'master'.
	   - when initially cloned (as with the 'git clone' command given above)
	     these branches are created as 'remote tracking branches' and are
	     only visible by using the -a or -r options to 'git branch'. To
	     create a local branch use the desired tag with this command:
	     'git checkout -b v2.29.2 v2.29.2'

    Tags: 'git tag'
	   - a new tag object is created for every release.
	   - tag name: v<version>.
	   - all tags are signed by the maintainer's PGP key.

    Known Bugs:
	- don't use tag v2.13.1 (created and published by mistake),
	  use v2.13.1-REAL instead.

WORKFLOW EXAMPLE:

 1) development (branch: <master>)

 2) master release (tags: v2.29-rc1, v2.29-rc2, v2.29, branch: <master>)

 3) development (work on v2.30, branch: <master>)

 4) fork -- create a new branch <stable/v2.29> based on tag v2.29

     4a) new patches or cherry-pick patches from <master> (branch: <stable/v2.29>)

     4b) stable release (tag: v2.29.1, branch: <stable/v2.29>)

     4c) more patches; another release (tag: v2.29.2, branch: <stable/v2.29>)

 5) master release v2.30 (branch: <master>)
    ...

where 3) and 4) happen simultaneously.