Commit Graph

34 Commits

Author SHA1 Message Date
Michael Tremer
87d0d07bbc core176: Re-ship lots of stuff that is still linked against OpenSSL 1.1.1
There are no functional changes in these files, but they are however
linked against OpenSSL 1.1.1 and need to be re-shipped before we remove
the legacy library.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2023-06-27 10:06:45 +00:00
Adolf Belka
435dcefe08 git: Update to version 2.38.1
- Update from version 2.37.1 to 2.38.1
- Update of rootfile
- Changelog
    Git v2.38.1 Release Notes
	This release merges the security fix that appears in v2.30.6; see
	 the release notes for that version for details.
    Git v2.38 Release Notes
	 * "git remote show [-n] frotz" now pays attention to negative
	   pathspec.
	 * "git push" sometimes performs poorly when reachability bitmaps are
	   used, even in a repository where other operations are helped by
	   bitmaps.  The push.useBitmaps configuration variable is introduced
	   to allow disabling use of reachability bitmaps only for "git push".
	 * "git grep -m<max-hits>" is a way to limit the hits shown per file.
	 * "git merge-tree" learned a new mode where it takes two commits and
	   computes a tree that would result in the merge commit, if the
	   histories leading to these two commits were to be merged.
	 * "git mv A B" in a sparsely populated working tree can be asked to
	   move a path between directories that are "in cone" (i.e. expected
	   to be materialized in the working tree) and "out of cone"
	   (i.e. expected to be hidden).  The handling of such cases has been
	   improved.
	 * Earlier, HTTP transport clients learned to tell the server side
	   what locale they are in by sending Accept-Language HTTP header, but
	   this was done only for some requests but not others.
	 * Introduce a safe.barerepository configuration variable that
	   allows users to forbid discovery of bare repositories.
	 * Various messages that come from the pack-bitmap codepaths have been
	   tweaked.
	 * "git rebase -i" learns to update branches whose tip appear in the
	   rebased range with "--update-refs" option.
	 * "git ls-files" learns the "--format" option to tweak its output.
	 * "git cat-file" learned an option to use the mailmap when showing
	   commit and tag objects.
	 * When "git merge" finds that it cannot perform a merge, it should
	   restore the working tree to the state before the command was
	   initiated, but in some corner cases it didn't.
	 * Operating modes like "--batch" of "git cat-file" command learned to
	   take NUL-terminated input, instead of one-item-per-line.
	 * "git rm" has become more aware of the sparse-index feature.
	 * "git rev-list --disk-usage" learned to take an optional value
	   "human" to show the reported value in human-readable format, like
	   "3.40MiB".
	 * The "diagnose" feature to create a zip archive for diagnostic
	   material has been lifted from "scalar" and made into a feature of
	   "git bugreport".
	 * The namespaces used by "log --decorate" from "refs/" hierarchy by
	   default has been tightened.
	 * "git rev-list --ancestry-path=C A..B" is a natural extension of
	   "git rev-list A..B"; instead of choosing a subset of A..B to those
	   that have ancestry relationship with A, it lets a subset with
	   ancestry relationship with C.
	 * "scalar" now enables built-in fsmonitor on enlisted repositories,
	   when able.
	 * The bash prompt (in contrib/) learned to optionally indicate when
	   the index is unmerged.
	 * "git clone" command learned the "--bundle-uri" option to coordinate
	   with hosting sites the use of pre-prepared bundle files.
	 * "git range-diff" learned to honor pathspec argument if given.
	 * "git format-patch --from=<ident>" can be told to add an in-body
	   "From:" line even for commits that are authored by the given
	   <ident> with "--force-in-body-from" option.
	 * The built-in fsmonitor refuses to work on a network mounted
	   repositories; a configuration knob for users to override this has
	   been introduced.
	 * The "scalar" addition from Microsoft is now part of the core Git
	   installation.
	 * Collection of what is referenced by objects in promisor packs have
	   been optimized to inspect these objects in the in-pack order.
	 * Introduce a helper to see if a branch is already being worked on
	   (hence should not be newly checked out in a working tree), which
	   performs much better than the existing find_shared_symref() to
	   replace many uses of the latter.
	 * Teach "git archive" to (optionally and then by default) avoid
	   spawning an external "gzip" process when creating ".tar.gz" (and
	   ".tgz") archives.
	 * Allow large objects read from a packstream to be streamed into a
	   loose object file straight, without having to keep it in-core as a
	   whole.
	 * Further preparation to turn git-submodule.sh into a builtin
	   continues.
	 * Apply Coccinelle rule to turn raw memmove() into MOVE_ARRAY() cpp
	   macro, which would improve maintainability and readability.
	 * Teach "make all" to build gitweb as well.
	 * Tweak tests so that they still work when the "git init" template
	   did not create .git/info directory.
	 * Add Coccinelle rules to detect the pattern of initializing and then
	   finalizing a structure without using it in between at all, which
	   happens after code restructuring and the compilers fail to
	   recognize as an unused variable.
	 * The code to convert between GPG trust level strings and internal
	   constants we use to represent them have been cleaned up.
	 * Support for libnettle as SHA256 implementation has been added.
	 * The way "git multi-pack" uses parse-options API has been improved.
	 * A Coccinelle rule (in contrib/) to encourage use of COPY_ARRAY
	   macro has been improved.
	 * API tweak to make it easier to run fuzz testing on commit-graph parser.
	 * Omit fsync-related trace2 entries when their values are all zero.
	 * The codepath to write multi-pack index has been taught to release a
	   large chunk of memory that holds an array of objects in the packs,
	   as soon as it is done with the array, to reduce memory consumption.
	 * Add a level of redirection to array allocation API in xdiff part,
	   to make it easier to share with the libgit2 project.
	 * "git fetch" client logs the partial clone filter used in the trace2
	   output.
	 * The "bundle URI" design gets documented.
	 * The common ancestor negotiation exchange during a "git fetch"
	   session now leaves trace log.
	 * Test portability improvements.
	   (merge 4d1d843be7 mt/rot13-in-c later to maint).
	 * The "subcommand" mode is introduced to parse-options API and update
	   the command line parser of Git commands with subcommands.
	 * The pack bitmap file gained a bitmap-lookup table to speed up
	   locating the necessary bitmap for a given commit.
	 * The assembly version of SHA-1 implementation for PPC has been
	   removed.
	 * The server side that responds to "git fetch" and "git clone"
	   request has been optimized by allowing it to send objects in its
	   object store without recomputing and validating the object names.
	 * Annotate function parameters that are not used (but cannot be
	   removed for structural reasons), to prepare us to later compile
	   with -Wunused warning turned on.
	 * Share the text used to explain configuration variables used by "git
	   <subcmd>" in "git help <subcmd>" with the text from "git help config".
	 * "git mv A B" in a sparsely populated working tree can be asked to
	   move a path from a directory that is "in cone" to another directory
	   that is "out of cone".  Handling of such a case has been improved.
	 * The chainlint script for our tests has been revamped.
	 * Rewrite of "git add -i" in C that appeared in Git 2.25 didn't
	   correctly record a removed file to the index, which was fixed.
	 * Certain diff options are currently ignored when combined-diff is
	   shown; mark them as incompatible with the feature.
	 * Adjust technical/bitmap-format to be formatted by AsciiDoc, and
	   add some missing information to the documentation.
	 * Fixes for tests when the source directory has unusual characters in
	   its path, e.g. whitespaces, double-quotes, etc.
	 * "git mktree --missing" lazily fetched objects that are missing from
	   the local object store, which was totally unnecessary for the purpose
	   of creating the tree object(s) from its input.
	 * Give _() markings to fatal/warning/usage: labels that are shown in
	   front of these messages.
	 * References to commands-to-be-typed-literally in "git rebase"
	   documentation mark-up have been corrected.
	 * In a non-bare repository, the behavior of Git when the
	   core.worktree configuration variable points at a directory that has
	   a repository as its subdirectory, regressed in Git 2.27 days.
	 * Recent update to vimdiff layout code has been made more robust
	   against different end-user vim settings.
	 * Plug various memory leaks, both in the main code and in test-tool
	   commands.
	 * Fixes a long-standing corner case bug around directory renames in
	   the merge-ort strategy.
	 * The resolve-undo information in the index was not protected against
	   GC, which has been corrected.
	 * A corner case bug where lazily fetching objects from a promisor
	   remote resulted in infinite recursion has been corrected.
	 * "git clone" from a repository with some ref whose HEAD is unborn
	   did not set the HEAD in the resulting repository correctly, which
	   has been corrected.
	 * An earlier attempt to plug leaks placed a clean-up label to jump to
	   at a bogus place, which as been corrected.
	 * Variable quoting fix in the vimdiff driver of "git mergetool"
	 * "git shortlog -n" relied on the underlying qsort() to be stable,
	   which shouldn't have.  Fixed.
	 * A fix for a regression in test framework.
	 * mkstemp() emulation on Windows has been improved.
	 * Add missing documentation for "include" and "includeIf" features in
	   "git config" file format, which incidentally teaches the command
	   line completion to include them in its offerings.
	 * Avoid "white/black-list" in documentation and code comments.
	 * Workaround for a compiler warning against use of die() in
	   osx-keychain (in contrib/).
	 * Workaround for a false positive compiler warning.
	 * "git p4" working on UTF-16 files on Windows did not implement
	   CRLF-to-LF conversion correctly, which has been corrected.
	 * "git p4" did not handle non-ASCII client name well, which has been
	   corrected.
	 * "rerere-train" script (in contrib/) used to honor commit.gpgSign
	   while recreating the throw-away merges.
	 * "git checkout" miscounted the paths it updated, which has been
	   corrected.
	 * Fix for a bug that makes write-tree to fail to write out a
	   non-existent index as a tree, introduced in 2.37.
	 * There was a bug in the codepath to upgrade generation information
	   in commit-graph from v1 to v2 format, which has been corrected.
	 * Gitweb had legacy URL shortener that is specific to the way
	   projects hosted on kernel.org used to (but no longer) work, which
	   has been removed.
	 * Fix build procedure for Windows that uses CMake so that it can pick
	   up the shell interpreter from local installation location.
	 * Conditionally allow building Python interpreter on Windows
	 * Fix to lstat() emulation on Windows.
	 * Older gcc with -Wall complains about the universal zero initializer
	   "struct s = { 0 };" idiom, which makes developers' lives
	   inconvenient (as -Werror is enabled by DEVELOPER=YesPlease).  The
	   build procedure has been tweaked to help these compilers.
	 * Plug memory leaks in the failure code path in the "merge-ort" merge
	   strategy backend.
	 * "git symbolic-ref symref non..sen..se" is now diagnosed as an error.
	 * A follow-up fix to a fix for a regression in 2.36 around hooks.
	 * Avoid repeatedly running getconf to ask libc version in the test
	   suite, and instead just as it once per script.
	 * Platform-specific code that determines if a directory is OK to use
	   as a repository has been taught to report more details, especially
	   on Windows.
	 * "vimdiff3" regression fix.
	 * "git fsck" reads mode from tree objects but canonicalizes the mode
	   before passing it to the logic to check object sanity, which has
	   hid broken tree objects from the checking logic.  This has been
	   corrected, but to help existing projects with broken tree objects
	   that they cannot fix retroactively, the severity of anomalies this
	   code detects has been demoted to "info" for now.
	 * Fixes to sparse index compatibility work for "reset" and "checkout"
	   commands.
	 * An earlier optimization discarded a tree-object buffer that is
	   still in use, which has been corrected.
	 * Fix deadlocks between main Git process and subprocess spawned via
	   the pipe_command() API, that can kill "git add -p" that was
	   reimplemented in C recently.
	 * The sequencer machinery translated messages left in the reflog by
	   mistake, which has been corrected.
	 * xcalloc(), imitating calloc(), takes "number of elements of the
	   array", and "size of a single element", in this order.  A call that
	   does not follow this ordering has been corrected.
	 * The preload-index codepath made copies of pathspec to give to
	   multiple threads, which were left leaked.
	 * Update the version of Ubuntu used for GitHub Actions CI from 18.04
	   to 22.04.
	 * The auto-stashed local changes created by "git merge --autostash"
	   was mixed into a conflicted state left in the working tree, which
	   has been corrected.
	 * Multi-pack index got corrupted when preferred pack changed from one
	   pack to another in a certain way, which has been corrected.
	   (merge 99e4d084ff tb/midx-with-changing-preferred-pack-fix later to maint).
	 * The clean-up of temporary files created via mks_tempfile_dt() was
	   racy and attempted to unlink() the leading directory when signals
	   are involved, which has been corrected.
	   (merge babe2e0559 rs/tempfile-cleanup-race-fix later to maint).
	 * FreeBSD portability fix for "git maintenance" that spawns "crontab"
	   to schedule tasks.
	   (merge ee69e7884e bc/gc-crontab-fix later to maint).
	 * Those who use diff-so-fancy as the diff-filter noticed a regression
	   or two in the code that parses the diff output in the built-in
	   version of "add -p", which has been corrected.
	   (merge 0a101676e5 js/add-p-diff-parsing-fix later to maint).
	 * Segfault fix-up to an earlier fix to the topic to teach "git reset"
	   and "git checkout" work better in a sparse checkout.
	   (merge 037f8ea6d9 vd/sparse-reset-checkout-fixes later to maint).
	 * "git diff --no-index A B" managed its the pathnames of its two
	   input files rather haphazardly, sometimes leaking them.  The
	   command line argument processing has been straightened out to clean
	   it up.
	   (merge 2b43dd0eb5 rs/diff-no-index-cleanup later to maint).
	 * "git rev-list --verify-objects" ought to inspect the contents of
	   objects and notice corrupted ones, but it didn't when the commit
	   graph is in use, which has been corrected.
	   (merge b27ccae34b jk/rev-list-verify-objects-fix later to maint).
	 * More fixes to "add -p"
	   (merge 64ec8efb83 js/builtin-add-p-portability-fix later to maint).
	 * The parser in the script interface to parse-options in "git
	   rev-parse" has been updated to diagnose a bogus input correctly.
	   (merge f20b9c36d0 ow/rev-parse-parseopt-fix later to maint).
	 * The code that manages list-object-filter structure, used in partial
	   clones, leaked the instances, which has been plugged.
	   (merge 66eede4a37 jk/plug-list-object-filter-leaks later to maint).
	 * Fix another UI regression in the reimplemented "add -p".
	   (merge f6f0ee247f rs/add-p-worktree-mode-prompt-fix later to maint).
	 * "git fetch" over protocol v2 sent an incorrect ref prefix request
	   to the server and made "git pull" with configured fetch refspec
	   that does not cover the remote branch to merge with fail, which has
	   been corrected.
	   (merge 49ca2fba39 jk/proto-v2-ref-prefix-fix later to maint).
	 * A result from opendir() was leaking in the commit-graph expiration
	   codepath, which has been plugged.
	   (merge 12f1ae5324 ml/commit-graph-expire-dir-leak-fix later to maint).
	 * Just like we have coding guidelines, we now have guidelines for
	   reviewers.
	   (merge e01b851923 vd/doc-reviewing-guidelines later to maint).
	 * Other code cleanup, docfix, build fix, etc.
	   (merge 77b9e85c0f vd/fix-perf-tests later to maint).
	   (merge 0682bc43f5 jk/test-crontab-fixes later to maint).
	   (merge b46dd1726c cc/doc-trailer-whitespace-rules later to maint).
    Git 2.37.4 Release Notes
       This primarily is to backport various fixes accumulated on the 'master'
        front since 2.37.3, and also includes the same security fixes as in v2.30.6.
	 * CVE-2022-39253:
	   When relying on the `--local` clone optimization, Git dereferences
	   symbolic links in the source repository before creating hardlinks
	   (or copies) of the dereferenced link in the destination repository.
	   This can lead to surprising behavior where arbitrary files are
	   present in a repository's `$GIT_DIR` when cloning from a malicious
	   repository.
	   Git will no longer dereference symbolic links via the `--local`
	   clone mechanism, and will instead refuse to clone repositories that
	   have symbolic links present in the `$GIT_DIR/objects` directory.
	   Additionally, the value of `protocol.file.allow` is changed to be
	   "user" by default.
	   Credit for finding CVE-2022-39253 goes to Cory Snider of Mirantis.
	   The fix was authored by Taylor Blau, with help from Johannes
	   Schindelin.
	 * CVE-2022-39260:
	   An overly-long command string given to `git shell` can result in
	   overflow in `split_cmdline()`, leading to arbitrary heap writes and
	   remote code execution when `git shell` is exposed and the directory
	   `$HOME/git-shell-commands` exists.
	   `git shell` is taught to refuse interactive commands that are
	   longer than 4MiB in size. `split_cmdline()` is hardened to reject
	   inputs larger than 2GiB.
	   Credit for finding CVE-2022-39260 goes to Kevin Backhouse of
	   GitHub. The fix was authored by Kevin Backhouse, Jeff King, and
	   Taylor Blau.
	 * An earlier optimization discarded a tree-object buffer that is
	   still in use, which has been corrected.
	 * Fix deadlocks between main Git process and subprocess spawned via
	   the pipe_command() API, that can kill "git add -p" that was
	   reimplemented in C recently.
	 * xcalloc(), imitating calloc(), takes "number of elements of the
	   array", and "size of a single element", in this order.  A call that
	   does not follow this ordering has been corrected.
	 * The preload-index codepath made copies of pathspec to give to
	   multiple threads, which were left leaked.
	 * Update the version of Ubuntu used for GitHub Actions CI from 18.04
	   to 22.04.
	 * The auto-stashed local changes created by "git merge --autostash"
	   was mixed into a conflicted state left in the working tree, which
	   has been corrected.
	 Also contains other minor documentation updates and code clean-ups.
    Git 2.37.3 Release Notes
       This primarily is to backport various fixes accumulated on the 'master'
        front since 2.37.2.
	 * The build procedure for Windows that uses CMake has been updated to
	   pick up the shell interpreter from local installation location.
	 * Conditionally allow building Python interpreter on Windows
	 * Fix to lstat() emulation on Windows.
	 * Older gcc with -Wall complains about the universal zero initializer
	   "struct s = { 0 };" idiom, which makes developers' lives
	   inconvenient (as -Werror is enabled by DEVELOPER=YesPlease).  The
	   build procedure has been tweaked to help these compilers.
	 * Plug memory leaks in the failure code path in the "merge-ort" merge
	   strategy backend.
	 * Avoid repeatedly running getconf to ask libc version in the test
	   suite, and instead just as it once per script.
	 * Platform-specific code that determines if a directory is OK to use
	   as a repository has been taught to report more details, especially
	   on Windows.
	 * "vimdiff3" regression has been corrected.
	 * "git fsck" reads mode from tree objects but canonicalizes the mode
	   before passing it to the logic to check object sanity, which has
	   hid broken tree objects from the checking logic.  This has been
	   corrected, but to help exiting projects with broken tree objects
	   that they cannot fix retroactively, the severity of anomalies this
	   code detects has been demoted to "info" for now.
	 * Fixes to sparse index compatibility work for "reset" and "checkout"
	   commands.
	 * Documentation for "git add --renormalize" has been improved.
	 Also contains other minor documentation updates and code clean-ups.
    Git 2.37.2 Release Notes
       This primarily is to backport various fixes accumulated on the 'master'
        front since 2.37.1.
	 * "git shortlog -n" relied on the underlying qsort() to be stable,
	   which shouldn't have.  Fixed.
	 * Variable quoting fix in the vimdiff driver of "git mergetool".
	 * An earlier attempt to plug leaks placed a clean-up label to jump to
	   at a bogus place, which as been corrected.
	 * Fixes a long-standing corner case bug around directory renames in
	   the merge-ort strategy.
	 * Recent update to vimdiff layout code has been made more robust
	   against different end-user vim settings.
	 * In a non-bare repository, the behavior of Git when the
	   core.worktree configuration variable points at a directory that has
	   a repository as its subdirectory, regressed in Git 2.27 days.
	 * References to commands-to-be-typed-literally in "git rebase"
	   documentation mark-up have been corrected.
	 * Give _() markings to fatal/warning/usage: labels that are shown in
	   front of these messages.
	 * "git mktree --missing" lazily fetched objects that are missing from
	   the local object store, which was totally unnecessary for the purpose
	   of creating the tree object(s) from its input.
	 * Fixes for tests when the source directory has unusual characters in
	   its path, e.g. whitespaces, double-quotes, etc.
	 * Adjust technical/bitmap-format to be formatted by AsciiDoc, and
	   add some missing information to the documentation.
	 * Certain diff options are currently ignored when combined-diff is
	   shown; mark them as incompatible with the feature.
	 * "git clone" from a repository with some ref whose HEAD is unborn
	   did not set the HEAD in the resulting repository correctly, which
	   has been corrected.
	 * mkstemp() emulation on Windows has been improved.
	 * Add missing documentation for "include" and "includeIf" features in
	   "git config" file format, which incidentally teaches the command
	   line completion to include them in its offerings.
	 * Avoid "white/black-list" in documentation and code comments.
	 * Workaround for a compiler warning against use of die() in
	   osx-keychain (in contrib/).
	 * Workaround for a false positive compiler warning.
	 * The resolve-undo information in the index was not protected against
	   GC, which has been corrected.
	 * A corner case bug where lazily fetching objects from a promisor
	   remote resulted in infinite recursion has been corrected.
	 * "git p4" working on UTF-16 files on Windows did not implement
	   CRLF-to-LF conversion correctly, which has been corrected.
	 * "git p4" did not handle non-ASCII client name well, which has been
	   corrected.
	 * "rerere-train" script (in contrib/) used to honor commit.gpgSign
	   while recreating the throw-away merges.
	 * "git checkout" miscounted the paths it updated, which has been
	   corrected.
	 * Fix for a bug that makes write-tree to fail to write out a
	   non-existent index as a tree, introduced in 2.37.
	 * There was a bug in the codepath to upgrade generation information
	   in commit-graph from v1 to v2 format, which has been corrected.
         Also contains minor documentation updates and code clean-ups.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2022-11-28 13:08:19 +01:00
