- New upstream release 3.2.11
* complete rewrite of the program in Typescript * ensure symlinks do not write unexpectedly (gh#electron/asar#322) - Run test suite in %check OBS-URL: https://build.opensuse.org/package/show/devel:languages:nodejs/asar?expand=0&rev=26
This commit is contained in:
commit
42208b5c35
23
.gitattributes
vendored
Normal file
23
.gitattributes
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
## Default LFS
|
||||||
|
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bsp filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.bz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gem filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.jar filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.lzma filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.obscpio filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.oxt filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.pdf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.png filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.rpm filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tbz2 filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.tgz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.txz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.whl filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.xz filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||||
|
*.zst filter=lfs diff=lfs merge=lfs -text
|
1
.gitignore
vendored
Normal file
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
.osc
|
74
asar.changes
Normal file
74
asar.changes
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 10 20:20:43 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream release 3.2.11
|
||||||
|
* complete rewrite of the program in Typescript
|
||||||
|
* ensure symlinks do not write unexpectedly (gh#electron/asar#322)
|
||||||
|
- Run test suite in %check
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun May 5 15:36:24 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream release 3.2.10
|
||||||
|
* Fix relative link error (gh#electron/asar#308)
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Mar 6 20:58:00 UTC 2024 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream version 3.2.9
|
||||||
|
* fix symlink pointing error in filesystem.insertLink
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Nov 8 06:12:12 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream version 3.2.8
|
||||||
|
* better error message when extracting a file that doesn't exist in the archive
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Sep 27 04:34:29 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream version 3.2.7
|
||||||
|
* ensure that files/folders whose names are properties of Object.prototype are packaged/extracted correctly
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 26 09:13:12 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream version 3.2.6
|
||||||
|
* Don't overwrite existing folders
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Sep 19 17:12:27 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
|
||||||
|
- New upstream version 3.2.5
|
||||||
|
* properly handle rejections on `createPackageWithOptions`
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Jan 17 21:50:31 UTC 2023 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
- New upstream version 3.2.3
|
||||||
|
* fix bad output on unknown CLI command
|
||||||
|
* update vendored dependencies
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Fri Nov 4 18:10:42 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
- New upstream version 3.2.2
|
||||||
|
* Fix allowing nested empty directories.
|
||||||
|
- New upstream version 3.2.1
|
||||||
|
* Rename package to @electron/asar
|
||||||
|
- Correct bogus “0.0.0-development” version reported by the program.
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Aug 16 15:09:07 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
- New upstream version 3.2.0
|
||||||
|
* give better hints when failing due to bad links
|
||||||
|
- Use github tarball and use yarn to download vendored dependencies per yarn.lock
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Thu Mar 03 00:00:00 UTC 2022 - Bruno Pitrus <brunopitrus@hotmail.com>
|
||||||
|
- Resurrect package and update to 3.1.0
|
||||||
|
- Use local-npm-registry to install dependencies
|
||||||
|
|
||||||
|
-------------------------------------------------------------------
|
||||||
|
Sun Feb 14 15:11:12 UTC 2016 - i@marguerite.su
|
||||||
|
|
||||||
|
- initial version 0.9.1
|
||||||
|
|
132
asar.spec
Normal file
132
asar.spec
Normal file
@ -0,0 +1,132 @@
|
|||||||
|
#
|
||||||
|
# spec file for package asar
|
||||||
|
#
|
||||||
|
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
|
||||||
|
#
|
||||||
|
# All modifications and additions to the file contributed by third parties
|
||||||
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
|
# upon. The license for this file, and modifications and additions to the
|
||||||
|
# file, is the same license as for the pristine package itself (unless the
|
||||||
|
# license for the pristine package is not an Open Source License, in which
|
||||||
|
# case the license is the MIT License). An "Open Source License" is a
|
||||||
|
# license that conforms to the Open Source Definition (Version 1.9)
|
||||||
|
# published by the Open Source Initiative.
|
||||||
|
|
||||||
|
# Please submit bugfixes or comments via http://bugs.opensuse.org/
|
||||||
|
#
|
||||||
|
|
||||||
|
|
||||||
|
Name: asar
|
||||||
|
Version: 3.2.11
|
||||||
|
Release: 0
|
||||||
|
Summary: Creating atom-shell (electron) app packages
|
||||||
|
License: MIT and ISC
|
||||||
|
Group: Development/Languages/NodeJS
|
||||||
|
Url: https://github.com/electron/asar
|
||||||
|
Source0: https://github.com/electron/asar/archive/refs/tags/v%{version}.tar.gz
|
||||||
|
# Created by prepare-vendor.sh
|
||||||
|
Source1: vendor.tar.zst
|
||||||
|
Source2: prepare_vendor.sh
|
||||||
|
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
BuildRequires: fdupes
|
||||||
|
BuildRequires: jq
|
||||||
|
BuildRequires: nodejs-packaging
|
||||||
|
%if 0%{?fedora} >= 37
|
||||||
|
BuildRequires: nodejs-npm
|
||||||
|
%else
|
||||||
|
BuildRequires: npm
|
||||||
|
%endif
|
||||||
|
BuildRequires: typescript
|
||||||
|
BuildRequires: zstd
|
||||||
|
|
||||||
|
%global __requires_exclude ^npm(.*)$
|
||||||
|
Provides: nodejs-asar = %{version}
|
||||||
|
%description
|
||||||
|
Asar is a simple extensive archive format, it works like tar
|
||||||
|
that concatenates all files together without compression, while
|
||||||
|
having random access support.
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%autosetup -p1 -a 1
|
||||||
|
# Use system typescript for building
|
||||||
|
rm -rf node_modules/typescript
|
||||||
|
rm -v node_modules/.bin/ts{c,server}
|
||||||
|
|
||||||
|
%build
|
||||||
|
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
|
||||||
|
npm rebuild --verbose --foreground-scripts
|
||||||
|
# tsc may return a non-zero exit code due to type warnings despite actually succesfully compiling the code.
|
||||||
|
# If it fails to compile, it will be catched anyway in #check.
|
||||||
|
tsc --removeComments --sourceMap false || true
|
||||||
|
|
||||||
|
%install
|
||||||
|
mkdir -pv %{buildroot}%{nodejs_sitelib}/@electron
|
||||||
|
mkdir -pv %{buildroot}%{_bindir}
|
||||||
|
cp -lr . %{buildroot}%{nodejs_sitelib}/@electron/asar
|
||||||
|
ln -srv %{buildroot}%{nodejs_sitelib}/@electron/asar/bin/asar.js %{buildroot}%{_bindir}/asar
|
||||||
|
# symlink old package name
|
||||||
|
ln -srv %{buildroot}%{nodejs_sitelib}/{@electron/,}asar
|
||||||
|
#fix shebang
|
||||||
|
sed -i '1s/env //' %{buildroot}%{nodejs_sitelib}/@electron/asar/bin/asar.js
|
||||||
|
cd %{buildroot}%{nodejs_sitelib}/asar
|
||||||
|
|
||||||
|
# Correct bogus version in package.json
|
||||||
|
jq -cj '.version="%{version}"' package.json > new
|
||||||
|
|
||||||
|
#remove devdependencies
|
||||||
|
jq -cj 'del(.devDependencies)' package.json > tmp
|
||||||
|
mv -v tmp package.json
|
||||||
|
npm prune --omit=dev --verbose --ignore-scripts
|
||||||
|
|
||||||
|
mv -v new package.json
|
||||||
|
|
||||||
|
|
||||||
|
#Remove development garbage
|
||||||
|
find -name example -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name test -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name typings -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name @types -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name .github -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name .circleci -print0 |xargs -r0 -- rm -rvf
|
||||||
|
find -name '*.md' -type f -print -delete
|
||||||
|
find -name '*.markdown' -type f -print -delete
|
||||||
|
find -name '*.ts' -type f -print -delete
|
||||||
|
find -name '.*.yml' -type f -print -delete
|
||||||
|
find -name '.*ignore' -type f -print -delete
|
||||||
|
find -name 'snapcraft*' -type f -print -delete
|
||||||
|
find -name '.git*' -type f -print -delete
|
||||||
|
find -name yarn.lock -type f -print -delete
|
||||||
|
find -name '.yarn*' -type f -print -delete
|
||||||
|
find -name '*package-lock.json' -type f -print -delete
|
||||||
|
find -name '.prettierrc*' -type f -print -delete
|
||||||
|
find -name '.releaserc*' -type f -print -delete
|
||||||
|
find -name tsconfig.json -type f -print -delete
|
||||||
|
|
||||||
|
# Remove empty directories
|
||||||
|
find . -type d -empty -print -delete
|
||||||
|
|
||||||
|
%fdupes %{buildroot}
|
||||||
|
|
||||||
|
%check
|
||||||
|
pushd %{buildroot}%{nodejs_sitelib}/asar
|
||||||
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_build_testing_in_check
|
||||||
|
%{__nodejs} -e 'require("./")'
|
||||||
|
|
||||||
|
#check that the executable starts
|
||||||
|
./bin/asar.js -h
|
||||||
|
popd
|
||||||
|
|
||||||
|
#the actual test suite
|
||||||
|
npx mocha -- --reporter spec --timeout 10000
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%doc CHANGELOG.md README.md
|
||||||
|
%license LICENSE.md
|
||||||
|
%{_bindir}/asar
|
||||||
|
%{nodejs_sitelib}
|
||||||
|
|
||||||
|
%changelog
|
77
prepare_vendor.sh
Normal file
77
prepare_vendor.sh
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
#!/bin/bash -eux
|
||||||
|
|
||||||
|
ASAR_PKGDIR="$(pwd)"
|
||||||
|
ASAR_PKGVERSION=$(<./*.spec grep ^Version | sed -e 's/Version:[ ]*//g')
|
||||||
|
ASAR_URL="https://github.com/electron/asar/archive/refs/tags/v${ASAR_PKGVERSION}.tar.gz"
|
||||||
|
ASAR_TARBALL=v${ASAR_PKGVERSION}.tar.gz
|
||||||
|
ASAR_TMPDIR=$(mktemp --tmpdir -d asar-XXXXXXXX)
|
||||||
|
ASAR_PATH="$ASAR_TMPDIR/asar-$ASAR_PKGVERSION"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo "VERSION: $ASAR_PKGVERSION"
|
||||||
|
echo "PATH: $ASAR_PATH"
|
||||||
|
|
||||||
|
cleanup_tmpdir()
|
||||||
|
{
|
||||||
|
popd 2> /dev/null || exit 1
|
||||||
|
rm -rf "$ASAR_TMPDIR"
|
||||||
|
}
|
||||||
|
trap cleanup_tmpdir SIGINT
|
||||||
|
|
||||||
|
cleanup_and_exit()
|
||||||
|
{
|
||||||
|
cleanup_tmpdir
|
||||||
|
if test "$1" = 0 -o -z "$1"; then
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
exit "$1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ ! -w "$ASAR_TARBALL" ]; then
|
||||||
|
wget "$ASAR_URL"
|
||||||
|
fi
|
||||||
|
|
||||||
|
tar -xf "$ASAR_TARBALL" -C "$ASAR_TMPDIR"
|
||||||
|
|
||||||
|
pushd "$ASAR_PATH" || cleanup_and_exit 1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo ">>>>>> Install npm modules"
|
||||||
|
yarn install --frozen-lockfile --ignore-engines --ignore-platform --ignore-scripts --link-duplicates
|
||||||
|
ret=$?
|
||||||
|
if [ $ret -ne 0 ]; then
|
||||||
|
echo "ERROR: yarn install failed"
|
||||||
|
cleanup_and_exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo ">>>>>> Cleanup object files"
|
||||||
|
find node_modules/ -name "*.node" -print -delete
|
||||||
|
find node_modules/ -name "*.wasm" -print -delete
|
||||||
|
find node_modules/ -name "*.jar" -print -delete
|
||||||
|
find node_modules/ -name "*.dll" -print -delete
|
||||||
|
find node_modules/ -name "*.exe" -print -delete
|
||||||
|
find node_modules/ -name "*.dylib" -print -delete
|
||||||
|
find node_modules/ -name "*.so" -print -delete
|
||||||
|
find node_modules/ -name "*.o" -print -delete
|
||||||
|
find node_modules/ -name "*.a" -print -delete
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
echo '>>>>>> Remove vendored binaries'
|
||||||
|
#We use sponge to avoid a race condition between find and rm
|
||||||
|
find . -type f| sponge |\
|
||||||
|
xargs -P"$(nproc)" -- sh -c 'file "$@" | grep -v '\'': .*script'\'' | grep '\'': .*executable'\'' | tee /dev/stderr | sed '\''s/: .*//'\'' | xargs rm -fv'
|
||||||
|
|
||||||
|
echo ">>>>>> Remove empty directories"
|
||||||
|
find . -type d -empty -print -delete
|
||||||
|
|
||||||
|
echo ">>>>>> Package vendor files"
|
||||||
|
rm -f "${ASAR_PKGDIR}/vendor.tar.zst"
|
||||||
|
ZSTD_CLEVEL=19 ZSTD_NBTHREADS=$(nproc) tar --zstd --sort=name -vvScf "${ASAR_PKGDIR}/vendor.tar.zst" node_modules
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
cleanup_and_exit 1
|
||||||
|
fi
|
||||||
|
echo "vendor $(du -sh "${ASAR_PKGDIR}/vendor.tar.zst")"
|
3
v3.2.10.tar.gz
Normal file
3
v3.2.10.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:b1756c31e8cd42257081b81726b1489a3923709e4cbf86f7d377fab3870b1e26
|
||||||
|
size 83884
|
3
v3.2.11.tar.gz
Normal file
3
v3.2.11.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:17218fe9eb7b1840a306758653f7a5869f1182867cb6b29637393c5d670a8dd1
|
||||||
|
size 49709
|
3
vendor.tar.zst
Normal file
3
vendor.tar.zst
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:868bba63e9833e2434238c004473e661597c93adbe1bc40d9c0cf1897808dd9c
|
||||||
|
size 5366272
|
Loading…
Reference in New Issue
Block a user