- Nov 09, 2023
-
-
Andreas Gnau authored
This reverts commit 3c8116c8. It has been a merge that has been acidentally squashed into one commit with the consequence that all history has been lost. The next commit will be a proper merge commit rectifying this.
-
- Oct 03, 2023
-
-
Our commits to the previous version have been rebased.
-
- May 08, 2023
-
-
Sean Bright authored
* Remove .gitreview and switch to pulling the main asterisk branch version from configure.ac instead. * Replace references to JIRA with GitHub. * Other minor cleanup found along the way. Resolves: #39 (cherry picked from commit 5c6d5ea38fd4c4966a91fa8fe4cff417407fff7c)
-
George Joseph authored
* All of the code that used subversion has been removed. * When Asterisk is checked out from a tag or commit instead of one of the regular branches, git would emit messages like "fatal: ref HEAD is not a symbolic ref" which weren't fatal at all. Those are now suppressed. Change-Id: I2a11bc9ebbaf6dfa50f53516ede50a6bac65ca3c (cherry picked from commit bbec5d1a9926c419265fc2382ce14b37a8ec142e)
-
- Jul 13, 2022
-
-
Mike Bradeen authored
make_version now silently checks if the required git commands will fail. If they do, then return UNKNOWN__git_check_fail to distinguish this failure from other UNKNOWN__ version failures Makefile checks for this value on install and exits out with instructions ASTERISK-30029 Change-Id: If8f10cac8f509c08981120f17555762342020221
-
- Mar 29, 2022
-
-
George Joseph authored
get_sourceable_makeopts wasn't handling variables with embedded double quotes in them very well. One example was the DOWNLOAD variable when curl was being used instead of wget. Rather than trying to fix get_sourceable_makeopts, it's just been removed. ASTERISK-29986 Reported by: Stefan Ruijsenaars Change-Id: Idf2a90902228c2558daa5be7a4f8327556099cd2
-
George Joseph authored
get_sourceable_makeopts wasn't handling variables with embedded double quotes in them very well. One example was the DOWNLOAD variable when curl was being used instead of wget. Rather than trying to fix get_sourceable_makeopts, it's just been removed. ASTERISK-29986 Reported by: Stefan Ruijsenaars Change-Id: Idf2a90902228c2558daa5be7a4f8327556099cd2
-
- Mar 23, 2022
-
-
Sean Bright authored
ASTERISK-29980 #close Change-Id: I7b347665822ea2774dd322276c09be67914d2065
-
- Mar 03, 2022
-
-
George Joseph authored
Added functions to open, close, and apply XML Stylesheets to XML documents. Although the presence of libxslt was already being checked by configure, it was only happening if xmldoc was enabled. Now it's checked regardless. Added ability to parse a string consisting of comma separated name/value pairs into an ast_variable list. The reverse of ast_variable_list_join(). Change-Id: I1e1d149be22165a1fb8e88e2903a36bba1a6cf2e
-
George Joseph authored
Added functions to open, close, and apply XML Stylesheets to XML documents. Although the presence of libxslt was already being checked by configure, it was only happening if xmldoc was enabled. Now it's checked regardless. Added ability to parse a string consisting of comma separated name/value pairs into an ast_variable list. The reverse of ast_variable_list_join(). Change-Id: I1e1d149be22165a1fb8e88e2903a36bba1a6cf2e
-
- Mar 01, 2022
-
-
George Joseph authored
Added the missing xml-stylesheet and Xinclude namespace declarations in pjsip_config.xml and pjsip_manager.xml. Updated make_xml_documentation to show detailed errors when xmlstarlet is the validator. It's now run once with the '-q' option to suppress harmless/expected messages and if it actually fails, it's run again without '-q' but with '-e' to show the actual errors. Change-Id: I4bdc9d2ea6741e8d2e5eb82df60c68ccc59e1f5e
-
George Joseph authored
Added the missing xml-stylesheet and Xinclude namespace declarations in pjsip_config.xml and pjsip_manager.xml. Updated make_xml_documentation to show detailed errors when xmlstarlet is the validator. It's now run once with the '-q' option to suppress harmless/expected messages and if it actually fails, it's run again without '-q' but with '-e' to show the actual errors. Change-Id: I4bdc9d2ea6741e8d2e5eb82df60c68ccc59e1f5e
-
- Feb 28, 2022
-
-
George Joseph authored
Moved the xmldoc build logic from the top-level Makefile into its own script "make_xml_documentation" in the build_tools directory. Created a new utility script "get_sourceable_makeopts", also in the build_tools directory, that dumps the top-level "makeopts" file in a format that can be "sourced" from shell sscripts. This allows scripts to easily get the values of common make build variables such as the location of the GREP, SED, AWK, etc. utilities as well as the AST* and library *_LIB and *_INCLUDE variables. Besides moving logic out of the Makefile, some optimizations were done like removing "third-party" from the list of subdirectories to be searched for documentation and changing some assignments from "=" to ":=" so they're only evaluated once. The speed increase is noticeable. The makeopts.in file was updated to include the paths to REALPATH and DIRNAME. The ./conifgure script was setting them but makeopts.in wasn't including them. So... With this change, you can now place documentation in any"c" source file AND you can now place it in a separate XML file altogether. The following are examples of valid locations: res/res_pjsip.c Using the existing /*** DOCUMENTATION ***/ fragment. res/res_pjsip/pjsip_configuration.c Using the existing /*** DOCUMENTATION ***/ fragment. res/res_pjsip/pjsip_doc.xml A fully-formed XML file. The "configInfo", "manager", "managerEvent", etc. elements that would be in the "c" file DOCUMENTATION fragment should be wrapped in proper XML. Example for "somemodule.xml": <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE docs SYSTEM "appdocsxml.dtd"> <docs> <configInfo> ... </configInfo> </docs> It's the "appdocsxml.dtd" that tells make_xml_documentation that this is a documentation XML file and not some other XML file. It also allows many XML-capable editors to do formatting and validation. Other than the ".xml" suffix, the name of the file is not significant. As a start... This change also moves the documentation that was in res_pjsip.c to 2 new XML files in res/res_pjsip: pjsip_config.xml and pjsip_manager.xml. This cut the number of lines in res_pjsip.c in half. :) Change-Id: I486c16c0b5a44d7a8870008e10c941fb19b71ade
-
George Joseph authored
Moved the xmldoc build logic from the top-level Makefile into its own script "make_xml_documentation" in the build_tools directory. Created a new utility script "get_sourceable_makeopts", also in the build_tools directory, that dumps the top-level "makeopts" file in a format that can be "sourced" from shell sscripts. This allows scripts to easily get the values of common make build variables such as the location of the GREP, SED, AWK, etc. utilities as well as the AST* and library *_LIB and *_INCLUDE variables. Besides moving logic out of the Makefile, some optimizations were done like removing "third-party" from the list of subdirectories to be searched for documentation and changing some assignments from "=" to ":=" so they're only evaluated once. The speed increase is noticeable. The makeopts.in file was updated to include the paths to REALPATH and DIRNAME. The ./conifgure script was setting them but makeopts.in wasn't including them. So... With this change, you can now place documentation in any"c" source file AND you can now place it in a separate XML file altogether. The following are examples of valid locations: res/res_pjsip.c Using the existing /*** DOCUMENTATION ***/ fragment. res/res_pjsip/pjsip_configuration.c Using the existing /*** DOCUMENTATION ***/ fragment. res/res_pjsip/pjsip_doc.xml A fully-formed XML file. The "configInfo", "manager", "managerEvent", etc. elements that would be in the "c" file DOCUMENTATION fragment should be wrapped in proper XML. Example for "somemodule.xml": <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE docs SYSTEM "appdocsxml.dtd"> <docs> <configInfo> ... </configInfo> </docs> It's the "appdocsxml.dtd" that tells make_xml_documentation that this is a documentation XML file and not some other XML file. It also allows many XML-capable editors to do formatting and validation. Other than the ".xml" suffix, the name of the file is not significant. As a start... This change also moves the documentation that was in res_pjsip.c to 2 new XML files in res/res_pjsip: pjsip_config.xml and pjsip_manager.xml. This cut the number of lines in res_pjsip.c in half. :) Change-Id: I486c16c0b5a44d7a8870008e10c941fb19b71ade
-
George Joseph authored
Recap from earlier commit: If you have a development branch for a major project that will receive gerrit reviews it'll probably be named something like "development/16/newproject" or a work branch based on that "development" branch. That will necessitate setting "defaultbranch=development/16/newproject" in .gitreview. The make_version script uses that variable to construct the asterisk version however, which results in versions like "GIT-development/16/newproject-ee582a8c7b" which is probably not what you want. It also constructs the URLs for downloading external modules with that version, which will fail. Fast-forward: The earlier attempt at adding a "basebranch" variable to .gitreview didn't work out too well in practice because changes were made to .gitreview, which is a checked-in file. So, if you wanted to rebase your work branch on the base branch, rebase would attempt to overwrite your .gitreview with the one from the base branch and complain about a conflict. This is a slighltly different approach that adds three methods to determine the mainline branch: 1. --- MAINLINE_BRANCH from the environment If MAINLINE_BRANCH is already set in the environment, that will be used. This is primarily for the Jenkins jobs. 2. --- .develvars Instead of storing the basebranch in .gitreview, it can now be stored in a non-checked-in ".develvars" file and keyed by the current branch. So, if you were working on a branch named "new-feature-work" based on "development/16/new-feature" and wanted to push to that branch in Gerrit but wanted to pull the external modules for 16, you'd create the following .develvars file: [branch "new-feature-work"] mainline-branch = 16 The .gitreview file would still look like: [gerrit] defaultbranch=development/16/new-feature ...which would cause any reviews pushed from "new-feature-work" to go to the "development/16/new-feature" branch in Gerrit. The key is that the .develvars file is NEVER checked in (it's been added to .gitignore). 3. --- Well Known Development Branch If you're actually working in a branch named like "development/<mainline_branch>/some-feature", the mainline branch will be parsed from it. 4. --- .gitreview If none of the earlier conditions exist, the .gitreview "defaultbranch" variable will be used just as before. Change-Id: I1cdeeaa0944bba3f2e01d7a2039559d0c266f8c9
-
George Joseph authored
Recap from earlier commit: If you have a development branch for a major project that will receive gerrit reviews it'll probably be named something like "development/16/newproject" or a work branch based on that "development" branch. That will necessitate setting "defaultbranch=development/16/newproject" in .gitreview. The make_version script uses that variable to construct the asterisk version however, which results in versions like "GIT-development/16/newproject-ee582a8c7b" which is probably not what you want. It also constructs the URLs for downloading external modules with that version, which will fail. Fast-forward: The earlier attempt at adding a "basebranch" variable to .gitreview didn't work out too well in practice because changes were made to .gitreview, which is a checked-in file. So, if you wanted to rebase your work branch on the base branch, rebase would attempt to overwrite your .gitreview with the one from the base branch and complain about a conflict. This is a slighltly different approach that adds three methods to determine the mainline branch: 1. --- MAINLINE_BRANCH from the environment If MAINLINE_BRANCH is already set in the environment, that will be used. This is primarily for the Jenkins jobs. 2. --- .develvars Instead of storing the basebranch in .gitreview, it can now be stored in a non-checked-in ".develvars" file and keyed by the current branch. So, if you were working on a branch named "new-feature-work" based on "development/16/new-feature" and wanted to push to that branch in Gerrit but wanted to pull the external modules for 16, you'd create the following .develvars file: [branch "new-feature-work"] mainline-branch = 16 The .gitreview file would still look like: [gerrit] defaultbranch=development/16/new-feature ...which would cause any reviews pushed from "new-feature-work" to go to the "development/16/new-feature" branch in Gerrit. The key is that the .develvars file is NEVER checked in (it's been added to .gitignore). 3. --- Well Known Development Branch If you're actually working in a branch named like "development/<mainline_branch>/some-feature", the mainline branch will be parsed from it. 4. --- .gitreview If none of the earlier conditions exist, the .gitreview "defaultbranch" variable will be used just as before. Change-Id: I1cdeeaa0944bba3f2e01d7a2039559d0c266f8c9
-
- Feb 01, 2022
-
-
Sean Bright authored
In POSIX sh (which we indicate in the shebang), there is no == operator. Change-Id: Ic03d38214d14cdf329b0ba272279a815bb532965
-
Sean Bright authored
In POSIX sh (which we indicate in the shebang), there is no == operator. Change-Id: Ic03d38214d14cdf329b0ba272279a815bb532965
-
George Joseph authored
If you have a development branch for a major project that will receive gerrit reviews it'll probably be named something like "development/16/newproject". That will necessitate setting "defaultbranch=development/16/newproject" in .gitreview. The make_version script uses that variable to construct the asterisk version however, which results in versions like "GIT-development/16/newproject-ee582a8c7b" which is probably not what you want. Worse, since the download_externals script uses make_version to construct the URL to download the binary codecs or DPMA. Since it's expecting a simple numeric version, the downloads will fail. To get this to work, a new variable "basebranch" has been added to .gitreview and make_version has been updated to use that instead of defaultversion: .gitreview: defaultbranch=development/16/myproject basebranch=16 Now git-review will send the reviews to the proper branch (development/16/myproject) but the version will still be constructed using the simple branch number (16). If "basebranch" is missing from .gitreview, make_version will fall back to using "defaultbranch". Change-Id: I2941a3b21e668febeb6cfbc1a7bb51a67726fcc4
-
George Joseph authored
If you have a development branch for a major project that will receive gerrit reviews it'll probably be named something like "development/16/newproject". That will necessitate setting "defaultbranch=development/16/newproject" in .gitreview. The make_version script uses that variable to construct the asterisk version however, which results in versions like "GIT-development/16/newproject-ee582a8c7b" which is probably not what you want. Worse, since the download_externals script uses make_version to construct the URL to download the binary codecs or DPMA. Since it's expecting a simple numeric version, the downloads will fail. To get this to work, a new variable "basebranch" has been added to .gitreview and make_version has been updated to use that instead of defaultversion: .gitreview: defaultbranch=development/16/myproject basebranch=16 Now git-review will send the reviews to the proper branch (development/16/myproject) but the version will still be constructed using the simple branch number (16). If "basebranch" is missing from .gitreview, make_version will fall back to using "defaultbranch". Change-Id: I2941a3b21e668febeb6cfbc1a7bb51a67726fcc4
-
- Jan 19, 2022
-
-
Michał Górny authored
Fix the sed(1) invocation used to process git-svn-id not to use "\s" that is a GNU-ism and is not supported by NetBSD sed. As a result, this call did not work properly and make_version did output the full git-svn-id line rather than the revision. ASTERISK-29852 Change-Id: Ie4b406e2748920643446851a0a252a4ca7245772
-
Michał Górny authored
Fix the sed(1) invocation used to process git-svn-id not to use "\s" that is a GNU-ism and is not supported by NetBSD sed. As a result, this call did not work properly and make_version did output the full git-svn-id line rather than the revision. ASTERISK-29852 Change-Id: Ie4b406e2748920643446851a0a252a4ca7245772
-
- Nov 16, 2021
-
-
Josh Soref authored
Correct typos of the following word families: binutils ASTERISK-29714 Change-Id: I2f676ab48cd50edc400c43307cb53679e4c09b97
-
Josh Soref authored
Correct typos of the following word families: binutils ASTERISK-29714 Change-Id: I2f676ab48cd50edc400c43307cb53679e4c09b97
-
- Oct 15, 2021
-
-
Mike Bradeen authored
download_externals: Add check for i686 and i386 (in addition to the current x86_64) and exit if not one of the three. ASTERISK-26497 Change-Id: Ia4d429fcefa5b2f5b6e99159d4607de8e8325b2f
-
Mike Bradeen authored
download_externals: Add check for i686 and i386 (in addition to the current x86_64) and exit if not one of the three. ASTERISK-26497 Change-Id: Ia4d429fcefa5b2f5b6e99159d4607de8e8325b2f
-
- Aug 17, 2021
-
-
Joshua C. Colp authored
ASTERISK-29598 Change-Id: I8ef17023f55bf01f2e309b06f4778a8ca7252c91
-
Joshua C. Colp authored
ASTERISK-29597 Change-Id: I19bb39eed0257ddfef453eb2df5646d073d50fe1
-
Joshua C. Colp authored
ASTERISK-29596 Change-Id: Ibae9490c1b35cadbf7028d24610f745277c8535e
-
Joshua C. Colp authored
ASTERISK-29595 Change-Id: Ib5c7d43a780f2fb94cee90738e4c1af211ae4a33
-
Joshua C. Colp authored
ASTERISK-29594 Change-Id: I79a9961cb5062fadbccb0ea93f087bdd32685316
-
Joshua C. Colp authored
ASTERISK-29593 Change-Id: Ib53a42ad974c63871344b95078c61c188e43da99
-
- Dec 09, 2020
-
-
lvl authored
As described in the issue, /tmp is not a suitable location for a large amount of cached media files, since most distributions make /tmp a RAM-based tmpfs mount with limited capacity. I opted for a location that can be configured separately, as opposed to using a subdirectory of spooldir, given the different storage profile (transient files vs files that might stay there indefinitely). This commit just makes the cache directory configurable, but leaves it at /tmp by default, to ensure backwards compatibility. A future commit that only targets master could change the default location to something more sensible such as /var/tmp/asterisk. At that point, the cachedir could be created and cleaned up during uninstall by the Makefile script. ASTERISK-29143 Change-Id: Ic54e95199405abacd9e509cef5f08fa14c510b5d
-
lvl authored
As described in the issue, /tmp is not a suitable location for a large amount of cached media files, since most distributions make /tmp a RAM-based tmpfs mount with limited capacity. I opted for a location that can be configured separately, as opposed to using a subdirectory of spooldir, given the different storage profile (transient files vs files that might stay there indefinitely). This commit just makes the cache directory configurable, and changes the default location from /tmp to /var/cache/asterisk. ASTERISK-29143 Change-Id: Ic54e95199405abacd9e509cef5f08fa14c510b5d
-
- Aug 27, 2018
-
-
Corey Farrell authored
This new option can be passed for ./configure or ./tests/CI/buildAsterisk.sh to prevent download/install of binary modules. Normally enabling the categories MENUSELECT_CODECS or MENUSELECT_RES will result in binary modules being enabled even if the build target is incompatible with those modules. This includes CI scripts which enable categories before disabling specific modules. If more binary modules are offered in the future this will help avoid accidentally downloading them if unwanted or incompatible. Adding a binary module will only require creating a new menuselect entry similar to the existing ones, it will not be necessary to modify the CI scripts. Change-Id: I6b1bd1c75a2e48f05b8b8a45b7a7a2d00a079166
-
- Aug 01, 2018
-
-
Corey Farrell authored
Changing any Menuselect option in the `Compiler Flags` section causes a full rebuild of the Asterisk source tree. Every enabled option causes a #define to be added to buildopts.h, thus breaking ccache caching for every source file that includes "asterisk.h". In most cases each option only applies to one or two files. Now we only define those options for the specific sources which use them, this causes much better cache matching when working with multiple builds. For example testing code with an without MALLOC_DEBUG will now use just over half the ccache size, only main/astmm.o will have two builds cached instead of every file. Reorder main/Makefile so _ASTCFLAGS set on specific object files are all together, sorted by filename. Stop adding -DMALLOC_DEBUG to CFLAGS of bundled pjproject, this define is no longer used by any header so only serves to break cache. The only code change is a slight adjustment to how main/astmm.c is initialized. Initialization functions always exist so main/asterisk.c can call them unconditionally. Additionally rename the astmm initialization functions so they are not exported. Change-Id: Ie2085237a964f6e1e6fff55ed046e2afff83c027
-
- Jul 23, 2018
-
-
Richard Mudgett authored
Remove AST_DEVMODE from the AST_BUILDOPTS list and the AST_BUILDOPTS_SUM calculation as it no longer affects API/ABI compatibility. Change-Id: Id5bd6dfade173a53b3a49f715586b86e3fb24acb
-
- Jul 22, 2018
-
-
Corey Farrell authored
Use .gitreview defaultbranch setting to determine the mainline branch. This allows the script to be used against other directories which might not be on the same defaultbranch. This can be used by CI scripts to report the testsuite version being used: ./build_tools/make_version ${TESTSUITE_DIR} Change-Id: Ifdad4a9d8a26138c41bc6b630ecc3e34ea1c2758
-
- Jul 18, 2018
-
-
Joshua Colp authored
I have removed the STATIC_BUILD option immediately as it has not been maintained in many years and is non-functional. ASTERISK-27965 Change-Id: I64783d017b86dba9ee3c7bcfb97e59889a3f76d7
-
- Mar 17, 2018
-
-
Alexander Traud authored
Asterisk does not need the development package of libltdl, because it does not use any symbol of -lltdl directly. Instead, it uses the runtime package via the shared library -lodbc. On the supported platforms, that shared library declares its dependency on -lltdl correctly, otherwise AST_EXT_LIB_CHECK would have failed. ASTERISK-27745 Change-Id: Icd315809b8e7978203431f3afb66240dd3a040ba
-