Peter Müller
ccadea0918 git: Update to 2.37.1
Please refer to
- https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.37.0.txt
- https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.37.1.txt
for the changes since 2.36.1.

Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
2022-08-03 10:54:50 +00:00
Adolf Belka
e53b89a0a0 git: Update to version 2.36.1
- Update from version 2.36.0 to 2.36.1
- Update of rootfile not required
- Changelog
   Git v2.36.1 Release Notes
    Fixes since v2.36
	 * "git submodule update" without pathspec should silently skip an
	   uninitialized submodule, but it started to become noisy by mistake.
	 * "diff-tree --stdin" has been broken for about a year, but 2.36
	   release broke it even worse by breaking running the command with
	   <pathspec>, which in turn broke "gitk" and got noticed.  This has
	   been corrected by aligning its behaviour to that of "log".
	 * Regression fix for 2.36 where "git name-rev" started to sometimes
	   reference strings after they are freed.
	 * "git show <commit1> <commit2>... -- <pathspec>" lost the pathspec
	   when showing the second and subsequent commits, which has been
	   corrected.
	 * "git fast-export -- <pathspec>" lost the pathspec when showing the
	   second and subsequent commits, which has been corrected.
	 * "git format-patch <args> -- <pathspec>" lost the pathspec when
	   showing the second and subsequent commits, which has been
	   corrected.
	 * Get rid of a bogus and over-eager coccinelle rule.
	 * Correct choices of C compilers used in various CI jobs.
    Also contains minor documentation updates and code clean-ups.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-05-30 19:18:18 +00:00
