pkgsrc/www/gitweb/Makefile

50 lines
1.7 KiB
Makefile
Raw Normal View History

git: updated to 2.19.0 Git 2.19 Release Notes Updates since v2.18 ------------------- UI, Workflows & Features * "git diff" compares the index and the working tree. For paths added with intent-to-add bit, the command shows the full contents of them as added, but the paths themselves were not marked as new files. They are now shown as new by default. "git apply" learned the "--intent-to-add" option so that an otherwise working-tree-only application of a patch will add new paths to the index marked with the "intent-to-add" bit. * "git grep" learned the "--column" option that gives not just the line number but the column number of the hit. * The "-l" option in "git branch -l" is an unfortunate short-hand for "--create-reflog", but many users, both old and new, somehow expect it to be something else, perhaps "--list". This step warns when "-l" is used as a short-hand for "--create-reflog" and warns about the future repurposing of the it when it is used. * The userdiff pattern for .php has been updated. * The content-transfer-encoding of the message "git send-email" sends out by default was 8bit, which can cause trouble when there is an overlong line to bust RFC 5322/2822 limit. A new option 'auto' to automatically switch to quoted-printable when there is such a line in the payload has been introduced and is made the default. * "git checkout" and "git worktree add" learned to honor checkout.defaultRemote when auto-vivifying a local branch out of a remote tracking branch in a repository with multiple remotes that have tracking branches that share the same names. (merge 8d7b558bae ab/checkout-default-remote later to maint). * "git grep" learned the "--only-matching" option. * "git rebase --rebase-merges" mode now handles octopus merges as well. * Add a server-side knob to skip commits in exponential/fibbonacci stride in an attempt to cover wider swath of history with a smaller number of iterations, potentially accepting a larger packfile transfer, instead of going back one commit a time during common ancestor discovery during the "git fetch" transaction. (merge 42cc7485a2 jt/fetch-negotiator-skipping later to maint). * A new configuration variable core.usereplacerefs has been added, primarily to help server installations that want to ignore the replace mechanism altogether. * Teach "git tag -s" etc. a few configuration variables (gpg.format that can be set to "openpgp" or "x509", and gpg.<format>.program that is used to specify what program to use to deal with the format) to allow x.509 certs with CMS via "gpgsm" to be used instead of openpgp via "gnupg". * Many more strings are prepared for l10n. * "git p4 submit" learns to ask its own pre-submit hook if it should continue with submitting. * The test performed at the receiving end of "git push" to prevent bad objects from entering repository can be customized via receive.fsck.* configuration variables; we now have gained a counterpart to do the same on the "git fetch" side, with fetch.fsck.* configuration variables. * "git pull --rebase=interactive" learned "i" as a short-hand for "interactive". * "git instaweb" has been adjusted to run better with newer Apache on RedHat based distros. * "git range-diff" is a reimplementation of "git tbdiff" that lets us compare individual patches in two iterations of a topic. * The sideband code learned to optionally paint selected keywords at the beginning of incoming lines on the receiving end. * "git branch --list" learned to take the default sort order from the 'branch.sort' configuration variable, just like "git tag --list" pays attention to 'tag.sort'. * "git worktree" command learned "--quiet" option to make it less verbose. Performance, Internal Implementation, Development Support etc. * The bulk of "git submodule foreach" has been rewritten in C. * The in-core "commit" object had an all-purpose "void *util" field, which was tricky to use especially in library-ish part of the code. All of the existing uses of the field has been migrated to a more dedicated "commit-slab" mechanism and the field is eliminated. * A less often used command "git show-index" has been modernized. (merge fb3010c31f jk/show-index later to maint). * The conversion to pass "the_repository" and then "a_repository" throughout the object access API continues. * Continuing with the idea to programatically enumerate various pieces of data required for command line completion, teach the codebase to report the list of configuration variables subcommands care about to help complete them. * Separate "rebase -p" codepath out of "rebase -i" implementation to slim down the latter and make it easier to manage. * Make refspec parsing codepath more robust. * Some flaky tests have been fixed. * Continuing with the idea to programmatically enumerate various pieces of data required for command line completion, the codebase has been taught to enumerate options prefixed with "--no-" to negate them. * Build and test procedure for netrc credential helper (in contrib/) has been updated. * Remove unused function definitions and declarations from ewah bitmap subsystem. * Code preparation to make "git p4" closer to be usable with Python 3. * Tighten the API to make it harder to misuse in-tree .gitmodules file, even though it shares the same syntax with configuration files, to read random configuration items from it. * "git fast-import" has been updated to avoid attempting to create delta against a zero-byte-long string, which is pointless. * The codebase has been updated to compile cleanly with -pedantic option. (merge 2b647a05d7 bb/pedantic later to maint). * The character display width table has been updated to match the latest Unicode standard. (merge 570951eea2 bb/unicode-11-width later to maint). * test-lint now looks for broken use of "VAR=VAL shell_func" in test scripts. * Conversion from uchar[40] to struct object_id continues. * Recent "security fix" to pay attention to contents of ".gitmodules" while accepting "git push" was a bit overly strict than necessary, which has been adjusted. * "git fsck" learns to make sure the optional commit-graph file is in a sane state. * "git diff --color-moved" feature has further been tweaked. * Code restructuring and a small fix to transport protocol v2 during fetching. * Parsing of -L[<N>][,[<M>]] parameters "git blame" and "git log" take has been tweaked. * lookup_commit_reference() and friends have been updated to find in-core object for a specific in-core repository instance. * Various glitches in the heuristics of merge-recursive strategy have been documented in new tests. * "git fetch" learned a new option "--negotiation-tip" to limit the set of commits it tells the other end as "have", to reduce wasted bandwidth and cycles, which would be helpful when the receiving repository has a lot of refs that have little to do with the history at the remote it is fetching from. * For a large tree, the index needs to hold many cache entries allocated on heap. These cache entries are now allocated out of a dedicated memory pool to amortize malloc(3) overhead. * Tests to cover various conflicting cases have been added for merge-recursive. * Tests to cover conflict cases that involve submodules have been added for merge-recursive. * Look for broken "&&" chains that are hidden in subshell, many of which have been found and corrected. * The singleton commit-graph in-core instance is made per in-core repository instance. * "make DEVELOPER=1 DEVOPTS=pedantic" allows developers to compile with -pedantic option, which may catch more problematic program constructs and potential bugs. * Preparatory code to later add json output for telemetry data has been added. * Update the way we use Coccinelle to find out-of-style code that need to be modernised. * It is too easy to misuse system API functions such as strcat(); these selected functions are now forbidden in this codebase and will cause a compilation failure. * Add a script (in contrib/) to help users of VSCode work better with our codebase. * The Travis CI scripts were taught to ship back the test data from failed tests. (merge aea8879a6a sg/travis-retrieve-trash-upon-failure later to maint). * The parse-options machinery learned to refrain from enclosing placeholder string inside a "<bra" and "ket>" pair automatically without PARSE_OPT_LITERAL_ARGHELP. Existing help text for option arguments that are not formatted correctly have been identified and fixed. (merge 5f0df44cd7 rs/parse-opt-lithelp later to maint). * Noiseword "extern" has been removed from function decls in the header files. * A few atoms like %(objecttype) and %(objectsize) in the format specifier of "for-each-ref --format=<format>" can be filled without getting the full contents of the object, but just with the object header. These cases have been optimized by calling oid_object_info() API (instead of reading and inspecting the data). * The end result of documentation update has been made to be inspected more easily to help developers. * The API to iterate over all objects learned to optionally list objects in the order they appear in packfiles, which helps locality of access if the caller accesses these objects while as objects are enumerated. * Improve built-in facility to catch broken &&-chain in the tests. * The more library-ish parts of the codebase learned to work on the in-core index-state instance that is passed in by their callers, instead of always working on the singleton "the_index" instance. * A test prerequisite defined by various test scripts with slightly different semantics has been consolidated into a single copy and made into a lazily defined one. (merge 6ec633059a wc/make-funnynames-shared-lazy-prereq later to maint). * After a partial clone, repeated fetches from promisor remote would have accumulated many packfiles marked with .promisor bit without getting them coalesced into fewer packfiles, hurting performance. "git repack" now learned to repack them. * Partially revert the support for multiple hash functions to regain hash comparison performance; we'd think of a way to do this better in the next cycle. * "git help --config" (which is used in command line completion) missed the configuration variables not described in the main config.txt file but are described in another file that is included by it, which has been corrected. * The test linter code has learned that the end of here-doc mark "EOF" can be quoted in a double-quote pair, not just in a single-quote pair.
2018-09-13 12:56:42 +02:00
# $NetBSD: Makefile,v 1.37 2018/09/13 10:56:42 adam Exp $
.include "../../devel/git/Makefile.common"
PKGNAME= ${DISTNAME:S/git/gitweb/}
CATEGORIES= www
COMMENT= Web interface for GIT repositories
#DEPENDS+= apache-[0-9]*:../../www/apache24
2013-09-09 16:07:58 +02:00
DEPENDS+= git-base>=${GIT_VERSION}:../../devel/git-base
#DEPENDS+= {perl>=5.15.8,p5-Time-HiRes>=1.9725}:../../time/p5-Time-HiRes
DEPENDS+= p5-CGI-[0-9]*:../../www/p5-CGI
USE_TOOLS+= perl:run
BUILD_DIRS= gitweb
BUILD_TARGET= gitweb.cgi static/gitweb.js
MAKE_FLAGS= prefix=${PREFIX}
MAKE_FLAGS+= GITWEB_FAVICON=/gitweb/git-favicon.png
MAKE_FLAGS+= GITWEB_CONFIG=${GITWEB_CONFIG}
MAKE_FLAGS+= GITWEB_CSS=/gitweb/gitweb.css
MAKE_FLAGS+= GITWEB_HOMETEXT=${GITWEB_HTDOCS}/indextext.html
MAKE_FLAGS+= GITWEB_LOGO=/gitweb/git-logo.png
MAKE_FLAGS+= GITWEB_JS=/gitweb/gitweb.js
MAKE_FLAGS+= PERL_PATH=${PERL5:Q}
GITWEB_CONFIG= ${PKG_SYSCONFDIR}/gitweb.conf
GITWEB_CGIBIN= ${PREFIX}/libexec/cgi-bin
# Apache wants files in ${PREFIX}/share/httpd/htdocs/gitweb
GITWEB_HTDOCS= ${PREFIX}/share/examples/gitweb/htdocs
GITWEB_EGDIR= ${PREFIX}/share/examples/gitweb
CONF_FILES= ${GITWEB_EGDIR}/gitweb.conf ${PKG_SYSCONFDIR}/gitweb.conf
MESSAGE_SUBST+= CONFFILE=${PKG_SYSCONFDIR}/gitweb.conf
INSTALLATION_DIRS= libexec/cgi-bin share/doc/gitweb \
2008-06-20 03:09:05 +02:00
${GITWEB_EGDIR} ${GITWEB_HTDOCS}
do-install:
2008-06-20 03:09:05 +02:00
${INSTALL_SCRIPT} ${WRKSRC}/gitweb/gitweb.cgi ${DESTDIR}${GITWEB_CGIBIN}
.for f in git-favicon.png git-logo.png gitweb.css gitweb.js
Update to 1.7.3.4. Most importantly: commit 3017ed62f47ce14a959e2d315c434d4980cf4243 Author: Jakub Narebski <jnareb@gmail.com> Date: Wed Dec 15 00:34:01 2010 +0100 gitweb: Introduce esc_attr to escape attributes of HTML elements It is needed only to escape attributes of handcrafted HTML elements, and not those generated using CGI.pm subroutines / methods for HTML generation. While at it, add esc_url and esc_html where needed, and prefer to use CGI.pm HTML generating methods than handcrafted HTML code. Most of those are probably unnecessary (could be exploited only by person with write access to gitweb config, or at least access to the repository). This fixes CVE-2010-3906 Reported-by: Emanuele Gentili <e.gentili@tigersecurity.it> Helped-by: John 'Warthog9' Hawley <warthog9@kernel.org> Helped-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Jakub Narebski <jnareb@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> and lesser changes: 3017ed6 gitweb: Introduce esc_attr to escape attributes of HTML elements d48b284 perl: bump the required Perl version to 5.8 from 5.6.[21] d8a9480 gitweb: Don't die_error in git_tag after already printing headers 22e5e58 Typos in code comments, an error message, documentation 497d9c3 gitweb: clarify search results page when no matching commit found 0b45010 gitweb: Fix typo in run() subroutine 7f425db gitweb: allow configurations that change with each request 61bf126 gitweb: move highlight config out of guess_file_syntax() 109988f gitweb: fix esc_url 869d588 gitweb: Move evaluate_gitweb_config out of run_request 7064994 gitweb/Makefile: fix typo in gitweb.min.css rule 5ed2ec1 gitweb: Return or exit after done serving request ad709ea gitweb: Fix typo in hash key name in %opts in git_header_html 45aa989 gitweb: Run in FastCGI mode if gitweb script has .fcgi extension 18d0532 gitweb: Move static files into seperate subdirectory 04794fd gitweb: Use @diff_opts while using format-patch a0446e7 gitweb: Add support for FastCGI, using CGI::Fast c2394fe gitweb: Put all per-connection code in run() subroutine 592ea41 gitweb: Refactor syntax highlighting support b331fe5 gitweb: Syntax highlighting support 152d943 gitweb: Create install target for gitweb in Makefile 8515392 gitweb: Improve installation instructions in gitweb/INSTALL ee1d8ee gitweb: Silence 'Variable VAR may be unavailable' warnings efb2d0c gitweb: Move generating page title to separate subroutine 7a59745 gitweb: Add custom error handler using die_error c42b00c gitweb: Use nonlocal jump instead of 'exit' in die_error 377bee3 gitweb: href(..., -path_info => 0|1) 8de096b gitweb: simplify gitweb.min.* generation and clean-up rules e391859 gitweb: update INSTALL to use shorter make target a8ab675 gitweb: add documentation to INSTALL regarding gitweb.js bb4bbf7 Gitweb: add autoconfigure support for minifiers 0e6ce21 Gitweb: add support for minifying gitweb.css 890a13a Sync with 1.7.0.4 7a49c25 gitweb: git_get_project_config requires only $git_dir, not also $projec 9be3614 gitweb: Fix project-specific feature override behavior 964ad92 gitweb multiple project roots documentation 1df4876 gitweb: Protect escaping functions against calling on undef 453541f gitweb: esc_html (short) error message in die_error e6e592d gitweb: Die if there are parsing errors in config file 57017b3 gitweb: Simplify (and fix) chop_str aa14013 gitweb: Add optional extra parameter to die_error, for extended explanaion 1ee4b4e gitweb: add a "string" variant of print_sort_th 0cf207f gitweb: add a "string" variant of print_local_time 24d4afc gitweb: Check that $site_header etc. are defined before using them 62331ef gitweb: Makefile improvements b62a1a9 gitweb: Load checking b2c2e4c gitweb.js: Workaround for IE8 bug
2010-12-17 02:19:17 +01:00
${INSTALL_DATA} ${WRKSRC}/gitweb/static/${f} ${DESTDIR}${GITWEB_HTDOCS}
.endfor
${INSTALL_DATA} ${WRKSRC}/gitweb/README \
2008-06-20 03:09:05 +02:00
${DESTDIR}${PREFIX}/share/doc/gitweb
${INSTALL_DATA} ${FILESDIR}/gitweb.conf ${DESTDIR}${GITWEB_EGDIR}
.include "../../mk/bsd.pkg.mk"