2022-12-03T09:46:48 asterisk 16.29.0 -> 20.0.1 https://repology.org/metapackage/asterisk/versions 2022-12-03T09:46:50 attrpath: asterisk 2022-12-03T09:46:50 Checking auto update branch... 2022-12-03T09:46:54 [version] 2022-12-03T09:46:54 [version] generic version rewriter does not support multiple hashes 2022-12-03T09:46:54 [rustCrateVersion] 2022-12-03T09:46:54 [rustCrateVersion] No cargoSha256 found 2022-12-03T09:46:54 [golangModuleVersion] 2022-12-03T09:46:54 [golangModuleVersion] Not a buildGoModule package with vendorSha256 2022-12-03T09:46:54 [updateScript] 2022-12-03T09:46:59 [updateScript] Success 2022-12-03T09:46:59 [updateScript] these 3 derivations will be built: /nix/store/cvywss77z9qs9a5ymg38s81cq8xwk91l-python3-3.9.15-env.drv /nix/store/ylf32d465v6gps4fiqrzqizhcihy9ld4-asterisk-update.drv /nix/store/n57a98jmp0mr5ldyms1lkd4grhh8c1fk-packages.json.drv building '/nix/store/cvywss77z9qs9a5ymg38s81cq8xwk91l-python3-3.9.15-env.drv'... created 285 symlinks in user environment building '/nix/store/ylf32d465v6gps4fiqrzqizhcihy9ld4-asterisk-update.drv'... building '/nix/store/n57a98jmp0mr5ldyms1lkd4grhh8c1fk-packages.json.drv'... Going to be running update for following packages: - asterisk-19.7.0 Press Enter key to continue... Running update for: - asterisk-19.7.0: UPDATING ... - asterisk-19.7.0: DONE. Packages updated! 2022-12-03T09:46:59 2022-12-03T09:46:59 [quotedUrls] 2022-12-03T09:46:59 [quotedUrls] nothing found to replace 2022-12-03T09:47:00 Diff after rewrites: diff --git a/pkgs/servers/asterisk/versions.json b/pkgs/servers/asterisk/versions.json index 7e6943a6822..d6bb50e44e0 100644 --- a/pkgs/servers/asterisk/versions.json +++ b/pkgs/servers/asterisk/versions.json @@ -1,18 +1,18 @@ { "asterisk_16": { - "sha256": "406a91290e18d25a6fc23ae6b9c56b1fb2bd70216e336c74cf9c26b908c89c3d", - "version": "16.29.0" + "sha256": "1b7c158a29f26c1f483719227da6f2179a30db04e80aad60e03d2b1cc2560df5", + "version": "16.29.1" }, "asterisk_18": { - "sha256": "a963dafeba0e7e1051a1ac56964999c111dbcdb25a47010bc1f772bf8edbed75", - "version": "18.15.0" + "sha256": "7594b045e1979a6e80f07ecfff634204830917fd2a7686b161cf4849454f4531", + "version": "18.15.1" }, "asterisk_19": { - "sha256": "832a967c5a040b0768c0e8df1646762f7304019fcf7f2e065a8b4828fa4092b7", - "version": "19.7.0" + "sha256": "095bcafc06615b01d486f3bd80aa261a01f82b859af6ea733b5cf4d03e34254f", + "version": "19.7.1" }, "asterisk_20": { - "sha256": "949022c20dc6da65b456e1b1b5b42a7901bb41fc9ce20920891739e7220d72eb", - "version": "20.0.0" + "sha256": "52ae561893553f6cdaf3b295182f5d55dc8b950d210356a19708775cabe20085", + "version": "20.0.1" } } 2022-12-03T09:48:27 Old version 19.7.0" not present in master derivation file with contents: { stdenv, lib, fetchurl, fetchsvn, fetchFromGitHub, jansson, libedit, libxml2, libxslt, ncurses, openssl, sqlite, util-linux, dmidecode, libuuid, newt, lua, speex, libopus, opusfile, libogg, srtp, wget, curl, iksemel, pkg-config, autoconf, libtool, automake, fetchpatch, python39, writeScript, withOpus ? true, }: let # remove when upgrading to pjsip >2.12.1 pjsip_patches = [ (fetchpatch { name = "0150-CVE-2022-31031.patch"; url = "https://github.com/pjsip/pjproject/commit/450baca94f475345542c6953832650c390889202.patch"; sha256 = "sha256-30kHrmB51UIw4x/J6/CD+vPKf/gBYDCcFoUpwEWkDMY="; }) (fetchpatch { name = "0151-CVE-2022-39244.patch"; url = "https://github.com/pjsip/pjproject/commit/c4d34984ec92b3d5252a7d5cddd85a1d3a8001ae.patch"; sha256 = "sha256-hTUMh6bYAizn6GF+sRV1vjKVxSf9pnI+eQdPOqsdJI4="; }) (fetchpatch { name = "0152-CVE-2022-39269.patch"; url = "https://github.com/pjsip/pjproject/commit/d2acb9af4e27b5ba75d658690406cec9c274c5cc.patch"; sha256 = "sha256-bKE/MrRAqN1FqD2ubhxIOOf5MgvZluHHeVXPjbR12iQ="; }) ]; common = {version, sha256, externals}: stdenv.mkDerivation { inherit version; pname = "asterisk"; buildInputs = [ jansson libedit libxml2 libxslt ncurses openssl sqlite dmidecode libuuid newt lua speex srtp wget curl iksemel ] ++ lib.optionals withOpus [ libopus opusfile libogg ]; nativeBuildInputs = [ util-linux pkg-config autoconf libtool automake ]; patches = [ # We want the Makefile to install the default /var skeleton # under ${out}/var but we also want to use /var at runtime. # This patch changes the runtime behavior to look for state # directories in /var rather than ${out}/var. ./runtime-vardirs.patch ] ++ lib.optional withOpus "${asterisk-opus}/asterisk.patch"; postPatch = '' echo "PJPROJECT_CONFIG_OPTS += --prefix=$out" >> third-party/pjproject/Makefile.rules ''; src = fetchurl { url = "https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz"; inherit sha256; }; # The default libdir is $PREFIX/usr/lib, which causes problems when paths # compiled into Asterisk expect ${out}/usr/lib rather than ${out}/lib. # Copy in externals to avoid them being downloaded; # they have to be copied, because the modification date is checked. # If you are getting a permission denied error on this dir, # you're likely missing an automatically downloaded dependency preConfigure = '' mkdir externals_cache ${lib.concatStringsSep "\n" (lib.mapAttrsToList (dst: src: "cp -r --no-preserve=mode ${src} ${dst}") externals)} ${lib.optionalString (externals ? "addons/mp3") "bash contrib/scripts/get_mp3_source.sh || true"} chmod -w externals_cache ${lib.optionalString withOpus '' cp ${asterisk-opus}/include/asterisk/* ./include/asterisk cp ${asterisk-opus}/codecs/* ./codecs cp ${asterisk-opus}/formats/* ./formats ''} ${lib.concatMapStringsSep "\n" (patch: '' cp ${patch} ./third-party/pjproject/patches/${patch.name} '') pjsip_patches} ./bootstrap.sh ''; configureFlags = [ "--libdir=\${out}/lib" "--with-lua=${lua}/lib" "--with-pjproject-bundled" "--with-externals-cache=$(PWD)/externals_cache" ]; preBuild = '' cat third-party/pjproject/source/pjlib-util/src/pjlib-util/scanner.c make menuselect.makeopts ${lib.optionalString (externals ? "addons/mp3") '' substituteInPlace menuselect.makeopts --replace 'format_mp3 ' "" ''} ${lib.optionalString withOpus '' substituteInPlace menuselect.makeopts --replace 'codec_opus_open_source ' "" substituteInPlace menuselect.makeopts --replace 'format_ogg_opus_open_source ' "" ''} ''; postInstall = '' # Install sample configuration files for this version of Asterisk make samples ${lib.optionalString (lib.versionAtLeast version "17.0.0") "make install-headers"} ''; meta = with lib; { description = "Software implementation of a telephone private branch exchange (PBX)"; homepage = "https://www.asterisk.org/"; license = licenses.gpl2Only; maintainers = with maintainers; [ auntie DerTim1 yorickvp ]; }; }; pjproject_2_12_1 = fetchurl { url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.12.1/pjproject-2.12.1.tar.bz2"; hash = "sha256-DiNH1hB5ZheYzyUjFyk1EtlsMJlgjf+QRVKjEk+hNjc="; }; mp3-202 = fetchsvn { url = "http://svn.digium.com/svn/thirdparty/mp3/trunk"; rev = "202"; sha256 = "1s9idx2miwk178sa731ig9r4fzx4gy1q8xazfqyd7q4lfd70s1cy"; }; asterisk-opus = fetchFromGitHub { owner = "traud"; repo = "asterisk-opus"; # No releases, points to master as of 2022-04-06 rev = "a959f072d3f364be983dd27e6e250b038aaef747"; sha256 = "sha256-CASlTvTahOg9D5jccF/IN10LP/U8rRy9BFCSaHGQfCw="; }; # auto-generated by update.py versions = lib.mapAttrs (_: {version, sha256}: common { inherit version sha256; externals = { "externals_cache/pjproject-2.12.1.tar.bz2" = pjproject_2_12_1; "addons/mp3" = mp3-202; }; }) (lib.importJSON ./versions.json); updateScript_python = python39.withPackages (p: with p; [ packaging beautifulsoup4 requests ]); updateScript = writeScript "asterisk-update" '' #!/usr/bin/env bash exec ${updateScript_python}/bin/python ${toString ./update.py} ''; in { # Supported releases (as of 2022-04-05). # Source: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions # Exact version can be found at https://www.asterisk.org/downloads/asterisk/all-asterisk-versions/ # # Series Type Rel. Date Sec. Fixes EOL # 16.x LTS 2018-10-09 2022-10-09 2023-10-09 # 18.x LTS 2020-10-20 2024-10-20 2025-10-20 # 19.x Standard 2021-11-02 2022-11-02 2023-11-02 # 20.x LTS 2022-11-02 2026-10-19 2027-10-19 asterisk-lts = versions.asterisk_18; asterisk-stable = versions.asterisk_19; asterisk = versions.asterisk_19.overrideAttrs (o: { passthru = (o.passthru or {}) // { inherit updateScript; }; }); } // versions 2022-12-03T15:08:43 asterisk 0 -> 1 2022-12-03T15:08:46 attrpath: asterisk 2022-12-03T15:08:46 Checking auto update branch... 2022-12-03T15:08:49 [version] 2022-12-03T15:08:49 [version] generic version rewriter does not support multiple hashes 2022-12-03T15:08:49 [rustCrateVersion] 2022-12-03T15:08:49 [rustCrateVersion] No cargoSha256 found 2022-12-03T15:08:49 [golangModuleVersion] 2022-12-03T15:08:49 [golangModuleVersion] Not a buildGoModule package with vendorSha256 2022-12-03T15:08:49 [updateScript] 2022-12-03T15:08:54 [updateScript] Success 2022-12-03T15:08:54 [updateScript] Going to be running update for following packages: - asterisk-19.7.0 Press Enter key to continue... Running update for: - asterisk-19.7.0: UPDATING ... - asterisk-19.7.0: DONE. Packages updated! 2022-12-03T15:08:54 2022-12-03T15:08:54 [quotedUrls] 2022-12-03T15:08:54 [quotedUrls] nothing found to replace 2022-12-03T15:08:54 Diff after rewrites: diff --git a/pkgs/servers/asterisk/versions.json b/pkgs/servers/asterisk/versions.json index 7e6943a6822..d6bb50e44e0 100644 --- a/pkgs/servers/asterisk/versions.json +++ b/pkgs/servers/asterisk/versions.json @@ -1,18 +1,18 @@ { "asterisk_16": { - "sha256": "406a91290e18d25a6fc23ae6b9c56b1fb2bd70216e336c74cf9c26b908c89c3d", - "version": "16.29.0" + "sha256": "1b7c158a29f26c1f483719227da6f2179a30db04e80aad60e03d2b1cc2560df5", + "version": "16.29.1" }, "asterisk_18": { - "sha256": "a963dafeba0e7e1051a1ac56964999c111dbcdb25a47010bc1f772bf8edbed75", - "version": "18.15.0" + "sha256": "7594b045e1979a6e80f07ecfff634204830917fd2a7686b161cf4849454f4531", + "version": "18.15.1" }, "asterisk_19": { - "sha256": "832a967c5a040b0768c0e8df1646762f7304019fcf7f2e065a8b4828fa4092b7", - "version": "19.7.0" + "sha256": "095bcafc06615b01d486f3bd80aa261a01f82b859af6ea733b5cf4d03e34254f", + "version": "19.7.1" }, "asterisk_20": { - "sha256": "949022c20dc6da65b456e1b1b5b42a7901bb41fc9ce20920891739e7220d72eb", - "version": "20.0.0" + "sha256": "52ae561893553f6cdaf3b295182f5d55dc8b950d210356a19708775cabe20085", + "version": "20.0.1" } } 2022-12-03T15:10:22 Old version 19.7.0" not present in master derivation file with contents: { stdenv, lib, fetchurl, fetchsvn, fetchFromGitHub, jansson, libedit, libxml2, libxslt, ncurses, openssl, sqlite, util-linux, dmidecode, libuuid, newt, lua, speex, libopus, opusfile, libogg, srtp, wget, curl, iksemel, pkg-config, autoconf, libtool, automake, fetchpatch, python39, writeScript, withOpus ? true, }: let # remove when upgrading to pjsip >2.12.1 pjsip_patches = [ (fetchpatch { name = "0150-CVE-2022-31031.patch"; url = "https://github.com/pjsip/pjproject/commit/450baca94f475345542c6953832650c390889202.patch"; sha256 = "sha256-30kHrmB51UIw4x/J6/CD+vPKf/gBYDCcFoUpwEWkDMY="; }) (fetchpatch { name = "0151-CVE-2022-39244.patch"; url = "https://github.com/pjsip/pjproject/commit/c4d34984ec92b3d5252a7d5cddd85a1d3a8001ae.patch"; sha256 = "sha256-hTUMh6bYAizn6GF+sRV1vjKVxSf9pnI+eQdPOqsdJI4="; }) (fetchpatch { name = "0152-CVE-2022-39269.patch"; url = "https://github.com/pjsip/pjproject/commit/d2acb9af4e27b5ba75d658690406cec9c274c5cc.patch"; sha256 = "sha256-bKE/MrRAqN1FqD2ubhxIOOf5MgvZluHHeVXPjbR12iQ="; }) ]; common = {version, sha256, externals}: stdenv.mkDerivation { inherit version; pname = "asterisk"; buildInputs = [ jansson libedit libxml2 libxslt ncurses openssl sqlite dmidecode libuuid newt lua speex srtp wget curl iksemel ] ++ lib.optionals withOpus [ libopus opusfile libogg ]; nativeBuildInputs = [ util-linux pkg-config autoconf libtool automake ]; patches = [ # We want the Makefile to install the default /var skeleton # under ${out}/var but we also want to use /var at runtime. # This patch changes the runtime behavior to look for state # directories in /var rather than ${out}/var. ./runtime-vardirs.patch ] ++ lib.optional withOpus "${asterisk-opus}/asterisk.patch"; postPatch = '' echo "PJPROJECT_CONFIG_OPTS += --prefix=$out" >> third-party/pjproject/Makefile.rules ''; src = fetchurl { url = "https://downloads.asterisk.org/pub/telephony/asterisk/old-releases/asterisk-${version}.tar.gz"; inherit sha256; }; # The default libdir is $PREFIX/usr/lib, which causes problems when paths # compiled into Asterisk expect ${out}/usr/lib rather than ${out}/lib. # Copy in externals to avoid them being downloaded; # they have to be copied, because the modification date is checked. # If you are getting a permission denied error on this dir, # you're likely missing an automatically downloaded dependency preConfigure = '' mkdir externals_cache ${lib.concatStringsSep "\n" (lib.mapAttrsToList (dst: src: "cp -r --no-preserve=mode ${src} ${dst}") externals)} ${lib.optionalString (externals ? "addons/mp3") "bash contrib/scripts/get_mp3_source.sh || true"} chmod -w externals_cache ${lib.optionalString withOpus '' cp ${asterisk-opus}/include/asterisk/* ./include/asterisk cp ${asterisk-opus}/codecs/* ./codecs cp ${asterisk-opus}/formats/* ./formats ''} ${lib.concatMapStringsSep "\n" (patch: '' cp ${patch} ./third-party/pjproject/patches/${patch.name} '') pjsip_patches} ./bootstrap.sh ''; configureFlags = [ "--libdir=\${out}/lib" "--with-lua=${lua}/lib" "--with-pjproject-bundled" "--with-externals-cache=$(PWD)/externals_cache" ]; preBuild = '' cat third-party/pjproject/source/pjlib-util/src/pjlib-util/scanner.c make menuselect.makeopts ${lib.optionalString (externals ? "addons/mp3") '' substituteInPlace menuselect.makeopts --replace 'format_mp3 ' "" ''} ${lib.optionalString withOpus '' substituteInPlace menuselect.makeopts --replace 'codec_opus_open_source ' "" substituteInPlace menuselect.makeopts --replace 'format_ogg_opus_open_source ' "" ''} ''; postInstall = '' # Install sample configuration files for this version of Asterisk make samples ${lib.optionalString (lib.versionAtLeast version "17.0.0") "make install-headers"} ''; meta = with lib; { description = "Software implementation of a telephone private branch exchange (PBX)"; homepage = "https://www.asterisk.org/"; license = licenses.gpl2Only; maintainers = with maintainers; [ auntie DerTim1 yorickvp ]; }; }; pjproject_2_12_1 = fetchurl { url = "https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.12.1/pjproject-2.12.1.tar.bz2"; hash = "sha256-DiNH1hB5ZheYzyUjFyk1EtlsMJlgjf+QRVKjEk+hNjc="; }; mp3-202 = fetchsvn { url = "http://svn.digium.com/svn/thirdparty/mp3/trunk"; rev = "202"; sha256 = "1s9idx2miwk178sa731ig9r4fzx4gy1q8xazfqyd7q4lfd70s1cy"; }; asterisk-opus = fetchFromGitHub { owner = "traud"; repo = "asterisk-opus"; # No releases, points to master as of 2022-04-06 rev = "a959f072d3f364be983dd27e6e250b038aaef747"; sha256 = "sha256-CASlTvTahOg9D5jccF/IN10LP/U8rRy9BFCSaHGQfCw="; }; # auto-generated by update.py versions = lib.mapAttrs (_: {version, sha256}: common { inherit version sha256; externals = { "externals_cache/pjproject-2.12.1.tar.bz2" = pjproject_2_12_1; "addons/mp3" = mp3-202; }; }) (lib.importJSON ./versions.json); updateScript_python = python39.withPackages (p: with p; [ packaging beautifulsoup4 requests ]); updateScript = writeScript "asterisk-update" '' #!/usr/bin/env bash exec ${updateScript_python}/bin/python ${toString ./update.py} ''; in { # Supported releases (as of 2022-04-05). # Source: https://wiki.asterisk.org/wiki/display/AST/Asterisk+Versions # Exact version can be found at https://www.asterisk.org/downloads/asterisk/all-asterisk-versions/ # # Series Type Rel. Date Sec. Fixes EOL # 16.x LTS 2018-10-09 2022-10-09 2023-10-09 # 18.x LTS 2020-10-20 2024-10-20 2025-10-20 # 19.x Standard 2021-11-02 2022-11-02 2023-11-02 # 20.x LTS 2022-11-02 2026-10-19 2027-10-19 asterisk-lts = versions.asterisk_18; asterisk-stable = versions.asterisk_19; asterisk = versions.asterisk_19.overrideAttrs (o: { passthru = (o.passthru or {}) // { inherit updateScript; }; }); } // versions