Adolf Belka
8b84073efb git: Update to version 2.36.0
- Update from 2.35.1 to 2.36.0
- Update of rootfile
- Changelog
   2.36 Release Notes
	These are too long to include here. To see the details go to the following link
        https://raw.githubusercontent.com/git/git/master/Documentation/RelNotes/2.36.0.txt
   2.35.3.txt Release Notes
	This release merges up the fixes that appear in v2.35.3.
   2.35.2 Release Notes
	This release merges up the fixes that appear in v2.30.3,
	v2.31.2, v2.32.1, v2.33.2 and v2.34.2 to address the security
	issue CVE-2022-24765; see the release notes for these versions
	for details.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-04-24 14:20:10 +00:00
Peter Müller
9a7e4d8506 Switch checksums from MD5 to BLAKE2
Historically, the MD5 checksums in our LFS files serve as a protection
against broken downloads, or accidentally corrupted source files.

While the sources are nowadays downloaded via HTTPS, it make sense to
beef up integrity protection for them, since transparently intercepting
TLS is believed to be feasible for more powerful actors, and the state
of the public PKI ecosystem is clearly not helping.

Therefore, this patch switches from MD5 to BLAKE2, updating all LFS
files as well as make.sh to deal with this checksum algorithm. BLAKE2 is
notably faster (and more secure) than SHA2, so the performance penalty
introduced by this patch is negligible, if noticeable at all.

