#1068750 moment-timezone.js: FTBFS everywhere

#1068750#5
Date:
2024-04-10 10:39:54 UTC
From:
To:
Dear maintainer:

This package currently fails to build from source in all supported distributions.

make[1]: Leaving directory '/<<PKGBUILDDIR>>'
    dh_clean
  debian/rules binary
dh binary
    dh_update_autotools_config
    dh_autoreconf
    debian/rules execute_before_dh_auto_configure
make[1]: Entering directory '/<<PKGBUILDDIR>>'
# Fail the build if the tzdata package does not match TZVER.
grep -q '^# version 2023d$' /usr/share/zoneinfo/tzdata.zi
make[1]: *** [debian/rules:28: execute_before_dh_auto_configure] Error 1
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:24: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

See also:

https://tests.reproducible-builds.org/debian/rb-pkg/unstable/amd64/moment-timezone.js.html

I'm curious: Does this package embed the information from tzdata into javascript code,
in such a way that a change in tzdata requires a rebuild?

I think it would be highly desirable to find a way for this package to do what
it's supposed to do without having to fix it in oldstable and stable every year.

(In fact, I asked Paul Gevers about this, he says that a package which we know
for sure that it will fail to build during the support time of the release is RC).

Thanks.

#1068750#10
Date:
2024-04-22 19:01:56 UTC
From:
To:
Hi Santiago,

Yes, this is expected after each update to tzdata.

Yes. It is the only way I found to keep the package aligned with tzdata
while ensuring it is fully built from source: upstream ships the
pre-compiled tzdata information, so I regenerate those files using the
tzdata package.

Without a new upload, I cannot imagine how.. :-/

It fails to build if tzdata is updated, but it never stops working. It
just needs to be updated as often as tzdata is. But if you have a
suggestion to make this more automatic, I would love to hear it.. I have
been doing this very repetitive maintenance for years!

#1068750#13
Date:
2024-04-22 19:40:14 UTC
From:
To:
Hello,

Bug #1068750 in moment-timezone.js reported by you has been fixed in the
Git repository and is awaiting an upload. You can see the commit
message below and you can check the diff of the fix at:

https://salsa.debian.org/js-team/moment-timezone.js/-/commit/a1ccd03c583206a83c580a1c90d52486f6254416

(this message was generated automatically)
-- 
Greetings

https://bugs.debian.org/1068750

