From ad14f1bafd61e652fb117fa2842d02d63e6f0ed6 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Mon, 13 Apr 2020 14:52:04 -0400 Subject: [PATCH] Update to 3.5.0 Bundle the build dependencies in the source RPM Drop unneeded patches Update .gitignore Signed-off-by: Stephen Gallagher --- .gitignore | 4 ++ disable-insight-tracking.patch | 60 ---------------- js-jquery-disable-gzip-js.patch | 25 +++++-- js-jquery.spec | 52 +++++++------- remove-typeofs.patch | 18 ----- sources | 3 +- update-sources.sh | 118 ++++++++++++++++++++++++++++++++ 7 files changed, 169 insertions(+), 111 deletions(-) delete mode 100644 disable-insight-tracking.patch delete mode 100644 remove-typeofs.patch create mode 100755 update-sources.sh diff --git a/.gitignore b/.gitignore index bf0694b..77cd870 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,9 @@ +*.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 diff --git a/disable-insight-tracking.patch b/disable-insight-tracking.patch deleted file mode 100644 index 11849a6..0000000 --- a/disable-insight-tracking.patch +++ /dev/null @@ -1,60 +0,0 @@ -diff --git a/build/tasks/build.js b/build/tasks/build.js -index 69916bf..58e65ad 100644 ---- a/build/tasks/build.js -+++ b/build/tasks/build.js -@@ -10,7 +10,6 @@ module.exports = function( grunt ) { - - var fs = require( "fs" ), - requirejs = require( "requirejs" ), -- Insight = require( "insight" ), - pkg = require( "../../package.json" ), - srcFolder = __dirname + "/../../src/", - rdefineEnd = /\}\s*?\);[^}\w]*$/, -@@ -337,46 +336,16 @@ module.exports = function( grunt ) { - grunt.registerTask( "custom", function() { - var args = this.args, - modules = args.length ? args[ 0 ].replace( /,/g, ":" ) : "", -- done = this.async(), -- insight = new Insight( { -- trackingCode: "UA-1076265-4", -- pkg: pkg -- } ); -+ done = this.async(); - - function exec( trackingAllowed ) { -- var tracks = args.length ? args[ 0 ].split( "," ) : []; - var defaultPath = [ "build", "custom" ]; - -- tracks = tracks.map( function( track ) { -- return track.replace( /\//g, "+" ); -- } ); -- -- if ( trackingAllowed ) { -- -- // Track individuals -- tracks.forEach( function( module ) { -- var path = defaultPath.concat( [ "individual" ], module ); -- -- insight.track.apply( insight, path ); -- } ); -- -- // Track full command -- insight.track.apply( insight, defaultPath.concat( [ "full" ], tracks ) ); -- } -- - grunt.task.run( [ "build:*:*" + ( modules ? ":" + modules : "" ), "uglify", "dist" ] ); - done(); - } - - grunt.log.writeln( "Creating custom build...\n" ); - -- // Ask for permission the first time -- if ( insight.optOut === undefined ) { -- insight.askPermission( null, function( error, result ) { -- exec( result ); -- } ); -- } else { -- exec( !insight.optOut ); -- } - } ); - }; diff --git a/js-jquery-disable-gzip-js.patch b/js-jquery-disable-gzip-js.patch index f9f533e..a76ca1c 100644 --- a/js-jquery-disable-gzip-js.patch +++ b/js-jquery-disable-gzip-js.patch @@ -1,14 +1,29 @@ +From da2978fde58fb84175ae0b9b7a83c963430a7747 Mon Sep 17 00:00:00 2001 +From: Stephen Gallagher +Date: Mon, 13 Apr 2020 14:04:00 -0400 +Subject: [PATCH] Disable gzip-js + +Signed-off-by: Stephen Gallagher +--- + Gruntfile.js | 1 - + 1 file changed, 1 deletion(-) + diff --git a/Gruntfile.js b/Gruntfile.js -index 12ae008..5d541f2 100644 +index 486a0f303932734b868b065d3c7b99a36002fac5..5ff8cdec4810d0cdf2180da2f4432020f91e6b10 100644 --- a/Gruntfile.js +++ b/Gruntfile.js -@@ -12,8 +12,7 @@ module.exports = function( grunt ) { +@@ -11,11 +11,10 @@ module.exports = function( grunt ) { + } catch ( e ) {} return data; } -- var fs = require( "fs" ), -- gzip = require( "gzip-js" ); -+ var fs = require( "fs" ); + var fs = require( "fs" ), +- gzip = require( "gzip-js" ), + isTravis = process.env.TRAVIS, + travisBrowsers = process.env.BROWSERS && process.env.BROWSERS.split( "," ); if ( !grunt.option( "filename" ) ) { grunt.option( "filename", "jquery.js" ); +-- +2.26.0 + diff --git a/js-jquery.spec b/js-jquery.spec index 0cf1338..39e4d04 100644 --- a/js-jquery.spec +++ b/js-jquery.spec @@ -1,6 +1,6 @@ Name: js-jquery -Version: 3.3.1 -Release: 4%{?dist} +Version: 3.5.0 +Release: 2%{?dist} Summary: JavaScript DOM manipulation, event handling, and AJAX library BuildArch: noarch @@ -11,37 +11,29 @@ BuildArch: noarch 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 -# disable missing insight module -Patch2: disable-insight-tracking.patch - -# disable typeofs compress option (not available in current uglify) -Patch3: remove-typeofs.patch BuildRequires: web-assets-devel BuildRequires: nodejs-packaging -BuildRequires: js-sizzle-static Provides: jquery = %{version}-%{release} Provides: %{name}-static = %{version}-%{release} Provides: %{name}%{ver_x} = %{version}-%{release} Provides: %{name}%{ver_x}-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) -BuildRequires: npm(raw-body) -#BuildRequires: npm(strip-json-comments) # won't work on epel7 branch -BuildRequires: nodejs-strip-json-comments - 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 @@ -50,23 +42,21 @@ browsers. With a combination of versatility and extensibility, jQuery has changed the way that millions of people write JavaScript. %prep -%autosetup -p1 -n jquery-%{version} +%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 @@ -90,6 +80,14 @@ ln -s %{version} %{installdir}/%{ver_x}.%{ver_y} %changelog +* 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 diff --git a/remove-typeofs.patch b/remove-typeofs.patch deleted file mode 100644 index 02c2197..0000000 --- a/remove-typeofs.patch +++ /dev/null @@ -1,18 +0,0 @@ -diff --git a/Gruntfile.js b/Gruntfile.js -index 096370a..173dad7 100644 ---- a/Gruntfile.js -+++ b/Gruntfile.js -@@ -261,12 +261,7 @@ module.exports = function( grunt ) { - compress: { - "hoist_funs": false, - loops: false, -- unused: false, -- -- // Support: IE <11 -- // typeofs transformation is unsafe for IE9-10 -- // See https://github.com/mishoo/UglifyJS2/issues/2198 -- typeofs: false -+ unused: false - } - } - } diff --git a/sources b/sources index 619effc..80c4549 100644 --- a/sources +++ b/sources @@ -1 +1,2 @@ -SHA512 (jquery-3.3.1.tar.gz) = 1f718a0128a91e69abfcff9a515b4179a0dee79256953a12a87940358b1f345d9c68e7106a5dfd82d83c947030f040d6ab3b60b0d49362482eac1e78e03f4ac6 +SHA512 (jquery-3.5.0.tar.gz) = a59782f614915ccca99b2529d473961697a28533e85f186e014cc481690fb7480e7c7f7cb9ace49fa0494fa7ab270487c914ce0d9109eb9cdd6e4b58c931ac91 +SHA512 (jquery_3.5.0_node_modules.tar.gz) = b41a3989334a9fa77ff19694459506f50476a0d7de4c022ace904546dd2c18c05d5b3057e36196cf8f0a47de6dec5bd78f32275eddc49cc3fdfefb8000b6a168 diff --git a/update-sources.sh b/update-sources.sh new file mode 100755 index 0000000..b9059c2 --- /dev/null +++ b/update-sources.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +# 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