In preparation of this patch, the toolchain files currently used have
been supplied with BLAKE2 checksums as well on
https://source.ipfire.org/.

Cc: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Peter Müller <peter.mueller@ipfire.org>
Acked-by: Michael Tremer <michael.tremeripfire.org>
2022-04-02 14:19:25 +00:00
Robin Roevens
f15707c78c buildprocess: Add extra metadata to pak lfs files
* Add a Summary and Services field to all pak lfs files
* Replace occurances of INSTALL_INITSCRIPT with new INSTALL_INITSCRIPTS
  macro in all pak lfs files.

Signed-off-by: Robin Roevens <robin.roevens@disroot.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-11 15:13:15 +00:00
Adolf Belka
d04fa4b484 git: Update to version 2.35.1
- Update from 2.34.1 to 2.35.1
- Update of rootfile not required
- Changelog
Git 2.35.1 Release Notes
 * Git 2.35 shipped with a regression that broke use of "rebase" and
   "stash" in a secondary worktree.  This maintenance release ought to
   fix it.
Git 2.35 Release Notes
Updates since Git 2.34
Backward compatibility warts
 * "_" is now treated as any other URL-valid characters in an URL when
   matching the per-URL configuration variable names.
 * The color palette used by "git grep" has been updated to match that
   of GNU grep.