#1068750#20
Date:
2024-04-22 19:49:59 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
moment-timezone.js, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1068750@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Martina Ferrari <tina@debian.org> (supplier of updated moment-timezone.js package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 22 Apr 2024 19:16:15 +0000
Source: moment-timezone.js
Architecture: source
Version: 0.5.45+dfsg-1+2024a
Distribution: unstable
Urgency: medium
Maintainer: Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
Changed-By: Martina Ferrari <tina@debian.org>
Closes: 1068750
Changes:
 moment-timezone.js (0.5.45+dfsg-1+2024a) unstable; urgency=medium
 .
   * New upstream version 0.5.45+dfsg.
   * debian/copyright: Update years.
   * Support tzdata 2024a. Closes: #1068750.
Checksums-Sha1:
 f9663e5bcc9b707788d9415eff453f917706c2f9 2356 moment-timezone.js_0.5.45+dfsg-1+2024a.dsc
 9e582ede7a292da78a80ef33661e443ec2d82b36 1991404 moment-timezone.js_0.5.45+dfsg.orig.tar.xz
 ebf98a19a9ed0a7e4d6b5fe6c38b31b6de0d690c 6364 moment-timezone.js_0.5.45+dfsg-1+2024a.debian.tar.xz
 e79690da0b1e3aa8897293034688090fd684c10c 20437 moment-timezone.js_0.5.45+dfsg-1+2024a_amd64.buildinfo
Checksums-Sha256:
 8ea4fb10516e980fdf541b50ff5b4bd79376ab9d1cf13b41c4a96f58bfc2de69 2356 moment-timezone.js_0.5.45+dfsg-1+2024a.dsc
 605638ef0f6235292fbf571510b2d1751899afd50af4cfed63f024c679b979ee 1991404 moment-timezone.js_0.5.45+dfsg.orig.tar.xz
 f25dae861ebedc15dd0fd0398ea3aeb374fbddc5625f4f9753b08281d8656136 6364 moment-timezone.js_0.5.45+dfsg-1+2024a.debian.tar.xz
 9202e1ed43c137b4b980c9a3382c3644546297185e0ca7d6758be1c0b6a65f33 20437 moment-timezone.js_0.5.45+dfsg-1+2024a_amd64.buildinfo
Files:
 1ef00920ba182620d1634f268e839198 2356 javascript optional moment-timezone.js_0.5.45+dfsg-1+2024a.dsc
 48a03ce04ec6e1e05da7b8aca6734726 1991404 javascript optional moment-timezone.js_0.5.45+dfsg.orig.tar.xz
 1d9aeb8a59f30675dc0c65b5c9909181 6364 javascript optional moment-timezone.js_0.5.45+dfsg-1+2024a.debian.tar.xz
 67b43d90b9c168ba14bcff56c549ab35 20437 javascript optional moment-timezone.js_0.5.45+dfsg-1+2024a_amd64.buildinfo
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE2qbv8cYn6hwmsaaSqiMPxF+MJ7EFAmYmvPYACgkQqiMPxF+M
J7HYyQ//cJ4fcptvMEXyAE3WiF8aS1A7AM6sfmjV1b3R7YgNogAL4u/4dk8eqgvu
4T1iBixPwFtZlYl5cPCuEV4MkHytjPcJ+FVeLBxlnW8Jjq74tE/F7lcWV9we6eA3
+e7fVX61t95kQdt+9ubKzwqQwBmCokZOfkr0xd+HxUSZeAdr+p8SUNKNbwsbOJR8
fzsvQ2GMrSvYDHXaSUhgpqs8LGEDxIKI/kd0aH7TNRn2Di47dqEpTIY09LGqKs1j
ITRi3KxBsAUxe7mPUAI8noa4WDqSYSUZ1Nmw1HnX0DEWkE9lXgObaZ5tjxYGTLJz
uedbE1+0kr6+pssSH6ot9pQ0kGClY3COZGC8n5vPRcie8k7mLczDymg2DnJhjwiZ
MDNLw8uNJR8UtE99knPosbdRp8NPOPcoh4gfkmWpe7X5LMBZQWyn5Aq/VYBV6vCH
5dS8uCxOJYTpVqp4BzI0okgJB6GtCHcFrNr8Q7mrh6WddOVuXNNFdPKXIw73yQS1
BzjdYtb3hIARBEmY/9i+z/4rtVpZv/sCkmf5Y/9HLJ4E9Qe664rtI6biOFmNJ2BO
k1DJ1ov/OTlLtDFnGgb2/JJbBxb/m4K0j6rKMCzByQOWUpSa/axmA5lOCeBBTd9Q
FLBamdSrsXFnvXDhSKzl3XtYHpCtl4zaV5EheoPXZ6YYgTpksWo=
=DveR
-----END PGP SIGNATURE-----

#1068750#25
Date:
2024-04-30 13:01:42 UTC
From:
To:
Sorry, I still don't get it.

Why does the package build needs to fail if tzdata is updated?

What happens if we allow the package to be built anyway?
(as in the attached patch).

Would the resulting package be broken in any way?

Well, I get that you have to make a new upload so that the package is current.
What I don't get is that the package fails to build. At most, it would result
in an improved package, not worse. Or maybe I'm missing anything.

Thanks.

#1068750#30
Date:
2024-04-30 21:41:45 UTC
From:
To:
Hi Santiago,

It works, but then there is no way to embed the (effective) tzdata
version into the moment-timezone.js version, so you could have identical
source packages producing binaries with the same version and different
contents, and no way to depend on it. Plus, it almost always fails to
build anyway, because many of the tests need to be adjusted when tzdata
changes.

The (better) alternative would be to make it always use a fixed tzdata
version, but then tzdata migrations will be blocked each time until I
upload a new version.

What I described above, but I am really open to suggestions on how to
better handle this.

#1068750#35
Date:
2024-09-15 23:19:54 UTC
From:
To:
So it's actually possible to rebuild this package without manual
intervention of its maintainer,
whenever tzdata is updated.
That's what I pushed in the salsa repository.

I think it's a use case for adding
Static-Built-Using: tzdata-legacy

to debian/control ???

I skipped the generated tests for autopkgtests, and kept them only during
build time to avoid the previous solution, which was to embed the tests/*
in the binary package, taking way too much space for that matter.
If running the generated tests during autopkgtests is important, it should
be run in the built source package instead.

Jérémy

#1068750#40
Date:
2024-11-04 10:50:45 UTC
From:
To:
We believe that the bug you reported is fixed in the latest version of
moment-timezone.js, which is due to be installed in the Debian FTP archive.

A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 1068750@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Martina Ferrari <tina@debian.org> (supplier of updated moment-timezone.js package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@ftp-master.debian.org)
Format: 1.8
Date: Mon, 04 Nov 2024 10:27:39 +0000
Source: moment-timezone.js
Binary: libjs-moment-timezone node-moment-timezone
Architecture: source all
Version: 0.5.46+dfsg-1
Distribution: unstable
Urgency: medium
Maintainer: Debian Javascript Maintainers <pkg-javascript-devel@lists.alioth.debian.org>
Changed-By: Martina Ferrari <tina@debian.org>
Description:
 libjs-moment-timezone - Parse and display dates in any timezone
 node-moment-timezone - Parse and display dates in any timezone (node.js library)
Closes: 1068750 1084301
Changes:
 moment-timezone.js (0.5.46+dfsg-1) unstable; urgency=medium
 .
   [ Jérémy Lal ]
   * Rebuild all artifacts from system tzdata. Closes: #1068750.
     This package just needs to be rebuilt against new
     versions of tzdata-legacy, as expected of a build-dependency.
   * Loosen tzdata-legacy dependency
   * Extend excluded files to all generated artifacts.
   * Drop +$(TZVER) suffix.
   * autopkgtest: run only core tests and not build tests.
   * No need to install tests files. Save space.
   * Use a symlink for latest.json
   * Drop autopkgtest-pkg-perl.conf
 .
   [ Martina Ferrari ]
   * Remove lintian overrides for removed files.
   * Add Built-Using information; cannot use Static-Built-Using at this point
     because dh-nodejs (via Debian::Control) does not support it yet.
   * New upstream version 0.5.46+dfsg. Closes: #1084301.
Checksums-Sha1:
 41f2cde5993f833134c489f41dba53ee1da8ce66 2315 moment-timezone.js_0.5.46+dfsg-1.dsc
 754983216bd9f771011cb3cee31ecc37adf797a6 81124 moment-timezone.js_0.5.46+dfsg.orig.tar.xz
 cd9a473f26cb5c74cdf02ebe21305e13d90f5c5a 6668 moment-timezone.js_0.5.46+dfsg-1.debian.tar.xz
 e74f42209603a3bc95e468f21709ca5c7aa43e15 206160 libjs-moment-timezone_0.5.46+dfsg-1_all.deb
 89be6669269092ec3d04a960e99c8a7a4405eb4f 20292 moment-timezone.js_0.5.46+dfsg-1_amd64.buildinfo
 4cd7031c22c44188293da89de37011a22ccbb547 17804 node-moment-timezone_0.5.46+dfsg-1_all.deb
Checksums-Sha256:
 299a653b841db8ae5e41af21b73aa2e414583f4ea658ef8ad45ec818b90fbdf5 2315 moment-timezone.js_0.5.46+dfsg-1.dsc
 f0938be40f03cdf8ec5fd8766f6375baafdc64c52fa84b06aa89d339aab17463 81124 moment-timezone.js_0.5.46+dfsg.orig.tar.xz
 e7f112abad06ef9547fa2724002019296bbec2b56ccb64966203934f1a2cc075 6668 moment-timezone.js_0.5.46+dfsg-1.debian.tar.xz
 fce76488c264a84d10218a3c6e1b0f659519cbd55c2098d4be51831914f0bd90 206160 libjs-moment-timezone_0.5.46+dfsg-1_all.deb
 263096cda6c9dd7802003b48fdfc4fce82ec8b824539505ce94a94fb39f063a0 20292 moment-timezone.js_0.5.46+dfsg-1_amd64.buildinfo
 160f09223f090f63d16345974c4e362d9e8bef358b09dbfde47b111c5884d7fe 17804 node-moment-timezone_0.5.46+dfsg-1_all.deb
Files:
 6fdbe4c8a3c3ae88cbc96bb06bd268c7 2315 javascript optional moment-timezone.js_0.5.46+dfsg-1.dsc
 90b67871d42cda80cf1aff2491744b6d 81124 javascript optional moment-timezone.js_0.5.46+dfsg.orig.tar.xz
 3c97de64e542ba320303ca71e84bc742 6668 javascript optional moment-timezone.js_0.5.46+dfsg-1.debian.tar.xz
 fd52ba0dac7560963f90e78592a5a412 206160 javascript optional libjs-moment-timezone_0.5.46+dfsg-1_all.deb
 7fcf5ee4a8236e1f1a9d8a0a1cf7c29e 20292 javascript optional moment-timezone.js_0.5.46+dfsg-1_amd64.buildinfo
 f577fd8a58d43d392f45d6859289d4e4 17804 javascript optional node-moment-timezone_0.5.46+dfsg-1_all.deb
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEE2qbv8cYn6hwmsaaSqiMPxF+MJ7EFAmcoo+0ACgkQqiMPxF+M
J7EaEw//eIu04W59EWoqsR62ijkeWM29KSwv6VVrxM9ft02iLqjR3PgCx1Fxj6mB
YvBANgkWzGu1f1+rPKbghsOPfLZynBjtctazRlHFJGpGlATB7fuEFr5G4g1Zxlqd
xVB2q+UVazuw/ILxObdu7NrRwE2S0wCuT4DcZjFsuRHA7jecCiLcL4SkSbxGVtAS
L7i1rngMFwf53dDBSSiDkp6Ekgmzxz8MtyZfWBVj7TSKsOAiwWOjG3Qnu+x80I9j
7eMj4lGO0jgcahqHcAHGZ+Fq2uwiRHfoVAd7DEJjYDUGl8zcucu+cXTg33NZMLkd
5Nps7BZN1xpM6ey4OElxU2Sb1gMvgb0bAPrAZ5E8ik9AVS1Um4sWJb7N+9mmWBoP
PHLNy+VEaEthjnvnq7y0+VNnpCRQY9FV9tZfRKUi1URV/QUBfsAczNw1vWWw+7ok
noRKtPTfqTQyetxSQvXdRUVvJ3kI96pNiDRhh0BcoMSZzjPmdYf7AvzpW8tANBmp
Qvlc5j5/Fa7u2kVZbvo6FaDdO+FQfPuFXb8cUpVK/gVbpAwNDmQpzQkuldFj3uRg
PCGq5086l9UQWKndi6FDPxlFWl4oqM5ESY9739a6HQox1ejyn9FsuHa43Gjk1yF8
dbBcQq3S6mMHec6QzXxzxgEYLVZbYYe/3XswW9c93sdqggz1Ib4=
=bCRF
-----END PGP SIGNATURE-----