diff --git a/.gitignore b/.gitignore index e69de29..7128954 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +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 new file mode 100644 index 0000000..0b28b43 --- /dev/null +++ b/js-jquery-disable-gzip-js.patch @@ -0,0 +1,11 @@ +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 ) { + + 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 new file mode 100644 index 0000000..86cb6e5 --- /dev/null +++ b/js-jquery.spec @@ -0,0 +1,204 @@ +Name: js-jquery +Version: 3.7.1 +Release: 7%{?dist} +Summary: JavaScript DOM manipulation, event handling, and AJAX library +BuildArch: noarch + +%global ver_x %(echo %{version} | cut -d. -f1) +%global ver_y %(echo %{version} | cut -d. -f2) +%global ver_z %(echo %{version} | cut -d. -f3) + +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: nodejs + +Provides: jquery = %{version}-%{release} +Provides: %{name}-static = %{version}-%{release} +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 +changed the way that millions of people write JavaScript. + +%prep +%autosetup -n jquery-%{version} -v -p1 + +#remove precompiled stuff +rm -rf dist/* + +# Install the cached node modules +tar xf %{SOURCE1} + + +%build +./node_modules/grunt-cli/bin/grunt -v 'build:*:*' uglify + + +%check +./node_modules/grunt-cli/bin/grunt -v 'build:*:*' test:prepare test:fast + + +%install +%global installdir %{buildroot}%{_jsdir}/jquery + +mkdir -p %{installdir}/%{version} +cp -p dist/* %{installdir}/%{version} + +mkdir -p %{buildroot}%{_webassetdir} +ln -s ../javascript/jquery %{buildroot}%{_webassetdir}/jquery + +ln -s %{version} %{installdir}/latest +ln -s %{version} %{installdir}/%{ver_x} +ln -s %{version} %{installdir}/%{ver_x}.%{ver_y} + + +%files +%{_jsdir}/jquery +%{_webassetdir}/jquery +%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/ + +* Tue Oct 21 2014 T.C. Hollingsworth - 2.1.1-4 +- drop unneccessary symlinks + +* Tue Jun 03 2014 T.C. Hollingsworth - 2.1.1-3 +- follow the github SourceURL guidelines + +* Sat May 31 2014 T.C. Hollingsworth - 2.1.1-2 +- drop sed hack now that grunt is fixed + +* Fri May 30 2014 T.C. Hollingsworth - 2.1.1-1 +- update to 2.1.1 +- use system packages for build (with help from Jamie Nguyen) + +* Wed Mar 19 2014 T.C. Hollingsworth - 2.1.0-0.1 +- initial package diff --git a/sources b/sources index e69de29..1c4281a 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +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