Note to those who build from the source
 * You may need to define NO_UNCOMPRESS2 Makefile macro if you build
   with zlib older than 1.2.9.
 * If your compiler cannot grok C99, the build will fail.  See the
   instruction at the beginning of git-compat-util.h if this happens
   to you.
UI, Workflows & Features
 * "git status --porcelain=v2" now show the number of stash entries
   with --show-stash like the normal output does.
 * "git stash" learned the "--staged" option to stash away what has
   been added to the index (and nothing else).
 * "git var GIT_DEFAULT_BRANCH" is a way to see what name is used for
   the newly created branch if "git init" is run.
 * Various operating modes of "git reset" have been made to work
   better with the sparse index.
 * "git submodule deinit" for a submodule whose .git metadata
   directory is embedded in its working tree refused to work, until
   the submodule gets converted to use the "absorbed" form where the
   metadata directory is stored in superproject, and a gitfile at the
   top-level of the working tree of the submodule points at it.  The
   command is taught to convert such submodules to the absorbed form
   as needed.
 * The completion script (in contrib/) learns that the "--date"
   option of commands from the "git log" family takes "human" and
   "auto" as valid values.
 * "Zealous diff3" style of merge conflict presentation has been added.
 * The "git log --format=%(describe)" placeholder has been extended to
   allow passing selected command-line options to the underlying "git
   describe" command.
 * "default" and "reset" have been added to our color palette.
 * The cryptographic signing using ssh keys can specify literal keys
   for keytypes whose name do not begin with the "ssh-" prefix by
   using the "key::" prefix mechanism (e.g. "key::ecdsa-sha2-nistp256").
 * "git fetch" without the "--update-head-ok" option ought to protect
   a checked out branch from getting updated, to prevent the working
   tree that checks it out to go out of sync.  The code was written
   before the use of "git worktree" got widespread, and only checked
   the branch that was checked out in the current worktree, which has
   been updated.
 * "git name-rev" has been tweaked to give output that is shorter and
   easier to understand.
 * "git apply" has been taught to ignore a message without a patch
   with the "--allow-empty" option.  It also learned to honor the
   "--quiet" option given from the command line.
 * The "init" and "set" subcommands in "git sparse-checkout" have been
   unified for a better user experience and performance.
 * Many git commands that deal with working tree files try to remove a
   directory that becomes empty (i.e. "git switch" from a branch that
   has the directory to another branch that does not would attempt
   remove all files in the directory and the directory itself).  This
   drops users into an unfamiliar situation if the command was run in
   a subdirectory that becomes subject to removal due to the command.
   The commands have been taught to keep an empty directory if it is
   the directory they were started in to avoid surprising users.
 * "git am" learns "--empty=(stop|drop|keep)" option to tweak what is
   done to a piece of e-mail without a patch in it.
 * The default merge message prepared by "git merge" records the name
   of the current branch; the name can be overridden with a new option
   to allow users to pretend a merge is made on a different branch.
 * The way "git p4" shows file sizes in its output has been updated to
   use human-readable units.
 * "git -c branch.autosetupmerge=inherit branch new old" makes "new"
   to have the same upstream as the "old" branch, instead of marking
   "old" itself as its upstream.
