diff --git a/.gitignore b/.gitignore index 69924ba..7128954 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,17 @@ +*.swp +jquery-*/* /js-jquery-4dec426aa2a6cbabb1b064319ba7c272d594a688.tar.gz /js-jquery-8f2a9d9272d6ed7f32d3a484740ab342c02541e0.tar.gz +/jquery-2.2.4.tar.gz +/jquery-3.2.1.tar.gz +/jquery-3.3.1.tar.gz +/jquery-3.5.0.tar.gz +/jquery_3.5.0_node_modules.tar.gz +/jquery-3.6.0.tar.gz +/jquery_3.6.0_node_modules.tar.gz +/jquery-3.6.3.tar.gz +/jquery_3.6.3_node_modules.tar.gz +/jquery-3.6.4.tar.gz +/jquery_3.6.4_node_modules.tar.gz +/jquery-3.7.1.tar.gz +/jquery_3.7.1_node_modules.tar.gz diff --git a/js-jquery-disable-gzip-js.patch b/js-jquery-disable-gzip-js.patch index 57fd731..0b28b43 100644 --- a/js-jquery-disable-gzip-js.patch +++ b/js-jquery-disable-gzip-js.patch @@ -1,14 +1,11 @@ -diff --git a/Gruntfile.js b/Gruntfile.js -index d1ad5d4..f1f1a28 100644 ---- a/Gruntfile.js -+++ b/Gruntfile.js -@@ -9,8 +9,7 @@ module.exports = function( grunt ) { - return data; - } +diff -up jquery-3.7.1/Gruntfile.js.gzip jquery-3.7.1/Gruntfile.js +--- jquery-3.7.1/Gruntfile.js.gzip 2023-08-28 07:37:56.000000000 -0600 ++++ jquery-3.7.1/Gruntfile.js 2023-09-01 18:36:58.570497362 -0600 +@@ -14,7 +14,6 @@ module.exports = function( grunt ) { -- var gzip = require( "gzip-js" ), -- srcHintOptions = readOptionalJSON( "src/.jshintrc" ); -+ var srcHintOptions = readOptionalJSON( "src/.jshintrc" ); - - // The concatenated file won't pass onevar - // But our modules can + const fs = require( "fs" ); + const { spawn } = require( "child_process" ); +- const gzip = require( "gzip-js" ); + const nodeV16OrNewer = !/^v1[0-5]\./.test( process.version ); + const nodeV17OrNewer = !/^v1[0-6]\./.test( process.version ); + const customBrowsers = process.env.BROWSERS && process.env.BROWSERS.split( "," ); diff --git a/js-jquery.spec b/js-jquery.spec index ffeb43f..86cb6e5 100644 --- a/js-jquery.spec +++ b/js-jquery.spec @@ -1,9 +1,6 @@ -%global commit 8f2a9d9272d6ed7f32d3a484740ab342c02541e0 -%global shortcommit %(c=%{commit}; echo ${c:0:7}) - Name: js-jquery -Version: 2.1.3 -Release: 1%{?dist} +Version: 3.7.1 +Release: 7%{?dist} Summary: JavaScript DOM manipulation, event handling, and AJAX library BuildArch: noarch @@ -11,55 +8,56 @@ BuildArch: noarch %global ver_y %(echo %{version} | cut -d. -f2) %global ver_z %(echo %{version} | cut -d. -f3) -License: MIT -URL: http://jquery.com/ -Source0: https://github.com/jquery/jquery/archive/%{commit}/%{name}-%{commit}.tar.gz +License: MIT +URL: https://jquery.com/ +Source0: https://github.com/jquery/jquery/archive/%{version}/jquery-%{version}.tar.gz +# Created by ./update-sources.sh +Source1: jquery_%{version}_node_modules.tar.gz # disable gzip-js during build Patch1: %{name}-disable-gzip-js.patch + BuildRequires: web-assets-devel BuildRequires: nodejs-packaging -BuildRequires: js-sizzle-static +BuildRequires: nodejs Provides: jquery = %{version}-%{release} Provides: %{name}-static = %{version}-%{release} - -BuildRequires: nodejs-grunt >= 0.4.4-3 -BuildRequires: npm(shelljs) -BuildRequires: npm(grunt-cli) -BuildRequires: npm(grunt-contrib-uglify) -BuildRequires: npm(load-grunt-tasks) -BuildRequires: npm(requirejs) +Provides: %{name}%{ver_x} = %{version}-%{release} +Provides: %{name}%{ver_x}-static = %{version}-%{release} Requires: web-assets-filesystem +# Bundles sizzle (https://github.com/jquery/sizzle/) in node_modules/sizzle +# Get version from package.json +Provides: bundled(sizzle) = 2.3.5 +Provides: bundled(js-sizzle) = 2.3.5 + + %description jQuery is a fast, small, and feature-rich JavaScript library. It makes things -like HTML document traversal and manipulation, event handling, animation, and -Ajax much simpler with an easy-to-use API that works across a multitude of -browsers. With a combination of versatility and extensibility, jQuery has +like HTML document traversal and manipulation, event handling, animation, and +Ajax much simpler with an easy-to-use API that works across a multitude of +browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. %prep -%setup -qn jquery-%{commit} -%patch1 -p1 +%autosetup -n jquery-%{version} -v -p1 #remove precompiled stuff -rm -rf dist/* src/sizzle +rm -rf dist/* -#put sizzle where jquery expects it -install -Dp %{_jsdir}/sizzle/latest/sizzle.js src/sizzle/dist/sizzle.js +# Install the cached node modules +tar xf %{SOURCE1} %build -%nodejs_symlink_deps --build -grunt -v 'build:*:*' uglify +./node_modules/grunt-cli/bin/grunt -v 'build:*:*' uglify -# missing dependencies -#%%check -#grunt +%check +./node_modules/grunt-cli/bin/grunt -v 'build:*:*' test:prepare test:fast %install @@ -79,10 +77,112 @@ ln -s %{version} %{installdir}/%{ver_x}.%{ver_y} %files %{_jsdir}/jquery %{_webassetdir}/jquery -%doc AUTHORS.txt CONTRIBUTING.md MIT-LICENSE.txt README.md +%doc AUTHORS.txt CONTRIBUTING.md LICENSE.txt README.md %changelog +* Tue Nov 11 2025 Tomas Juhasz - 3.7.1-7 +- Rebuilt for nodejs-packaging + +* Thu Jul 24 2025 Fedora Release Engineering - 3.7.1-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Fri Jan 17 2025 Fedora Release Engineering - 3.7.1-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Thu Jul 18 2024 Fedora Release Engineering - 3.7.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Wed Jan 24 2024 Fedora Release Engineering - 3.7.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Jan 20 2024 Fedora Release Engineering - 3.7.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sat Sep 02 2023 Orion Poplawski - 3.7.1-1 +- Update to 3.7.1 + +* Thu Jul 20 2023 Fedora Release Engineering - 3.6.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Thu Mar 09 2023 Orion Poplawski - 3.6.4-1 +- Update to 3.6.4 + +* Thu Jan 19 2023 Fedora Release Engineering - 3.6.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Thu Dec 22 2022 Orion Poplawski - 3.6.3-1 +- Update to 3.6.3 + +* Thu Jul 21 2022 Fedora Release Engineering - 3.6.0-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Thu Jan 20 2022 Fedora Release Engineering - 3.6.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Mon Jan 17 2022 Orion Poplawski - 3.6.0-1 +- Update to 3.6.0 + +* Thu Jul 22 2021 Fedora Release Engineering - 3.5.0-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Jan 26 2021 Fedora Release Engineering - 3.5.0-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Tue Jul 28 2020 Fedora Release Engineering - 3.5.0-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Fri Apr 17 2020 Stephen Gallagher - 3.5.0-3 +- Add explicit dependency on nodejs + +* Wed Apr 15 2020 Stephen Gallagher - 3.5.0-2 +- Add virtual Provides: for bundled sizzle + +* Mon Apr 13 2020 Stephen Gallagher - 3.5.0-1 +- Update to 3.5.0 +- Bundle the build dependencies in the source RPM +- Drop unneeded patches + +* Wed Jan 29 2020 Fedora Release Engineering - 3.3.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Thu Jul 25 2019 Fedora Release Engineering - 3.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Fri Feb 01 2019 Fedora Release Engineering - 3.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Wed Jul 18 2018 Christopher Tubbs - 3.3.1-1 +- Update to 3.3.1; fixes rhbz#1536772 rhbz#1445079 rhbz#1591846 Security fix for + CVE-2012-6708 + +* Fri Jul 13 2018 Fedora Release Engineering - 3.2.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 3.2.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 3.2.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Wed Apr 12 2017 Christopher Tubbs - 3.2.1-1 +- Update to jQuery 3.2.1 + +* Tue Apr 11 2017 Christopher Tubbs - 2.2.4-3 +- Update provides in prep for js-jquery package rename to js-jquery2 + +* Fri Feb 10 2017 Fedora Release Engineering - 2.2.4-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Tue Dec 20 2016 Christopher Tubbs - 2.2.4-1 +- Update to 2.2.4 and backport XSS patch (bz#1399550,bz#1399549) + +* Thu Feb 04 2016 Fedora Release Engineering - 2.1.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Wed Jun 17 2015 Fedora Release Engineering - 2.1.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + * Wed Mar 04 2015 T.C. Hollingsworth - 2.1.3-1 - new upstream release 2.1.3 http://blog.jquery.com/2014/12/18/jquery-1-11-2-and-2-1-3-released-safari-fail-safe-edition/ diff --git a/sources b/sources index cda457b..1c4281a 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -eba3a924d520e1018b0cc1f0bdd2ffbc js-jquery-8f2a9d9272d6ed7f32d3a484740ab342c02541e0.tar.gz +SHA512 (jquery-3.7.1.tar.gz) = 693a7e70ef70e48742cb98ecfc48e156356d262261c8c457d289172a953dd57f471db827658f9ceb4000eeef069b0c4b14ec453543a5c41b44a95b5865df6643 +SHA512 (jquery_3.7.1_node_modules.tar.gz) = f2bcfd131e4966bdf81321a61cf4b71820fb09fc336f6084a2643afa95e84637b3ae7bd01b735a8e81ba1bfc39b128902c44e620bda46ad68e82626d36fd6865 diff --git a/update-sources.sh b/update-sources.sh new file mode 100755 index 0000000..f8eba2a --- /dev/null +++ b/update-sources.sh @@ -0,0 +1,118 @@ +#!/bin/bash -e + +# Created by argbash-init v2.8.1 +# ARG_POSITIONAL_SINGLE([version]) +# ARG_DEFAULTS_POS() +# ARG_HELP([Download and cache all build dependencies for jquery]) +# ARGBASH_GO() +# needed because of Argbash --> m4_ignore([ +### START OF CODE GENERATED BY Argbash v2.8.1 one line above ### +# Argbash is a bash code generator used to get arguments parsing right. +# Argbash is FREE SOFTWARE, see https://argbash.io for more info + + +die() +{ + local _ret=$2 + test -n "$_ret" || _ret=1 + test "$_PRINT_HELP" = yes && print_help >&2 + echo "$1" >&2 + exit ${_ret} +} + + +begins_with_short_option() +{ + local first_option all_short_options='h' + first_option="${1:0:1}" + test "$all_short_options" = "${all_short_options/$first_option/}" && return 1 || return 0 +} + +# THE DEFAULTS INITIALIZATION - POSITIONALS +_positionals=() +_arg_version= +# THE DEFAULTS INITIALIZATION - OPTIONALS + + +print_help() +{ + printf '%s\n' "Download and cache all build dependencies for jquery" + printf 'Usage: %s [-h|--help] \n' "$0" + printf '\t%s\n' "-h, --help: Prints help" +} + + +parse_commandline() +{ + _positionals_count=0 + while test $# -gt 0 + do + _key="$1" + case "$_key" in + -h|--help) + print_help + exit 0 + ;; + -h*) + print_help + exit 0 + ;; + *) + _last_positional="$1" + _positionals+=("$_last_positional") + _positionals_count=$((_positionals_count + 1)) + ;; + esac + shift + done +} + + +handle_passed_args_count() +{ + local _required_args_string="'version'" + test "${_positionals_count}" -ge 1 || _PRINT_HELP=yes die "FATAL ERROR: Not enough positional arguments - we require exactly 1 (namely: $_required_args_string), but got only ${_positionals_count}." 1 + test "${_positionals_count}" -le 1 || _PRINT_HELP=yes die "FATAL ERROR: There were spurious positional arguments --- we expect exactly 1 (namely: $_required_args_string), but got ${_positionals_count} (the last one was: '${_last_positional}')." 1 +} + + +assign_positional_args() +{ + local _positional_name _shift_for=$1 + _positional_names="_arg_version " + + shift "$_shift_for" + for _positional_name in ${_positional_names} + do + test $# -gt 0 || break + eval "$_positional_name=\${1}" || die "Error during argument parsing, possibly an Argbash bug." 1 + shift + done +} + +parse_commandline "$@" +handle_passed_args_count +assign_positional_args 1 "${_positionals[@]}" + +# OTHER STUFF GENERATED BY Argbash + +### END OF CODE GENERATED BY Argbash (sortof) ### ]) +# [ <-- needed because of Argbash + +version=$_arg_version +rm -rf jquery-$version jquery-$version.tar.gz jquery_${version}_node_modules.tar.gz +wget https://github.com/jquery/jquery/archive/$version/jquery-$version.tar.gz + +tar xf jquery-$version.tar.gz + +pushd jquery-$version +npm install --save-dev +tar cfz ../jquery_${version}_node_modules.tar.gz node_modules + +# Husky tries to install a git hook that doesn't play well with dist-git +npm uninstall husky +popd + +fedpkg new-sources jquery-$version.tar.gz jquery_${version}_node_modules.tar.gz + +# ] <-- needed because of Argbash