Script 'mail_helper' called by obssrc
Hello community,
here is the log from the commit of package obs-service-node_modules for
openSUSE:Factory checked in at 2025-10-07 18:25:54
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/obs-service-node_modules (Old)
and /work/SRC/openSUSE:Factory/.obs-service-node_modules.new.11973 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "obs-service-node_modules"
Tue Oct 7 18:25:54 2025 rev:8 rq:1309334 version:2.4.2
Changes:
--------
---
/work/SRC/openSUSE:Factory/obs-service-node_modules/obs-service-node_modules.changes
2024-06-12 15:50:46.937505991 +0200
+++
/work/SRC/openSUSE:Factory/.obs-service-node_modules.new.11973/obs-service-node_modules.changes
2025-10-07 18:26:16.188134460 +0200
@@ -1,0 +2,7 @@
+Mon Oct 06 15:49:58 UTC 2025 - Adam Majer <[email protected]>
+
+- Update to version 2.4.2:
+ * Drop checksum file
+ * Enable handling of workspaces
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ obs-service-node_modules.spec ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:19.372268651 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:19.392269494 +0200
@@ -1,7 +1,7 @@
#
# spec file for package obs-service-node_modules
#
-# Copyright (c) 2024 SUSE LLC
+# Copyright (c) 2025 SUSE LLC and contributors
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: obs-service-node_modules
-Version: 2.4.0
+Version: 2.4.2
Release: 0
Summary: OBS service to download node_modules specified in
package-lock.json
License: MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:19.696282306 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:19.740284161 +0200
@@ -1,6 +1,6 @@
<servicedata>
<service name="tar_scm">
<param
name="url">http://github.com/openSUSE/obs-service-node_modules.git</param>
- <param
name="changesrevision">1daa6a2701acc862dd051e00a131693d7640f189</param></service></servicedata>
+ <param
name="changesrevision">3cf24b69c7a6f86be7f2f18ae541db5d12407f0d</param></service></servicedata>
(No newline at EOF)
++++++ debian.changelog ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:19.884290230 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:19.936292421 +0200
@@ -1,3 +1,9 @@
+obs-service-node-modules (2.4.2-0) unstable; urgency=medium
+
+ * Fix install directory
+
+ -- Adam Majer <[email protected]> Sun, 30 Jun 2024 17:52:50 +0200
+
obs-service-node-modules (2.3.0-0) unstable; urgency=medium
* Initial release.
++++++ debian.dsc ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:20.268306414 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:20.300307763 +0200
@@ -1,6 +1,6 @@
Format: 3.0 (quilt)
Source: obs-service-node-modules
-Version: 2.3.0-0
+Version: 2.4.2-0
Binary: obs-service-node-modules
Maintainer: Ilya Stolyarov <[email protected]>
Architecture: all
++++++ debian.rules ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:20.556318552 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:20.600320406 +0200
@@ -9,7 +9,7 @@
dh_auto_install
install -D -m 755 node_modules.py \
-
./debian/obs-service-node-modules/$(prefix)/lib/${DEB_HOST_MULTIARCH}/obs/service/node_modules
+
./debian/obs-service-node-modules/$(prefix)/lib/obs/service/node_modules
install -m 644 node_modules.service \
-
./debian/obs-service-node-modules/$(prefix)/lib/${DEB_HOST_MULTIARCH}/obs/service/node_modules.service
+
./debian/obs-service-node-modules/$(prefix)/lib/obs/service/node_modules.service
++++++ obs-service-node_modules.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn'
'--exclude=.svnignore' old/obs-service-node_modules/node_modules.py
new/obs-service-node_modules/node_modules.py
--- old/obs-service-node_modules/node_modules.py 2024-01-29
16:43:28.000000000 +0100
+++ new/obs-service-node_modules/node_modules.py 2025-09-29
18:57:40.000000000 +0200
@@ -308,28 +308,42 @@
if "dependencies" in entry:
collect_v2_deps_recursive(path, entry["dependencies"])
+def process_module(module, packages):
+ entry = packages[module]
+ pos = module.find('node_modules/')
+ if pos == -1:
+ # All node modules are still installed under `*/node_modules/` in some
workspace or not
+ # And non-modules, like workspaces, do not have "resolved" elements
+ if "resolved" in entry:
+ raise Exception("unexpected module key: " + module)
+ return
+
+ if "link" in entry and entry["link"] == True:
+ # ignore linked packages, as the "resolved" is path to module
installed elsewhere
+ return
+
+ path = "/" + module
+ module = module[:pos+13]
+ if "resolved" not in entry:
+ fetch_non_resolved_dependency_location(entry, module, path)
+ else:
+ url = entry["resolved"]
+ integrity = entry["integrity"]
+ o = urllib.parse.urlparse(url)
+ if o.scheme.startswith("git+"):
+ add_git_dependency(o, module, "/" + module)
+ else:
+ add_standard_dependency(parse_supported_fetch_url(url), integrity,
module, path)
+
def collect_v3_deps(packages):
deps = packages.keys()
+ # workspaces = packages[""]["workspaces"]
+ # print(workspaces)
for module in sorted(deps):
if module == "":
continue
- if module[:13] != "node_modules/":
- raise Exception("unexpected module key: " + module)
-
- path = "/" + module
- entry = packages[module]
- module = module[13:]
- if "resolved" not in entry:
- fetch_non_resolved_dependency_location(entry, module, path)
- else:
- url = entry["resolved"]
- integrity = entry["integrity"]
- o = urllib.parse.urlparse(url)
- if o.scheme.startswith("git+"):
- add_git_dependency(o, module, "/" + module)
- else:
- add_standard_dependency(parse_supported_fetch_url(url),
integrity, module, path)
+ process_module(module, packages)
def write_rpm_sources(fh, args):
i = args.source_offset if args.source_offset is not None else ''
@@ -360,18 +374,11 @@
else:
raise Exception("This service needs a spec file to operate
with")
- if not args.checksums:
- args.checksums = 'node_modules.sums'
-
args.download = True
def _out(fn):
return os.path.join(args.outdir, fn) if args.outdir else fn
- def update_checksum(fn):
- with open(_out(fn), 'rb') as fh:
- h = hashlib.new(MODULE_MAP[fn].setdefault("algo", 'sha256'),
fh.read())
- MODULE_MAP[fn]["chksum"] = h.hexdigest()
pattern = f"*{args.input}"
input_file = next(reversed(sorted(Path(Path.cwd()).glob(pattern))), None)
@@ -492,17 +499,6 @@
except urllib.error.HTTPError as e:
logging.error(e)
- if args.checksums:
- with open(_out(args.checksums), "w") as fh:
- for fn in sorted(MODULE_MAP):
- if 'algo' not in MODULE_MAP[fn]:
- update_checksum(fn)
- fh.write(
- "{} ({}) = {}\n".format(
- MODULE_MAP[fn]["algo"].upper(), fn,
MODULE_MAP[fn]["chksum"]
- )
- )
-
if args.cpio:
with CpioWriter(_out(args.cpio) + ".new") as c:
for fn in sorted(MODULE_MAP):
@@ -581,9 +577,6 @@
"--source-offset", metavar="N", type=int, help="Spec file source
offset"
)
parser.add_argument(
- "--checksums", metavar="FILE", help="Write BSD style checksum file"
- )
- parser.add_argument(
"--obs-service", metavar="FILE", help="OBS service file for
download_url"
)
parser.add_argument(
++++++ obs-service-node_modules.obsinfo ++++++
--- /var/tmp/diff_new_pack.DTwFyi/_old 2025-10-07 18:26:21.204345863 +0200
+++ /var/tmp/diff_new_pack.DTwFyi/_new 2025-10-07 18:26:21.224346705 +0200
@@ -1,5 +1,5 @@
name: obs-service-node_modules
-version: 2.4.0
-mtime: 1706543008
-commit: 1daa6a2701acc862dd051e00a131693d7640f189
+version: 2.4.2
+mtime: 1759165060
+commit: 3cf24b69c7a6f86be7f2f18ae541db5d12407f0d