Performance, Internal Implementation, Development Support etc.
 * The use of errno as a means to carry the nature of error in the ref
   API implementation has been reworked and reduced.
 * Teach and encourage first-time contributors to this project to
   state the base commit when they submit their topic.
 * The command line completion for "git send-email" options have been
   tweaked to make it easier to keep it in sync with the command itself.
 * Ensure that the sparseness of the in-core index matches the
   index.sparse configuration specified by the repository immediately
   after the on-disk index file is read.
 * Code clean-up to eventually allow information on remotes defined
   for an arbitrary repository to be read.
 * Build optimization.
 * Tighten code for testing pack-bitmap.
 * Weather balloon to break people with compilers that do not support
   C99.
 * The "reftable" backend for the refs API, without integrating into
   the refs subsystem, has been added.
 * More tests are marked as leak-free.
 * The test framework learns to list unsatisfied test prerequisites,
   and optionally error out when prerequisites that are expected to be
   satisfied are not.
 * The default setting for trace2 event nesting was too low to cause
   test failures, which is worked around by bumping it up in the test
   framework.
 * Drop support for TravisCI and update test workflows at GitHub.
 * Many tests that used to need GIT_TEST_DEFAULT_INITIAL_BRANCH_NAME
   mechanism to force "git" to use 'master' as the default name for
   the initial branch no longer need it; the use of the mechanism from
   them have been removed.
 * Allow running our tests while disabling fsync.
 * Document the parameters given to the reflog entry iterator callback
   functions.
   (merge e6e94f34b2 jc/reflog-iterator-callback-doc later to maint).
 * The test helper for refs subsystem learned to write bogus and/or
   nonexistent object name to refs to simulate error situations we
   want to test Git in.
 * "diff --histogram" optimization.
 * Weather balloon to find compilers that do not grok variable
   declaration in the for() loop.
 * diff and blame commands have been taught to work better with sparse
   index.
 * The chainlint test script linter in the test suite has been updated.
 * The DEVELOPER=yes build uses -std=gnu99 now.
 * "git format-patch" uses a single rev_info instance and then exits.
   Mark the structure with UNLEAK() macro to squelch leak sanitizer.
 * New interface into the tmp-objdir API to help in-core use of the
   quarantine feature.
 * Broken &&-chains in the test scripts have been corrected.
 * The RCS keyword substitution in "git p4" used to be done assuming
   that the contents are UTF-8 text, which can trigger decoding
   errors.  We now treat the contents as a bytestring for robustness
   and correctness.
 * The conditions to choose different definitions of the FLEX_ARRAY
   macro for vendor compilers has been simplified to make it easier to
   maintain.
 * Correctness and performance update to "diff --color-moved" feature.
 * "git upload-pack" (the other side of "git fetch") used a 8kB buffer
   but most of its payload came on 64kB "packets".  The buffer size
   has been enlarged so that such a packet fits.
 * "git fetch" and "git pull" are now declared sparse-index clean.
   Also "git ls-files" learns the "--sparse" option to help debugging.
 * Similar message templates have been consolidated so that
   translators need to work on fewer number of messages.
Fixes since v2.34
 * "git grep" looking in a blob that has non-UTF8 payload was
   completely broken when linked with certain versions of PCREv2
   library in the latest release.
 * Other code cleanup, docfix, build fix, etc.
 * "git pull" with any strategy when the other side is behind us
   should succeed as it is a no-op, but doesn't.
 * An earlier change in 2.34.0 caused JGit application (that abused
   GIT_EDITOR mechanism when invoking "git config") to get stuck with
   a SIGTTOU signal; it has been reverted.
 * An earlier change that broke .gitignore matching has been reverted.
 * Things like "git -c branch.sort=bogus branch new HEAD", i.e. the
   operation modes of the "git branch" command that do not need the
   sort key information, no longer errors out by seeing a bogus sort
   key.
   (merge 98e7ab6d42 jc/fix-ref-sorting-parse later to maint).
 * The compatibility implementation for unsetenv(3) were written to
   mimic ancient, non-POSIX, variant seen in an old glibc; it has been
   changed to return an integer to match the more modern era.
   (merge a38989bd5b jc/unsetenv-returns-an-int later to maint).
 * The clean/smudge conversion code path has been prepared to better
   work on platforms where ulong is narrower than size_t.
   (merge 596b5e77c9 mc/clean-smudge-with-llp64 later to maint).
 * Redact the path part of packfile URI that appears in the trace output.
   (merge 0ba558ffb1 if/redact-packfile-uri later to maint).
 * CI has been taught to catch some Unicode directional formatting
   sequence that can be used in certain mischief.
   (merge 0e7696c64d js/ci-no-directional-formatting later to maint).
 * The "--date=format:<strftime>" gained a workaround for the lack of
   system support for a non-local timezone to handle "%s" placeholder.
   (merge 9b591b9403 jk/strbuf-addftime-seconds-since-epoch later to maint).
 * The "merge" subcommand of "git jump" (in contrib/) silently ignored
   pathspec and other parameters.
   (merge 67ba13e5a4 jk/jump-merge-with-pathspec later to maint).
 * The code to decode the length of packed object size has been
   corrected.
   (merge 34de5b8eac jt/pack-header-lshift-overflow later to maint).
 * The advice message given by "git pull" when the user hasn't made a
   choice between merge and rebase still said that the merge is the
   default, which no longer is the case.  This has been corrected.
   (merge 71076d0edd ah/advice-pull-has-no-preference-between-rebase-and-merge later to maint).
 * "git fetch", when received a bad packfile, can fail with SIGPIPE.
   This wasn't wrong per-se, but we now detect the situation and fail
   in a more predictable way.
   (merge 2a4aed42ec jk/fetch-pack-avoid-sigpipe-to-index-pack later to maint).
 * The function to cull a child process and determine the exit status
   had two separate code paths for normal callers and callers in a
   signal handler, and the latter did not yield correct value when the
   child has caught a signal.  The handling of the exit status has
   been unified for these two code paths.  An existing test with
   flakiness has also been corrected.
   (merge 5263e22cba jk/t7006-sigpipe-tests-fix later to maint).
 * When a non-existent program is given as the pager, we tried to
   reuse an uninitialized child_process structure and crashed, which
   has been fixed.
   (merge f917f57f40 em/missing-pager later to maint).
 * The single-key-input mode in "git add -p" had some code to handle
   keys that generate a sequence of input via ReadKey(), which did not
   handle end-of-file correctly, which has been fixed.
   (merge fc8a8126df cb/add-p-single-key-fix later to maint).
 * "git rebase -x" added an unnecessary 'exec' instructions before
   'noop', which has been corrected.
   (merge cc9dcdee61 en/rebase-x-fix later to maint).
 * When the "git push" command is killed while the receiving end is
   trying to report what happened to the ref update proposals, the
   latter used to die, due to SIGPIPE.  The code now ignores SIGPIPE
   to increase our chances to run the post-receive hook after it
   happens.
   (merge d34182b9e3 rj/receive-pack-avoid-sigpipe-during-status-reporting later to maint).
 * "git worktree add" showed "Preparing worktree" message to the
   standard output stream, but when it failed, the message from die()
   went to the standard error stream.  Depending on the order the
   stdio streams are flushed at the program end, this resulted in
   confusing output.  It has been corrected by sending all the chatty
   messages to the standard error stream.
   (merge b50252484f es/worktree-chatty-to-stderr later to maint).
 * Coding guideline document has been updated to clarify what goes to
   standard error in our system.
   (merge e258eb4800 es/doc-stdout-vs-stderr later to maint).
 * The sparse-index/sparse-checkout feature had a bug in its use of
   the matching code to determine which path is in or outside the
   sparse checkout patterns.
   (merge 8c5de0d265 ds/sparse-deep-pattern-checkout-fix later to maint).
 * "git rebase -x" by mistake started exporting the GIT_DIR and
   GIT_WORK_TREE environment variables when the command was rewritten
   in C, which has been corrected.
   (merge 434e0636db en/rebase-x-wo-git-dir-env later to maint).
 * When "git log" implicitly enabled the "decoration" processing
   without being explicitly asked with "--decorate" option, it failed
   to read and honor the settings given by the "--decorate-refs"
   option.
 * "git fetch --set-upstream" did not check if there is a current
   branch, leading to a segfault when it is run on a detached HEAD,
   which has been corrected.
   (merge 17baeaf82d ab/fetch-set-upstream-while-detached later to maint).
 * Among some code paths that ask an yes/no question, only one place
   gave a prompt that looked different from the others, which has been
   updated to match what the others create.
   (merge 0fc8ed154c km/help-prompt-fix later to maint).
 * "git log --invert-grep --author=<name>" used to exclude commits
   written by the given author, but now "--invert-grep" only affects
   the matches made by the "--grep=<pattern>" option.
   (merge 794c000267 rs/log-invert-grep-with-headers later to maint).
 * "git grep --perl-regexp" failed to match UTF-8 characters with
   wildcard when the pattern consists only of ASCII letters, which has
   been corrected.
   (merge 32e3e8bc55 rs/pcre2-utf later to maint).
 * Certain sparse-checkout patterns that are valid in non-cone mode
   led to segfault in cone mode, which has been corrected.
 * Use of certain "git rev-list" options with "git fast-export"
   created nonsense results (the worst two of which being "--reverse"
   and "--invert-grep --grep=<foo>").  The use of "--first-parent" is
   made to behave a bit more sensible than before.
   (merge 726a228dfb ws/fast-export-with-revision-options later to maint).
 * Perf tests were run with end-user's shell, but it has been
   corrected to use the shell specified by $TEST_SHELL_PATH.
   (merge 9ccab75608 ja/perf-use-specified-shell later to maint).
 * Fix dependency rules to generate hook-list.h header file.
   (merge d3fd1a6667 ab/makefile-hook-list-dependency-fix later to maint).
 * "git stash" by default triggers its "push" action, but its
   implementation also made "git stash -h" to show short help only for
   "git stash push", which has been corrected.
   (merge ca7990cea5 ab/do-not-limit-stash-help-to-push later to maint).
 * "git apply --3way" bypasses the attempt to do a three-way
   application in more cases to address the regression caused by the
   recent change to use direct application as a fallback.
   (merge 34d607032c jz/apply-3-corner-cases later to maint).
 * Fix performance-releated bug in "git subtree" (in contrib/).
   (merge 3ce8888fb4 jl/subtree-check-parents-argument-passing-fix later to maint).
 * Extend the guidance to choose the base commit to build your work
   on, and hint/nudge contributors to read others' changes.
   (merge fdfae830f8 jc/doc-submitting-patches-choice-of-base later to maint).
 * A corner case bug in the ort merge strategy has been corrected.
   (merge d30126c20d en/merge-ort-renorm-with-rename-delete-conflict-fix later to maint).
 * "git stash apply" forgot to attempt restoring untracked files when
   it failed to restore changes to tracked ones.
   (merge 71cade5a0b en/stash-df-fix later to maint).
 * Calling dynamically loaded functions on Windows has been corrected.
   (merge 4a9b204920 ma/windows-dynload-fix later to maint).
 * Some lockfile code called free() in signal-death code path, which
   has been corrected.
   (merge 58d4d7f1c5 ps/lockfile-cleanup-fix later to maint).
 * Other code cleanup, docfix, build fix, etc.
   (merge 74db416c9c cw/protocol-v2-doc-fix later to maint).
   (merge f9b2b6684d ja/doc-cleanup later to maint).
   (merge 7d1b866778 jc/fix-first-object-walk later to maint).
   (merge 538ac74604 js/trace2-avoid-recursive-errors later to maint).
   (merge 152923b132 jk/t5319-midx-corruption-test-deflake later to maint).
   (merge 9081a421a6 ab/checkout-branch-info-leakfix later to maint).
   (merge 42c456ff81 rs/mergesort later to maint).
   (merge ad506e6780 tl/midx-docfix later to maint).
   (merge bf5b83fd8a hk/ci-checkwhitespace-commentfix later to maint).
   (merge 49f1eb3b34 jk/refs-g11-workaround later to maint).
   (merge 7d3fc7df70 jt/midx-doc-fix later to maint).
   (merge 7b089120d9 hn/create-reflog-simplify later to maint).
   (merge 9e12400da8 cb/mingw-gmtime-r later to maint).
   (merge 0bf0de6cc7 tb/pack-revindex-on-disk-cleanup later to maint).
   (merge 2c68f577fc ew/cbtree-remove-unused-and-broken-cb-unlink later to maint).
   (merge eafd6e7e55 ab/die-with-bug later to maint).
   (merge 91028f7659 jc/grep-patterntype-default-doc later to maint).
   (merge 47ca93d071 ds/repack-fixlets later to maint).
   (merge e6a9bc0c60 rs/t4202-invert-grep-test-fix later to maint).
   (merge deb5407a42 gh/gpg-doc-markup-fix later to maint).
   (merge 999bba3e0b rs/daemon-plug-leak later to maint).
   (merge 786eb1ba39 js/l10n-mention-ngettext-early-in-readme later to maint).
   (merge 2f12b31b74 ab/makefile-msgfmt-wo-stats later to maint).
   (merge 0517f591ca fs/gpg-unknown-key-test-fix later to maint).
   (merge 97d6fb5a1f ma/header-dup-cleanup later to maint).

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Peter Müller <peter.mueller@ipfire.org>
2022-02-06 10:51:56 +00:00
Adolf Belka
b644a33fab git: Update version to 2.34.1
- Update from 2.33.1 to 2.34.1
- Update of rootfile - The "--preserve-merges" option of "git rebase" has been removed.
- Changelog is too large to include here.
   The changes for version 2.34.0 can be found in the source tarball in
   Documentation/RelNotes/2.34.0.txt and for version 2.34.1 in
   Documentation/RelNotes/2.34.1.txt

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Reviewed-by: Michael Tremer <michael.tremer@ipfire.org>
2021-12-09 20:45:03 +01:00
Adolf Belka
642318cbaa git: Update to version 2.33.1
- Update from 2.31.0 to 2.33.1
- Update rootfile
- Changelog is too long to show here. The details can be found in the 2.31.1.txt,
   2.32.0.txt, 2.33.0.txt and 2.33.1.txt files in the Documentation/RelNotes
   directory in the source tarball

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2021-10-25 16:57:48 +00:00
Adolf Belka
5683592675 git: Update to 2.31.0
- Update git from 2.28.0 to 2.31.0
- Updated rootfile
- Changelog
   Nine releases between these two versions so the changes are too many
    to enter here.
   The change logs for each version can be found in the tarball under
    Documentation/RelNotes

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2021-03-22 10:44:24 +00:00
Michael Tremer
85c2e400ff git: Bump package version
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-11-10 11:17:46 +00:00
Erik Kapfer
dba1a21403 git: Update to version 2.28.0
Several changes s been made since version 2.12.2 .
The documentation RelNotes of Git can be found in here --> https://github.com/git/git/tree/master/Documentation/RelNotes .

Signed-off-by: Erik Kapfer <ummeegge@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2020-09-30 09:58:26 +00:00
Michael Tremer
2dc2a27803 lfs: Drop quotes in DEPS variable
Not sure why this has ever been there. This simply makes it
nicer to read and edit because we can have line-breaks now.

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2020-03-24 08:57:27 +00:00
Arne Fitzenreiter
8f520a2d1d rootfile update and bump of all addons with perl modules
Signed-off-by: Arne Fitzenreiter <arne_f@ipfire.org>
2019-08-16 12:59:46 +02:00
Peter Müller
eee037b890 update disclaimer in LFS files
Most of these files still used old dates and/or domain names for contact
mail addresses. This is now replaced by an up-to-date copyright line.

Just some housekeeping... :-)

Signed-off-by: Peter Müller <peter.mueller@link38.eu>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-09-10 19:20:36 +01:00
Michael Tremer
ca4c354e08 Bump release of all packages linked against OpenSSL
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2018-02-26 16:28:16 +00:00
Marcel Lorenz
4c6b203492 git: update to 2.12.1
Signed-off-by: Marcel Lorenz <marcel.lorenz@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2017-04-18 14:01:59 +01:00
Marcel Lorenz
e2347f49bb git: update to 2.7.4
Remote Code Execution in all git versions: CVE-2016-2324 and CVE-2016-2315
Git version 2.7.4 was released with the fixes for all known vulnerabilities

https://github.com/git/git/tree/master/Documentation/RelNotes

Signed-off-by: Marcel Lorenz <marcel.lorenz@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2016-03-24 15:32:26 +00:00
Marcel Lorenz
4d137b36f1 git: update to 2.7.1
Fixes CVE-2016-2324 and CVE-2016‑2315

Signed-off-by: Marcel Lorenz <marcel.lorenz@ipfire.org>
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2016-03-22 21:59:24 +00:00
Michael Tremer
654f71f1a4 git: Update to version 2.4.4
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2015-06-18 21:01:35 +02:00
Michael Tremer
0967d2ba02 git: Depend on perl modules required for 'send-email'
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
2015-06-17 20:39:38 +02:00
Erik Kapfer
6db53091a3 fetchmail: Update to 6.3.26. 2013-12-26 14:16:23 +01:00
Erik Kapfer
66aeb7b504 git: Update to 1.8.5.2. 2013-12-26 14:10:17 +01:00
Stefan Schantl
28481f1083 git: Update to 1.8.1.
This is a mayor update to the latest stable version of git.
2013-01-03 07:40:42 +01:00
Michael Tremer
9368775639 git: Update to 1.7.9.3. 2012-03-11 16:53:32 +01:00
Arne Fitzenreiter
3a69ea9b79 Updated perl (5.8.9). 2011-01-19 13:23:10 +01:00
Michael Tremer
af0c24aac2 Updated git (again) to 1.6.3.1. 2009-05-17 11:20:46 +02:00
Michael Tremer
cc9299ee44 Updated git to 1.6.3. 2009-05-12 17:31:52 +02:00
Arne Fitzenreiter
49a5137d51 Updated git to 1.6.1.2 2009-02-01 13:59:37 +01:00
Michael Tremer
c3c377e9a0 Updated git to 1.6.0. 2008-08-25 19:05:03 +00:00
Maniacikarus
720d671a08 Updated git to current stable 2008-06-21 01:05:46 +02:00
Michael Tremer
4a3f7cf862 Updated git to 1.5.5. 2008-04-11 08:54:50 +02:00
Michael Tremer
77a2f0af9a Added a git package for building on ipfire. 2008-03-31 21:43:08 +02:00