diff options
29 files changed, 970 insertions, 558 deletions
diff --git a/libre/apache-ant/PKGBUILD b/libre/apache-ant/PKGBUILD index af9dde496..8f95874db 100644 --- a/libre/apache-ant/PKGBUILD +++ b/libre/apache-ant/PKGBUILD @@ -5,67 +5,45 @@ pkgname=apache-ant pkgver=1.9.6 -pkgdesc="A Java-based build tool" -license=('Apache' 'custom:BSD3') -url="http://ant.apache.org/" - -# Arch splits it into pkgname=('apache-ant' 'apache-ant-doc') -provides=("$pkgname-doc=$pkgver") -replaces=("$pkgname-libre" "$pkgname-doc") -conflicts=("$pkgname-libre" "$pkgname-doc") - -pkgrel=1.parabola1 +pkgdesc='A java-based build tool' +pkgrel=1.parabola2 arch=('any') +url='http://ant.apache.org/' +license=('APACHE' 'custom:BSD3') depends=('java-environment') makedepends=('jh') - -_mirror=http://archive.apache.org/dist -source=($_mirror/ant/source/${pkgname}-${pkgver}-src.tar.bz2{,.asc} - ${pkgname}.sh ${pkgname}.csh) -sha512sums=('cfd4fd5da725bb32d85c84f62835ce9511107da89c14487466d58df82d1f2b9ce6e363d3d02b10846c8463cae3287cb787f96f9103121b2e0e045b6027634ff0' - 'SKIP' - 'b5bd49bc99161e86f7198181aff7c47c8045e8cac7b7c1e2531dc49b71f1659ae35f90d33b01076b6bf665aa99f951c47ba09a0408b0aca43184f68ebd201768' - 'c8c4be2928af648e064d4dff9efb71e250d0fb4baa318932a88de04c9c2d328b8b1af0321e732d2f302d25893e1a627da5c72264b8bd6bd50e662ca10e3f50bf') -# Run this to get the validpgpkeys: -# curl -s https://www.apache.org/dist/ant/KEYS | gpg --with-colons --with-fingerprint - | grep ^fpr: | cut -d: -f10 -validpgpkeys=(5B1E231C400B113C061C26508104644F51898504 - 47309207D818FFD8DCD3F83F1931D684307A10A5 - 5F35E131F832ED23F761578BEFA3E779EDF62C35 - CE8075A251547BEE249BC151A2115AE15F6B8B72 - B36135CBA375AA1ADE562A1C6E947594C152431A - F54C925C2454F21D86692540A0BFF93DAA0077B0 - 07C69F931EE82E694E73B54203F68CBDDE8884A0 - 9C60C6B3A5A9DF8FEDD299D65BE0BA8CB80602AE - 14604968898CEB74A5329360AEB01A153B7C75B1 - 5CDF153E81AB0522A1E5BFBE483C23C67BF8BE8E - 7B8E57E91F116BECF9ACE6AF37A0E062971731FB - F19E751B68B907C4F2E6B7B18D6D0AD09711DBFC - 06A228AAB83A18A8DF7B84B08614D6AB265B4C63 - 61B656E44615E2AEF78E8DCF0E69F809710038F5 - 0BADE59B0EC24E68C03CA4815EFAD9FE82A7FBCD) +install=apache-ant.install +source=(https://www.apache.org/dist/ant/source/${pkgname}-${pkgver}-src.tar.bz2 + apache-ant.sh + apache-ant.csh + apache-ant.install + bin_ant + ant.conf + apache-ant-build.patch) +sha256sums=('2ad98dd3a4805452e546e0f5b682360370ae11692a2157fff8ec6d177c957123' + '182b9212610790966d3a018d3cbab2e5327dd9fd11dc15dd1f377853216f5718' + '919a3ab1acae1d0d190fe6e0034b00975caab40e55359a720bfccd098fe2d995' + '3de451d0f963ba96e83f4e068a8325e3d4fc42b1e5c4818e9d7962ed4f5393b3' + '29b443ae3af7e246b4ff0b5ec9f023ae95992db1a010a362e70ca7a65a6df461' + 'b86ce60f61cbd85a9faa61d698b0fc4607f1ff375cd15673aee57f053012eacb' + '3294d6714b276f446517f699d2a26e01ae1738c0adccf9a454ea58454f513687') # This list is adapted from https://ant.apache.org/manual/install.html#librarydependencies # The format is: # jarname:description:pkgname:jarpath _library_dependencies=( - #jakarta-regexp-1.3.jar:Disregard jakarta-oro-2.0.8.jar:'<ftp task>':jakarta-oro:/usr/share/java/jakarta-oro.jar junit.jar:'<junit> task':junit:/usr/share/java/junit.jar xalan.jar:'<junitreport> task':xalan-java:/usr/share/java/xalan.jar antlr.jar:'<antlr> task':java-antlr2:/usr/share/java/antlr2.jar bsf.jar:'<script> task':java-commons-bsf2:/usr/share/java/bsf2.jar groovy-all.jar:'Groovy with <script> and <scriptdef> tasks':groovy:/usr/share/groovy/embeddable/groovy-all.jar - #netrexx.jar:'<netrexx> task, Rexx with <script> task':???????:??????? js.jar:'Javascript with <script> task':java-rhino:/usr/share/java/js.jar jython.jar:'Python with <script> task':jython:/opt/jython/jython.jar - #jpython.jar:Disregard - #jacl.jar:'TCL with <script> task':???????:??????? - #tcljava.jar:'TCL with <script> task':???????:??????? - beanshell.jar:'BeanShell with <script> task':'beanshell>=1.3':/usr/share/java/bsh.jar + beanshell.jar:'BeanShell with <script> task':'beanshell2':/usr/share/java/bsh.jar jruby.jar:'Ruby with <script> task':jruby:/opt/jruby/lib/jruby.jar - #judo.jar:'Judoscript with <script> task':???????:?????? - commons-logging.jar:'CommonsLoggingListener':java-commons-logging:/usr/share/java/commons-logging/commons-logging.jar - #log4j.jar:'Log4jListener':???????:??????? + commons-logging.jar:'CommonsLoggingListener':java-commons-logging:/usr/share/java/commons-logging.jar + log4j.jar:'Log4jListener':'log4j-1.2':'/usr/share/java/log4j-1.2.jar' commons-net.jar:'<ftp>, <rexec> and <telnet> tasks':'java-commons-net1>=1.4.0':/usr/share/java/commons-net.jar bcel.jar:"'classfileset' data type, JavaClassHelper for ClassConstants filter reader":java-bcel:/usr/share/java/bcel.jar mail.jar:'<mimemail> task, mime encoding with <mail>':java-gnumail:/usr/share/java/gnumail.jar @@ -73,7 +51,6 @@ _library_dependencies=( jdepend.jar:'<jdepend> task':java-jdepend:/usr/share/java/jdepend.jar resolver.jar:"external files for 'xmlcatalog' datatype":java-resolver:/usr/share/java/resolver.jar jsch.jar:'<sshexec> and <scp> tasks':'java-jsch>=0.1.42':/usr/share/java/jsch.jar - #jai.jar:'<image> task':???????:??????? ) for _dep in "${_library_dependencies[@]}"; do @@ -83,76 +60,97 @@ for _dep in "${_library_dependencies[@]}"; do done unset _dep _jarname _desc _pkgname _jarpath -build() { - # This directory is what becomes - # http://archive.apache.org/dist/ant/binaries/${pkgname}-${pkgver}-bin.tar.bz2 - # which is what Arch uses - rm -rf "${srcdir}"/${pkgname}-${pkgver}-bin - mkdir -p "${srcdir}"/${pkgname}-${pkgver}-bin +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + rm -rv lib/optional/*.jar + rm -rv src/etc/testcases/taskdefs/conditions/jars/*.jar + + patch -Np1 -i ../apache-ant-build.patch - cd "${srcdir}"/${pkgname}-${pkgver} # Symlink to external optional libraries/ local _dep _jarname _desc _pkgname _jarpath for _dep in "${_library_dependencies[@]}"; do IFS=: read _jarname _desc _pkgname _jarpath <<<"$_dep" ln -sfv "${_jarpath}" lib/optional/${_jarname} done +} + +build() { + cd "${srcdir}/${pkgname}-${pkgver}" + # Build export JAVA_HOME=/usr/lib/jvm/default - sh build.sh -Ddist.dir="${srcdir}"/${pkgname}-${pkgver}-bin dist + sh build.sh dist } package() { - cd "${srcdir}"/${pkgname}-${pkgver}-bin + cd "${srcdir}/${pkgname}-${pkgver}/${pkgbase}-${pkgver}" source "${srcdir}"/${pkgname}.sh # Get the ANT_HOME env var - source "/etc/profile.d/jre.sh" # Get the JAVA_HOME env var - - ## Install profile.d script - install -d "${pkgdir}"/etc/profile.d - install -m755 "${srcdir}"/${pkgname}.{csh,sh} "${pkgdir}"/etc/profile.d/ ## Install the main distribution - install -d "${pkgdir}"/${ANT_HOME} - cp -Rp * "${pkgdir}"/${ANT_HOME} + install -d "${pkgdir}/${ANT_HOME}" + + install -d "${pkgdir}/etc/${pkgname}" + cp -Rp etc/* "${pkgdir}/etc/${pkgname}" + rm "${pkgdir}/etc/${pkgname}/ant-bootstrap.jar" + ln -s /etc/${pkgname} "${pkgdir}${ANT_HOME}/etc" + + install -d "${pkgdir}${ANT_HOME}/bin" + find bin -type f -a ! -name \*.bat -a ! -name \*.cmd \ + -exec install -m755 {} "${pkgdir}${ANT_HOME}/bin" \; + + install -Dm755 "${srcdir}/bin_ant" "${pkgdir}/usr/bin/ant" + install -Dm644 "${srcdir}/ant.conf" "${pkgdir}/etc/apache-ant/ant.conf" - ## Fix the distribution - # Remove Windows .bat/.cmd files - rm -f "${pkgdir}"/${ANT_HOME}/bin/*.{bat,cmd} # Fix python2 path - sed -i 's|/usr/bin/python|/usr/bin/python2|' "${pkgdir}"/${ANT_HOME}/bin/runant.py + sed -i 's|/usr/bin/python|/usr/bin/python2|' "${pkgdir}/${ANT_HOME}/bin/runant.py" + + ## Install profile.d script + install -d "${pkgdir}/etc/profile.d" + install -m755 "${srcdir}"/apache-ant.{csh,sh} "${pkgdir}/etc/profile.d/" + # Symlink to external optional libraries + install -d "${pkgdir}/usr/share/apache-ant/lib" local _dep _jarname _desc _pkgname _jarpath for _dep in "${_library_dependencies[@]}"; do IFS=: read _jarname _desc _pkgname _jarpath <<<"$_dep" ln -svfr "${pkgdir}/${_jarpath}" "${pkgdir}${ANT_HOME}/lib/${_jarname}" done - ## Symlink the /opt distribution to the normal places - - cd "${pkgdir}"/${ANT_HOME}/lib - local pom a - for pom in *.pom; do - a=${pom%.pom} - base=$(jh mvn-basename org.apache.ant $a $pkgver) - install -d "${pkgdir}/${base%/*}" - ln -sfvr "${pkgdir}/${ANT_HOME}/lib/$a.pom" "${pkgdir}/${base}.pom" - if [[ -e "${pkgdir}/${ANT_HOME}/lib/$a.jar" ]]; then - ln -sfvr "${pkgdir}/${ANT_HOME}/lib/$a.jar" "${pkgdir}/${base}.jar" + ## Install Maven artifacts, except 'ant-jai' and 'ant-netrexx' + cd lib + rm {ant-jai,ant-netrexx}.{jar,pom} + install -d "${pkgdir}/usr/share/java/${pkgname}" + + export DESTDIR=${pkgdir} + for artifact in $(printf '%s\n' *.pom|sed 's/\.pom$//'); do + if [[ -f "${artifact}.jar" ]]; then + # This artifact has a jar file + jh mvn-install "org.apache.ant" ${artifact} ${pkgver} \ + "${artifact}.pom" \ + "${artifact}.jar" \ + "${artifact}.jar" + + # Symlink them to /usr/share/java + ln -s "/usr/share/java/${artifact}.jar" \ + "${pkgdir}/usr/share/java/${artifact}-${pkgver}.jar" + ln -s "/usr/share/java/${artifact}.jar" \ + "${pkgdir}/usr/share/java/apache-ant/${artifact}.jar" + ln -s "/usr/share/java/${artifact}.jar" \ + "${pkgdir}/usr/share/apache-ant/lib/${artifact}.jar" + else + # This artifact is just a pom + jh mvn-install "org.apache.ant" ${artifact} ${pkgver} \ + "${artifact}.pom" fi done - cd "${pkgdir}"/${ANT_HOME}/bin - install -d "${pkgdir}"/usr/bin - local prog - for prog in *; do - ln -sfvr "${pkgdir}/${ANT_HOME}/bin/$prog" "${pkgdir}/usr/bin/$prog" - done install -d "${pkgdir}"/usr/share/{doc,licenses}/${pkgname} - ln -sfvrT "${pkgdir}/${ANT_HOME}/README" "${pkgdir}/usr/share/doc/${pkgname}/README" - ln -sfvrT "${pkgdir}/${ANT_HOME}/WHATSNEW" "${pkgdir}/usr/share/doc/${pkgname}/WHATSNEW" - ln -sfvrT "${pkgdir}/${ANT_HOME}/manual" "${pkgdir}/usr/share/doc/${pkgname}/html" - ln -sfvrT "${pkgdir}/${ANT_HOME}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" - ln -sfvrT "${pkgdir}/${ANT_HOME}/NOTICE" "${pkgdir}/usr/share/licenses/${pkgname}/NOTICE" - mv -T "${pkgdir}/${ANT_HOME}/etc" "${pkgdir}/etc/${pkgname}" - ln -sfvrT "${pkgdir}/etc/${pkgname}" "${pkgdir}/${ANT_HOME}/etc" + + # Install documentation + cp "../README" "../WHATSNEW" "${pkgdir}/usr/share/doc/${pkgname}" + cp -r "../manual" "${pkgdir}/usr/share/doc/${pkgname}/html" + + # Install license + install -Dm644 "../LICENSE" "../NOTICE" "${pkgdir}/usr/share/licenses/${pkgname}" } diff --git a/libre/apache-ant/ant.conf b/libre/apache-ant/ant.conf new file mode 100644 index 000000000..10db6db73 --- /dev/null +++ b/libre/apache-ant/ant.conf @@ -0,0 +1,4 @@ +# Apache Ant start script configuration file + +# Optional jars and their dependencies +OPT_JAR_LIST=/usr/share/java/junit.jar diff --git a/libre/apache-ant/apache-ant-build.patch b/libre/apache-ant/apache-ant-build.patch new file mode 100644 index 000000000..dc1d4b455 --- /dev/null +++ b/libre/apache-ant/apache-ant-build.patch @@ -0,0 +1,11 @@ +--- apache-ant-1.9.6.orig/build.xml 2015-06-28 23:46:12.000000000 -0500 ++++ apache-ant-1.9.6/build.xml 2015-12-09 22:07:51.217674735 -0500 +@@ -899,7 +899,7 @@ + =================================================================== + --> + <target name="dist-lite" +- depends="jars,test-jar" ++ depends="jars" + description="--> creates a minimum distribution to run Apache Ant"> + + <mkdir dir="${dist.dir}"/> diff --git a/libre/apache-ant/apache-ant.csh b/libre/apache-ant/apache-ant.csh index fdc04b2f8..a19392b56 100644 --- a/libre/apache-ant/apache-ant.csh +++ b/libre/apache-ant/apache-ant.csh @@ -1,2 +1 @@ -#!/bin/csh -setenv ANT_HOME /opt/apache-ant +setenv ANT_HOME /usr/share/apache-ant diff --git a/libre/apache-ant/apache-ant.install b/libre/apache-ant/apache-ant.install new file mode 100644 index 000000000..6d444337c --- /dev/null +++ b/libre/apache-ant/apache-ant.install @@ -0,0 +1,11 @@ +post_install() { + # Small fix after mistake in previous package version + if [ -e /usr/share/apache-ant/etc/apache-ant ] + then + unlink /usr/share/apache-ant/etc/apache-ant + fi +} + +post_upgrade() { + post_install +} diff --git a/libre/apache-ant/apache-ant.sh b/libre/apache-ant/apache-ant.sh index 6e4809da5..eaa8a54ea 100644 --- a/libre/apache-ant/apache-ant.sh +++ b/libre/apache-ant/apache-ant.sh @@ -1,2 +1 @@ -#!/bin/sh -export ANT_HOME=/opt/apache-ant +export ANT_HOME=/usr/share/apache-ant diff --git a/libre/apache-ant/bin_ant b/libre/apache-ant/bin_ant new file mode 100644 index 000000000..e245dbe52 --- /dev/null +++ b/libre/apache-ant/bin_ant @@ -0,0 +1,6 @@ +#!/bin/sh + +. /etc/apache-ant/ant.conf + +export LOCALCLASSPATH=${OPT_JAR_LIST} +/usr/share/apache-ant/bin/ant "$@" diff --git a/libre/clojure/LICENSE.txt b/libre/clojure/LICENSE.txt new file mode 100644 index 000000000..6d2f00695 --- /dev/null +++ b/libre/clojure/LICENSE.txt @@ -0,0 +1,231 @@ +Eclipse Public License - v 1.0 + +THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE +PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF +THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT. + +1. DEFINITIONS + +"Contribution" means: + + a) in the case of the initial Contributor, the initial code and + documentation distributed under this Agreement, and + + b) in the case of each subsequent Contributor: + + i) changes to the Program, and + + ii) additions to the Program; + +where such changes and/or additions to the Program originate from and +are distributed by that particular Contributor. A Contribution +'originates' from a Contributor if it was added to the Program by such +Contributor itself or anyone acting on such Contributor's +behalf. Contributions do not include additions to the Program which: +(i) are separate modules of software distributed in conjunction with +the Program under their own license agreement, and (ii) are not +derivative works of the Program. + +"Contributor" means any person or entity that distributes the Program. + +"Licensed Patents" mean patent claims licensable by a Contributor +which are necessarily infringed by the use or sale of its Contribution +alone or when combined with the Program. + +"Program" means the Contributions distributed in accordance with this +Agreement. + +"Recipient" means anyone who receives the Program under this +Agreement, including all Contributors. + +2. GRANT OF RIGHTS + + a) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free + copyright license to reproduce, prepare derivative works of, + publicly display, publicly perform, distribute and sublicense the + Contribution of such Contributor, if any, and such derivative + works, in source code and object code form. + + b) Subject to the terms of this Agreement, each Contributor hereby + grants Recipient a non-exclusive, worldwide, royalty-free patent + license under Licensed Patents to make, use, sell, offer to sell, + import and otherwise transfer the Contribution of such + Contributor, if any, in source code and object code form. This + patent license shall apply to the combination of the Contribution + and the Program if, at the time the Contribution is added by the + Contributor, such addition of the Contribution causes such + combination to be covered by the Licensed Patents. The patent + license shall not apply to any other combinations which include + the Contribution. No hardware per se is licensed hereunder. + + c) Recipient understands that although each Contributor grants the + licenses to its Contributions set forth herein, no assurances are + provided by any Contributor that the Program does not infringe + the patent or other intellectual property rights of any other + entity. Each Contributor disclaims any liability to Recipient for + claims brought by any other entity based on infringement of + intellectual property rights or otherwise. As a condition to + exercising the rights and licenses granted hereunder, each + Recipient hereby assumes sole responsibility to secure any other + intellectual property rights needed, if any. For example, if a + third party patent license is required to allow Recipient to + distribute the Program, it is Recipient's responsibility to + acquire that license before distributing the Program. + + d) Each Contributor represents that to its knowledge it has + sufficient copyright rights in its Contribution, if any, to grant + the copyright license set forth in this Agreement. + +3. REQUIREMENTS + +A Contributor may choose to distribute the Program in object code form +under its own license agreement, provided that: + + a) it complies with the terms and conditions of this Agreement; and + + b) its license agreement: + + i) effectively disclaims on behalf of all Contributors all + warranties and conditions, express and implied, including + warranties or conditions of title and non-infringement, and + implied warranties or conditions of merchantability and fitness + for a particular purpose; + + ii) effectively excludes on behalf of all Contributors all + liability for damages, including direct, indirect, special, + incidental and consequential damages, such as lost profits; + + iii) states that any provisions which differ from this Agreement + are offered by that Contributor alone and not by any other + party; and + + iv) states that source code for the Program is available from such + Contributor, and informs licensees how to obtain it in a + reasonable manner on or through a medium customarily used for + software exchange. + +When the Program is made available in source code form: + + a) it must be made available under this Agreement; and + + b) a copy of this Agreement must be included with each copy of the Program. + +Contributors may not remove or alter any copyright notices contained +within the Program. + +Each Contributor must identify itself as the originator of its +Contribution, if any, in a manner that reasonably allows subsequent +Recipients to identify the originator of the Contribution. + +4. COMMERCIAL DISTRIBUTION + +Commercial distributors of software may accept certain +responsibilities with respect to end users, business partners and the +like. While this license is intended to facilitate the commercial use +of the Program, the Contributor who includes the Program in a +commercial product offering should do so in a manner which does not +create potential liability for other Contributors. Therefore, if a +Contributor includes the Program in a commercial product offering, +such Contributor ("Commercial Contributor") hereby agrees to defend +and indemnify every other Contributor ("Indemnified Contributor") +against any losses, damages and costs (collectively "Losses") arising +from claims, lawsuits and other legal actions brought by a third party +against the Indemnified Contributor to the extent caused by the acts +or omissions of such Commercial Contributor in connection with its +distribution of the Program in a commercial product offering. The +obligations in this section do not apply to any claims or Losses +relating to any actual or alleged intellectual property +infringement. In order to qualify, an Indemnified Contributor must: a) +promptly notify the Commercial Contributor in writing of such claim, +and b) allow the Commercial Contributor to control, and cooperate with +the Commercial Contributor in, the defense and any related settlement +negotiations. The Indemnified Contributor may participate in any such +claim at its own expense. + +For example, a Contributor might include the Program in a commercial +product offering, Product X. That Contributor is then a Commercial +Contributor. If that Commercial Contributor then makes performance +claims, or offers warranties related to Product X, those performance +claims and warranties are such Commercial Contributor's responsibility +alone. Under this section, the Commercial Contributor would have to +defend claims against the other Contributors related to those +performance claims and warranties, and if a court requires any other +Contributor to pay any damages as a result, the Commercial Contributor +must pay those damages. + +5. NO WARRANTY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, THE PROGRAM IS +PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, EITHER EXPRESS OR IMPLIED INCLUDING, WITHOUT LIMITATION, ANY +WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT, MERCHANTABILITY +OR FITNESS FOR A PARTICULAR PURPOSE. Each Recipient is solely +responsible for determining the appropriateness of using and +distributing the Program and assumes all risks associated with its +exercise of rights under this Agreement , including but not limited to +the risks and costs of program errors, compliance with applicable +laws, damage to or loss of data, programs or equipment, and +unavailability or interruption of operations. + +6. DISCLAIMER OF LIABILITY + +EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, NEITHER RECIPIENT NOR +ANY CONTRIBUTORS SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, +INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING +WITHOUT LIMITATION LOST PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF +LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING +NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OR +DISTRIBUTION OF THE PROGRAM OR THE EXERCISE OF ANY RIGHTS GRANTED +HEREUNDER, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. GENERAL + +If any provision of this Agreement is invalid or unenforceable under +applicable law, it shall not affect the validity or enforceability of +the remainder of the terms of this Agreement, and without further +action by the parties hereto, such provision shall be reformed to the +minimum extent necessary to make such provision valid and enforceable. + +If Recipient institutes patent litigation against any entity +(including a cross-claim or counterclaim in a lawsuit) alleging that +the Program itself (excluding combinations of the Program with other +software or hardware) infringes such Recipient's patent(s), then such +Recipient's rights granted under Section 2(b) shall terminate as of +the date such litigation is filed. + +All Recipient's rights under this Agreement shall terminate if it +fails to comply with any of the material terms or conditions of this +Agreement and does not cure such failure in a reasonable period of +time after becoming aware of such noncompliance. If all Recipient's +rights under this Agreement terminate, Recipient agrees to cease use +and distribution of the Program as soon as reasonably +practicable. However, Recipient's obligations under this Agreement and +any licenses granted by Recipient relating to the Program shall +continue and survive. + +Everyone is permitted to copy and distribute copies of this Agreement, +but in order to avoid inconsistency the Agreement is copyrighted and +may only be modified in the following manner. The Agreement Steward +reserves the right to publish new versions (including revisions) of +this Agreement from time to time. No one other than the Agreement +Steward has the right to modify this Agreement. The Eclipse Foundation +is the initial Agreement Steward. The Eclipse Foundation may assign +the responsibility to serve as the Agreement Steward to a suitable +separate entity. Each new version of the Agreement will be given a +distinguishing version number. The Program (including Contributions) +may always be distributed subject to the version of the Agreement +under which it was received. In addition, after a new version of the +Agreement is published, Contributor may elect to distribute the +Program (including its Contributions) under the new version. Except as +expressly stated in Sections 2(a) and 2(b) above, Recipient receives +no rights or licenses to the intellectual property of any Contributor +under this Agreement, whether expressly, by implication, estoppel or +otherwise. All rights in the Program not expressly granted under this +Agreement are reserved. + +This Agreement is governed by the laws of the State of New York and +the intellectual property laws of the United States of America. No +party to this Agreement will bring a legal action under this Agreement +more than one year after the cause of action arose. Each party waives +its rights to a jury trial in any resulting litigation. diff --git a/libre/clojure/PKGBUILD b/libre/clojure/PKGBUILD new file mode 100644 index 000000000..203c6792e --- /dev/null +++ b/libre/clojure/PKGBUILD @@ -0,0 +1,58 @@ +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> + +pkgname=clojure +pkgver=1.7.0 +pkgrel=1.parabola1 +pkgdesc='LISP for the JVM' +url='http://clojure.org/' +arch=('any') +license=('EPL') +depends=('java-environment' 'bash') +makedepends=('apache-ant' 'classpath' 'git' 'java-asm' 'jh') +optdepends=('rlwrap: friendlier shell with readline support') +install='clojure.install' +source=("$pkgname::git://github.com/clojure/clojure.git#tag=$pkgname-$pkgver" + 'clojure-replace_asm.patch' + 'LICENSE.txt' + 'clj.sh' "$pkgname.sh") +sha256sums=('SKIP' + 'b04cd1381bc78e40271fc18a1ec7d8e45f630a12fdafe571ace746c3426fb003' + '9bcd4c6eac491d1c9bbade5b35182a778fc7e08021de30edc387ac2adce75035' + '2194819fd417174351172d94e3ccff050479401ca883b57d325a349072200bee' + 'b3fa6257dad10fb39851e87563269b80b2473623126595d9c279bbd90e97f052') + +prepare() { + cd "$pkgname" + rm -rv "src/jvm/clojure/asm" + patch -Np1 -i ../clojure-replace_asm.patch +} + +build() { + cd "$pkgname" + + ant jar javadoc +} + +package() { + cd "$pkgname" + # Install license file + install -Dm644 "${srcdir}/LICENSE.txt" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt" + + # Install documentation + install -d "${pkgdir}/usr/share/doc/${pkgname}" + cp -r "target/javadoc" "${pkgdir}/usr/share/doc/${pkgname}" + + # Install Maven artifacts + export DESTDIR=${pkgdir} + jh mvn-install "org.${pkgname}" ${pkgname} ${pkgver} \ + "pom.xml" \ + "${pkgname}-${pkgver}.jar" \ + "${pkgname}.jar" + + ln -s "/usr/share/java/${pkgname}.jar" \ + "${pkgdir}/usr/share/java/${pkgname}-${pkgver}.jar" + + install -Dm755 "${srcdir}/clj.sh" "$pkgdir/usr/bin/clj" + install -Dm755 "${srcdir}/clj.sh" "$pkgdir/usr/bin/clojure" + install -Dm755 "${srcdir}/$pkgname.sh" "$pkgdir/etc/profile.d/$pkgname.sh" +} diff --git a/libre/clojure/clj.sh b/libre/clojure/clj.sh new file mode 100644 index 000000000..9c43acf93 --- /dev/null +++ b/libre/clojure/clj.sh @@ -0,0 +1,138 @@ +#!/bin/bash +# +# Launcher script for Clojure programs. These environment variables can be +# used to configure the script: +# +# CLOJURE_HOME +# The root directory where Clojure is installed. +# CLOJURE_JAVA +# The name of the java executable used to run Clojure. +# CLOJURE_JAVA_OPTS +# Additional options to be passed to the java executable. +# CLOJURE_CLASSPATH +# A path to be added to Clojure's classpath. +# CLOJURE_LIBRARY_PATH +# A path to be searched for native code such as DLL's or JNI +# libraries. This gets added to the Java options as +# "-Djava.library.path=$CLOJURE_LIBRARY_PATH". +# CLOJURE_LIB +# This directory, and any jars inside it, will be automatically +# added to Clojure's classpath. +# +# CLOJURE_JLINE +# This should be the path to Jline jar. +# TODO: +# make CLOJURE_LIB a path instead of a single directory +# allow for adding to CLOJURE_LIB from the command line + +usage="\ +usage: clojure [options] [file1 [file2] ...] + +Options: + --help, -h show this message + --java-cmd, -J the Java executable to use + --java-opts, -j add options to be passed on to the JVM + --classpath, -cp add to Clojure's classpath + --library-path, -L add to the path to search for native libraries + --verbose, -v print initialization information +" +## read ~/.clojurerc for home configuration +[ -e ~/.clojurerc ] && . ~/.clojurerc + +## read ./.clojurerc for project specific configuration +[ -e ./.clojurerc ] && . ./.clojurerc + +if [ ! "$CLOJURE_HOME" ]; then + # Find the real path to Clojure's home directory if $0 is a symlink + #program="$0" + #while [ -h "$program" ]; do + # ls=`ls -ld "$program"` + # link=`expr "$ls" : '.*-> \(.*\)$'` + # if expr "$link" : '.*/.*' >/dev/null; then + # program="$link" + # else + # program="`dirname $program`/$link" + # fi + #done + #script_dir=`dirname "$program"` + #relative_clojure_home=`dirname "$script_dir"` + #CLOJURE_HOME=`cd "$relative_clojure_home" && pwd` + . /etc/profile.d/clojure.sh +fi + +if [ ! "$CLOJURE_JAVA" ]; then + CLOJURE_JAVA="java"; +fi + +if [ ! "$CLOJURE_JAVA_OPTS" ]; then + CLOJURE_JAVA_OPTS="-Dpid=$$"; # set the pid for SLIME +fi + +if [ ! "$CLOJURE_CLASSPATH" ]; then + CLOJURE_CLASSPATH="." +fi + +## Add Clojure home jars. +for jar in "$CLOJURE_HOME"/*.jar; do + CLOJURE_CLASSPATH="$CLOJURE_CLASSPATH:$jar" +done + +if [ -d "$CLOJURE_LIB" ]; then + CLOJURE_CLASSPATH="$CLOJURE_CLASSPATH:$CLOJURE_LIB" + for jar in "$CLOJURE_LIB"/*.jar; do + CLOJURE_CLASSPATH="$CLOJURE_CLASSPATH:$jar" + done +fi + +# this is now the same for both the repl and for scripts +main="clojure.main" +repl=0 +verbose=0 + +while true; do + case $1 in + -h|--help) + echo "$usage"; exit 1;; + -J|--java-cmd) + CLOJURE_JAVA="$2"; shift; shift;; + -j|--java-opts) + CLOJURE_JAVA_OPTS="$CLOJURE_JAVA_OPTS $2"; shift; shift;; + -cp|--classpath) + CLOJURE_CLASSPATH="$CLOJURE_CLASSPATH:$2"; shift; shift;; + -L|--library-path) + if [ "$CLOJURE_LIBRARY_PATH" ]; then + CLOJURE_LIBRARY_PATH="$CLOJURE_LIBRARY_PATH:$2"; + else + CLOJURE_LIBRARY_PATH="$2"; + fi + shift; shift;; + -v|--verbose) + verbose=1; shift;; + *) break;; + esac +done + +[ $verbose -eq 1 ] && echo "$CLOJURE_CLASSPATH" + +# If we didn't get any files to load on the commandline, we want to run the +# repl, with command line editing if available. +[ $# -eq 0 ] && repl=1 + +# If the classpath contains the JLine jar, use the JLine console runner +if expr "$CLOJURE_CLASSPATH" : ".*jline.*\.jar" >/dev/null; then + [ $repl -eq 1 ] && jline="jline.ConsoleRunner" +fi + +# Enable rlwrap if present +if [ $repl -eq 1 ] && [ -z $jline ]; then + rlwrap=`type -p rlwrap` +fi + +## Add CLOJURE_LIBRARY_PATH to the Java options if necessary +if [ -n "$CLOJURE_LIBRARY_PATH" ]; then + CLOJURE_JAVA_OPTS="$CLOJURE_JAVA_OPTS -Djava.library.path=$CLOJURE_LIBRARY_PATH" +fi + +cmd=`echo $rlwrap "$CLOJURE_JAVA" "$CLOJURE_JAVA_OPTS" -cp "$CLOJURE_CLASSPATH" $jline $main` +[ $verbose -eq 1 ] && echo "$cmd" "$@" +exec `echo $cmd` "$@" diff --git a/libre/clojure/clojure-replace_asm.patch b/libre/clojure/clojure-replace_asm.patch new file mode 100644 index 000000000..0c41a37e9 --- /dev/null +++ b/libre/clojure/clojure-replace_asm.patch @@ -0,0 +1,186 @@ +--- clojure-1.7.0.orig/build.xml 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/build.xml 2015-12-09 17:37:31.497314803 -0500 +@@ -38,6 +38,7 @@ + <target name="compile-java" depends="init" + description="Compile Java sources."> + <javac srcdir="${jsrc}" destdir="${build}" includeJavaRuntime="yes" ++ classpath="/usr/share/java/asm-4.jar:/usr/share/java/asm-commons-4.jar" + includeAntRuntime="false" + debug="true" source="1.6" target="1.6"/> + </target> +@@ -45,7 +46,7 @@ + <target name="compile-clojure" + description="Compile Clojure sources."> + <java classname="clojure.lang.Compile" +- classpath="${maven.compile.classpath}:${build}:${cljsrc}" ++ classpath="/usr/share/java/asm-4.jar:/usr/share/java/asm-commons-4.jar:${maven.compile.classpath}:${build}:${cljsrc}" + failonerror="true" + fork="true"> + <sysproperty key="clojure.compile.path" value="${build}"/> +@@ -87,7 +88,7 @@ + <javac srcdir="${jtestsrc}" destdir="${test-classes}" includeJavaRuntime="yes" + debug="true" source="1.6" target="1.6" includeantruntime="no"/> + <java classname="clojure.lang.Compile" +- classpath="${test-classes}:${test}:${build}:${cljsrc}" ++ classpath="/usr/share/java/asm-4.jar:/usr/share/java/asm-commons-4.jar:${test-classes}:${test}:${build}:${cljsrc}" + failonerror="true" + fork="true"> + <sysproperty key="clojure.compile.path" value="${test-classes}"/> +@@ -106,6 +107,8 @@ + <java classname="clojure.main" failonerror="true" fork="true"> + <classpath> + <pathelement path="${maven.test.classpath}"/> ++ <path location="/usr/share/java/asm-4.jar"/> ++ <path location="/usr/share/java/asm-commons-4.jar"/> + <path location="${test-classes}"/> + <path location="${test}"/> + <path location="${build}"/> +@@ -122,6 +125,8 @@ + <java classname="clojure.main" failonerror="true" fork="true"> + <classpath> + <pathelement path="${maven.test.classpath}"/> ++ <path location="/usr/share/java/asm-4.jar"/> ++ <path location="/usr/share/java/asm-commons-4.jar"/> + <path location="${test-classes}"/> + <path location="${test}"/> + <path location="${build}"/> +--- clojure-1.7.0.orig/src/clj/clojure/core.clj 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/clj/clojure/core.clj 2015-12-09 17:45:49.203841272 -0500 +@@ -5222,10 +5222,10 @@ + (.getAnnotation c java.lang.annotation.Retention)] + (= (.value r) java.lang.annotation.RetentionPolicy/RUNTIME))))) + +-(defn- descriptor [^Class c] (clojure.asm.Type/getDescriptor c)) ++(defn- descriptor [^Class c] (org.objectweb.asm.Type/getDescriptor c)) + + (declare process-annotation) +-(defn- add-annotation [^clojure.asm.AnnotationVisitor av name v] ++(defn- add-annotation [^org.objectweb.asm.AnnotationVisitor av name v] + (cond + (vector? v) (let [avec (.visitArray av name)] + (doseq [vval v] +@@ -5235,7 +5235,7 @@ + (cond + (instance? java.lang.Enum ev) + (.visitEnum av name (descriptor (class ev)) (str ev)) +- (class? ev) (.visit av name (clojure.asm.Type/getType ev)) ++ (class? ev) (.visit av name (org.objectweb.asm.Type/getType ev)) + :else (throw (IllegalArgumentException. + (str "Unsupported annotation value: " v " of class " (class ev)))))) + (seq? v) (let [[nested nv] v +--- clojure-1.7.0.orig/src/clj/clojure/core_proxy.clj 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/clj/clojure/core_proxy.clj 2015-12-09 17:47:21.556152289 -0500 +@@ -11,9 +11,9 @@ + ;;;;;;;;;;;;;;;;;;;;;;;;;;;; proxy ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; + + (import +- '(clojure.asm ClassWriter ClassVisitor Opcodes Type) ++ '(org.objectweb.asm ClassWriter ClassVisitor Opcodes Type) + '(java.lang.reflect Modifier Constructor) +- '(clojure.asm.commons Method GeneratorAdapter) ++ '(org.objectweb.asm.commons Method GeneratorAdapter) + '(clojure.lang IProxy Reflector DynamicClassLoader IPersistentMap PersistentHashMap RT)) + + (defn method-sig [^java.lang.reflect.Method meth] +--- clojure-1.7.0.orig/src/clj/clojure/genclass.clj 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/clj/clojure/genclass.clj 2015-12-09 17:48:30.376239833 -0500 +@@ -9,8 +9,8 @@ + (in-ns 'clojure.core) + + (import '(java.lang.reflect Modifier Constructor) +- '(clojure.asm ClassWriter ClassVisitor Opcodes Type) +- '(clojure.asm.commons Method GeneratorAdapter) ++ '(org.objectweb.asm ClassWriter ClassVisitor Opcodes Type) ++ '(org.objectweb.asm.commons Method GeneratorAdapter) + '(clojure.lang IPersistentMap)) + + ;(defn method-sig [^java.lang.reflect.Method meth] +--- clojure-1.7.0.orig/src/jvm/clojure/lang/Compiler.java 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/jvm/clojure/lang/Compiler.java 2015-12-09 17:56:08.474634356 -0500 +@@ -12,11 +12,12 @@ + + package clojure.lang; + +-//* ++/* + +-import clojure.asm.*; +-import clojure.asm.commons.GeneratorAdapter; +-import clojure.asm.commons.Method; ++import org.objectweb.asm.*; ++import org.objectweb.asm.commons.GeneratorAdapter; ++import org.objectweb.asm.commons.Method; ++*/ + + import java.io.*; + import java.lang.reflect.Constructor; +@@ -26,14 +27,15 @@ + import java.util.regex.Matcher; + + //*/ +-/* ++///* + + import org.objectweb.asm.*; + import org.objectweb.asm.commons.Method; + import org.objectweb.asm.commons.GeneratorAdapter; ++/* + import org.objectweb.asm.util.TraceClassVisitor; + import org.objectweb.asm.util.CheckClassAdapter; +-//*/ ++*/ + + public class Compiler implements Opcodes{ + +--- clojure-1.7.0.orig/src/jvm/clojure/lang/Intrinsics.java 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/jvm/clojure/lang/Intrinsics.java 2015-12-09 17:58:29.934629288 -0500 +@@ -12,7 +12,7 @@ + + package clojure.lang; + +-import clojure.asm.Opcodes; ++import org.objectweb.asm.Opcodes; + + public class Intrinsics implements Opcodes{ + private static Object[] oa(Object... arr){ +--- clojure-1.7.0.orig/src/clj/clojure/reflect/java.clj 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/src/clj/clojure/reflect/java.clj 2015-12-09 18:02:15.637317716 -0500 +@@ -11,7 +11,7 @@ + + (require '[clojure.set :as set] + '[clojure.string :as str]) +-(import '[clojure.asm ClassReader ClassVisitor Type Opcodes] ++(import '[org.objectweb.asm ClassReader ClassVisitor Type Opcodes] + '[java.lang.reflect Modifier] + java.io.InputStream) + +--- clojure-1.7.0.orig/test/clojure/test_clojure/reflect.clj 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/test/clojure/test_clojure/reflect.clj 2015-12-09 18:04:43.783663964 -0500 +@@ -25,7 +25,7 @@ + + (deftest field-descriptor->class-symbol-test + (are [s d] (= s (@#'reflect/field-descriptor->class-symbol d)) +- 'clojure.asm.Type<><> "[[Lclojure/asm/Type;" ++ 'org.objectweb.asm.Type<><> "[[Lclojure/asm/Type;" + 'int "I" + 'java.lang.Object "Ljava.lang.Object;")) + +--- clojure-1.7.0.orig/pom.xml 2015-06-30 09:23:20.000000000 -0500 ++++ clojure-1.7.0/pom.xml 2015-12-09 18:12:28.005103036 -0500 +@@ -69,6 +69,16 @@ + </exclusion> + </exclusions> + </dependency> ++ <dependency> ++ <groupId>org.ow2.asm</groupId> ++ <artifactId>asm</artifactId> ++ <version>5.0.3</version> ++ </dependency> ++ <dependency> ++ <groupId>org.ow2.asm</groupId> ++ <artifactId>asm-commons</artifactId> ++ <version>5.0.3</version> ++ </dependency> + </dependencies> + + <build> diff --git a/libre/clojure/clojure.install b/libre/clojure/clojure.install new file mode 100644 index 000000000..7102ef726 --- /dev/null +++ b/libre/clojure/clojure.install @@ -0,0 +1,5 @@ +post_install() { + echo 'Relogin or source /etc/profile.d/clojure.sh' +} + +# vim:set ts=2 sw=2 et: diff --git a/libre/clojure/clojure.sh b/libre/clojure/clojure.sh new file mode 100644 index 000000000..5fd8395dc --- /dev/null +++ b/libre/clojure/clojure.sh @@ -0,0 +1 @@ +export CLOJURE_HOME=/usr/share/clojure diff --git a/libre/java-jline/PKGBUILD b/libre/java-jline/PKGBUILD new file mode 100644 index 000000000..31cb5f1eb --- /dev/null +++ b/libre/java-jline/PKGBUILD @@ -0,0 +1,50 @@ +# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> +_libname=jline +pkgname=java-${_libname} +pkgver=1.0 +pkgrel=3.parabola1 +pkgdesc="Java library for handling console input" +arch=('any') +url="http://jline.sourceforge.net/" +license=('BSD') +depends=('java-runtime-headless') +makedepends=('apache-ant' 'jh' 'junit') +source=("http://downloads.sourceforge.net/project/${_libname}/${_libname}/${pkgver}/${_libname}-${pkgver}.zip" + "http://repo.maven.apache.org/maven2/${_libname}/${_libname}/${pkgver}/${_libname}-${pkgver}.pom" + "build.xml") +md5sums=('811dc1c8a351a2e928524bd79eb9e798' + 'b45424a0b2557589f2f3eddae5fc4944' + '6d198263612535fe617c6d166200c08d') + +prepare() { + cd "${srcdir}/${_libname}-${pkgver}" + rm -v "${_libname}-${pkgver}.jar" + mv "${srcdir}/build.xml" . +} + +build() { + cd "${srcdir}/${_libname}-${pkgver}" + + ant clean jar javadoc +} + +package() { + cd "${srcdir}/${_libname}-${pkgver}" + + # Install license file + install -Dm644 LICENSE.txt "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE.txt" + + # Install documentation + install -d "${pkgdir}/usr/share/doc/${pkgname}" + cp -r "api" "${pkgdir}/usr/share/doc/${pkgname}" + + # Install Maven artifacts + export DESTDIR=${pkgdir} + jh mvn-install ${_libname} ${_libname} ${pkgver} \ + "${srcdir}/${_libname}-${pkgver}.pom" \ + "${_libname}.jar" \ + "${_libname}.jar" + + ln -s "/usr/share/java/${_libname}.jar" \ + "${pkgdir}/usr/share/java/${_libname}-${pkgver}.jar" +} diff --git a/libre/java-jline/build.xml b/libre/java-jline/build.xml new file mode 100644 index 000000000..72b17e7ab --- /dev/null +++ b/libre/java-jline/build.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="utf-8"?> + +<project default="jar" name="jline" basedir="."> + <property name="class.dir" value="build"> + </property> + <property name="source.dir" value="src/src"> + </property> + <property name="doc.dir" value="api"> + </property> + <property name="jar.name" value="jline.jar"> + </property> + <property name="demo-jar.name" value="jline-demo.jar"> + </property> + + <patternset id="compiler.resources"> + <include name="**/*.properties"/> + <include name="**/*.gz"/> + <include name="**/*.gif"/> + <include name="**/*.png"/> + <include name="**/*.jpg"/> + </patternset> + + <target name="clean"> + <delete dir="${class.dir}" quiet="true" /> + <delete file="${jar.name}" quiet="true" /> + <delete file="${demo-jar.name}" quiet="true" /> + <delete dir="${doc.dir}" quiet="true" /> + </target> + + <target name="compile"> + <mkdir dir="${class.dir}" /> + <javac srcdir="${source.dir}" destdir="${class.dir}" + deprecation="true" debug="true" optimize="false" /> + <copy todir="${class.dir}"> + <fileset dir="${source.dir}/main/resources"> + <patternset refid="compiler.resources" /> + </fileset> + </copy> + <copy todir="${class.dir}"> + <fileset dir="${source.dir}/test/resources"> + <patternset refid="compiler.resources" /> + </fileset> + </copy> + </target> + + <target name="jar" description="o Creates the jars" depends="compile"> + <jar jarfile="${jar.name}" basedir="${class.dir}" + includes="**/jline/*.class,**/jline/*.properties" /> + <jar jarfile="${demo-jar.name}" basedir="${class.dir}" includes="**/example/*"/> + </target> + + <target name="javadoc" description="Creates Javadoc documentation"> + <mkdir dir="${doc.dir}" /> + <javadoc packagenames="jline" sourcepath="${source.dir}/main/java" destdir="${doc.dir}" /> + </target> + +</project> diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD index 0bfa11ceb..cf865024c 100644 --- a/libre/your-freedom/PKGBUILD +++ b/libre/your-freedom/PKGBUILD @@ -5,8 +5,8 @@ pkgdesc="This package conflicts with every nonfree package known to date to ensu license=('GPL3') url="https://projects.parabola.nu/blacklist.git" #url="https://lukeshu.com/git/mirror/parabola/blacklist.git" -pkgver=20151109 -_gitver=513ca425f187cea2fc5967974137d870ca1369be +pkgver=20151209 +_gitver=bf7643f01e2be038d6308f8bd4f053f3a0c9593e pkgrel=1 arch=('any') @@ -16,7 +16,7 @@ install=${pkgname}.install makedepends=(librelib) source=(blacklist-${_gitver}.txt::https://projects.parabola.nu/blacklist.git/plain/blacklist.txt?id=${_gitver}) #source=(blacklist-${_gitver}.txt::https://lukeshu.com/git/mirror/parabola/blacklist.git/plain/blacklist.txt?id=${_gitver}) -md5sums=('e43622be4a8fa684dffa81dc94d33d40') +md5sums=('ac15d9c1cf727e1dac54e8ef0262d05a') package() { cd "$srcdir" diff --git a/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules b/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules new file mode 100644 index 000000000..6df2427c5 --- /dev/null +++ b/pcr/networkmanager-consolekit/01-org.freedesktop.ModemManager1.rules @@ -0,0 +1,6 @@ +polkit.addRule(function(action, subject) { + if (/^org\.freedesktop\.ModemManager1\.(Device\.Control|Contacts|Messaging|Location)$/.test(action.id) && + subject.isInGroup("network")) { + return "yes"; + } +}); diff --git a/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules b/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules new file mode 100644 index 000000000..ed4a41f9d --- /dev/null +++ b/pcr/networkmanager-consolekit/01-org.freedesktop.NetworkManager.settings.modify.system.rules @@ -0,0 +1,6 @@ +polkit.addRule(function(action, subject) { + if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" && + subject.isInGroup("network")) { + return "yes"; + } +}); diff --git a/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules b/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules new file mode 100644 index 000000000..b6fe9c73f --- /dev/null +++ b/pcr/networkmanager-consolekit/50-org.freedesktop.NetworkManager.rules @@ -0,0 +1,5 @@ +polkit.addRule(function(action, subject) { + if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("network")) { + return polkit.Result.YES; + } +}); diff --git a/pcr/networkmanager-consolekit/NetworkManager.conf b/pcr/networkmanager-consolekit/NetworkManager.conf index 668229628..e01e3c52f 100644 --- a/pcr/networkmanager-consolekit/NetworkManager.conf +++ b/pcr/networkmanager-consolekit/NetworkManager.conf @@ -1,7 +1,5 @@ [main] plugins=keyfile -dhcp=dhclient -dns=default ## Set static hostname #[keyfile] @@ -10,4 +8,3 @@ dns=default ## HTTP-based connectivity check #[connectivity] #uri=http://nmcheck.gnome.org/check_network_status.txt -#interval=100 diff --git a/pcr/networkmanager-consolekit/PKGBUILD b/pcr/networkmanager-consolekit/PKGBUILD index 6033cee6a..22b62a7be 100644 --- a/pcr/networkmanager-consolekit/PKGBUILD +++ b/pcr/networkmanager-consolekit/PKGBUILD @@ -1,4 +1,5 @@ -# Maintainer (Arch): Alexey D. <lq07829icatm@rambler.ru> +# Maintainer (Arch): artoo <artoo@manjaro.org> +# Contributor (Arch): Alexey D. <lq07829icatm@rambler.ru> # Contributor (Arch): DaZ <daz.root+arch@gmail.coM> # Contributor (Arch): Lukas Jirkovsky <l.jirkovsky@gmail.com> # Contributor (Arch): Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> @@ -11,39 +12,41 @@ pkgname=networkmanager-consolekit _pkgname=NetworkManager -pkgver=1.0.6 -pkgrel=1 +pkgver=1.0.8 +pkgrel=2 _pppver=2.4.7 pkgdesc="NetworkManager with ConsoleKit support for non-systemd systems" arch=('i686' 'x86_64') license=('GPL' 'LGPL2.1') url="http://www.gnome.org/projects/$_pkgname/" -depends=("libnm-glib>=${pkgver}" 'iproute2' 'libnl' 'polkit-consolekit' 'consolekit' - 'wpa_supplicant' 'dhclient' 'libsoup' 'libmm-glib' 'libnewt' 'libndp' - 'libteam' 'libgudev') -makedepends=('intltool' 'iptables' 'gobject-introspection' 'gtk-doc' - "ppp=$_pppver" 'modemmanager' 'rp-pppoe' 'vala') -optdepends=('modemmanager: for modem management service' - 'dhcpcd: alternative DHCP client; does not support DHCPv6' - 'iptables: connection sharing' - 'dnsmasq: connection sharing' - 'bluez: bluetooth support' - 'openresolv: resolvconf support' - 'ppp: dialup connection support') +depends=('libnm-glib' 'iproute2' 'libnl' 'polkit-consolekit' 'wpa_supplicant' 'dhclient' 'libsoup' + 'libmm-glib' 'libnewt' 'libndp' 'libteam' 'libgudev' 'consolekit') +optdepends=('dnsmasq: connection sharing' + 'bluez: Bluetooth support' + 'openresolv: resolvconf support' + 'ppp: dialup connection support' + 'rp-pppoe: ADSL support' + 'modemmanager: cellular network support') +makedepends=('intltool' 'dhclient' 'iptables' 'gobject-introspection' 'gtk-doc' "ppp=$_pppver" + 'modemmanager' 'dbus-glib' 'iproute2' 'libnl' 'nss' 'polkit' 'wpa_supplicant' 'libsoup' + 'udev' 'libgudev' 'libmm-glib' 'rp-pppoe' 'libnewt' 'libndp' 'libteam' 'vala' 'perl-yaml' + 'python2-gobject') provides=("networkmanager=$pkgver") -replaces=('networkmanager') conflicts=('networkmanager') backup=('etc/NetworkManager/NetworkManager.conf') install=networkmanager.install -source=(http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz - NetworkManager.conf - disable_set_hostname.patch - networkmanager.rc - ) -sha256sums=('38ea002403e3b884ffa9aae25aea431d2a8420f81f4919761c83fb92648254bd' - '2c6a647b5aec9f3c356d5d95251976a21297c6e64bd8d2a59339f8450a86cb3b' +source=("http://ftp.gnome.org/pub/gnome/sources/$_pkgname/${pkgver:0:3}/$_pkgname-$pkgver.tar.xz" + 'disable_set_hostname.patch' + 'NetworkManager.conf' + '01-org.freedesktop.ModemManager1.rules' + '01-org.freedesktop.NetworkManager.settings.modify.system.rules' + '50-org.freedesktop.NetworkManager.rules') +sha256sums=('8bb128950f8a79ff881afadb46dd55e16f952390cf7cb4e06063431e5144937f' '25056837ea92e559f09563ed817e3e0cd9333be861b8914e45f62ceaae2e0460' - 'e39a2a0401518abd1d1d060200e2ca0f0854cdc49a5cb286919be177a7cd90fc') + '759db295ddae7a6dc6b29211fc0ec08695f875584d456dd146d3679e2c33e2e3' + '17b5e3ead960a0d2c3cea3f1549d1e83ada9600f174ab9a96f083abe6d8f962d' + '4b815f43de58379e68653d890f529485aec4d2f83f11d050b08b31489d2267c2' + '02d9f7d836d297d6ddf39482d86a8573b3e41735b408aa2cd6df22048ec5f6c4') prepare() { cd $_pkgname-$pkgver @@ -53,50 +56,59 @@ prepare() { } build() { - cd $_pkgname-$pkgver + cd $_pkgname-$pkgver + + AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --sbindir=/usr/bin \ + --libexecdir=/usr/lib/networkmanager \ + --with-crypto=nss \ + --with-dhclient=/usr/bin/dhclient \ + --without-dhcpcd \ + --with-dnsmasq=/usr/bin/dnsmasq \ + --with-iptables=/usr/bin/iptables \ + --with-systemdsystemunitdir=/usr/lib/systemd/system \ + --with-udev-dir=/usr/lib/udev \ + --with-resolvconf=/usr/bin/resolvconf \ + --with-pppd=/usr/bin/pppd \ + --with-pppd-plugin-dir=/usr/lib/pppd/$_pppver \ + --with-pppoe=/usr/bin/pppoe \ + --with-kernel-firmware-dir=/usr/lib/firmware \ + --with-session-tracking=ck \ + --with-modem-manager-1 \ + --disable-static \ + --enable-more-warnings=no \ + --disable-wimax \ + --enable-modify-system \ + --enable-doc \ + --enable-gtk-doc - AUTOPOINT="intltoolize -f -c --automake" autoreconf -fi - ./configure \ - --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --sbindir=/usr/bin \ - --libexecdir=/usr/lib/networkmanager \ - --with-crypto=nss \ - --with-dhclient=/usr/bin/dhclient \ - --without-dhcpcd \ - --with-dnsmasq=/usr/bin/dnsmasq \ - --with-iptables=/usr/bin/iptables \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --with-udev-dir=/usr/lib/udev \ - --with-resolvconf=/usr/bin/resolvconf \ - --with-pppd=/usr/bin/pppd \ - --with-pppd-plugin-dir=/usr/lib/pppd/$_pppver \ - --with-kernel-firmware-dir=/usr/lib/firmware \ - --with-session-tracking=ck \ - --disable-static \ - --enable-more-warnings=no \ - --disable-wimax \ - --enable-modify-system \ - --enable-doc + make - make } package() { - cd $_pkgname-$pkgver - make DESTDIR="${pkgdir}" install + cd $_pkgname-$pkgver + make DESTDIR="${pkgdir}" install + make DESTDIR="$pkgdir" -C libnm uninstall + make DESTDIR="$pkgdir" -C libnm-glib uninstall + make DESTDIR="$pkgdir" -C libnm-util uninstall + make DESTDIR="$pkgdir" -C vapi uninstall + + install -m644 $srcdir/NetworkManager.conf "$pkgdir/etc/NetworkManager/" + + rm -rf "$pkgdir/usr/include" + rm -rf "$pkgdir/usr/lib/pkgconfig" + rm -r "${pkgdir}/var/run" - make DESTDIR="$pkgdir" -C libnm uninstall - make DESTDIR="$pkgdir" -C libnm-glib uninstall - make DESTDIR="$pkgdir" -C libnm-util uninstall - make DESTDIR="$pkgdir" -C vapi uninstall - - rm -rf "$pkgdir/usr/include" - rm -rf "$pkgdir/usr/lib/pkgconfig" + install -dm 750 -o polkitd "${pkgdir}"/usr/share/polkit-1/rules.d + install -m 644 ${srcdir}/01-org.freedesktop.ModemManager1.rules $pkgdir/usr/share/polkit-1/rules.d/ + install -m 644 ${srcdir}/01-org.freedesktop.NetworkManager.settings.modify.system.rules $pkgdir/usr/share/polkit-1/rules.d/ - install -D -m644 "${srcdir}/NetworkManager.conf" "${pkgdir}/etc/NetworkManager/NetworkManager.conf" - install -D -m755 "${srcdir}/networkmanager.rc" "${pkgdir}/etc/rc.d/networkmanager" + install -m 644 ${srcdir}/50-org.freedesktop.NetworkManager.rules $pkgdir/usr/share/polkit-1/rules.d/ - rm -r "${pkgdir}/var/run" + #chown root:102 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d + #chmod 750 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d } diff --git a/pcr/networkmanager-consolekit/dnsmasq-path.patch b/pcr/networkmanager-consolekit/dnsmasq-path.patch deleted file mode 100644 index c0e713266..000000000 --- a/pcr/networkmanager-consolekit/dnsmasq-path.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -u -r NetworkManager-0.9.2.0/src/dns-manager/nm-dns-dnsmasq.c NetworkManager-0.9.2.0-dnsmasq/src/dns-manager/nm-dns-dnsmasq.c ---- NetworkManager-0.9.2.0/src/dns-manager/nm-dns-dnsmasq.c 2011-10-10 23:38:20.000000000 +0200 -+++ NetworkManager-0.9.2.0-dnsmasq/src/dns-manager/nm-dns-dnsmasq.c 2012-03-06 09:07:24.137460927 +0100 -@@ -52,8 +52,11 @@ - find_dnsmasq (void) - { - static const char *paths[] = { -+ "/usr/local/bin/dnsmasq", - "/usr/local/sbin/dnsmasq", -+ "/usr/bin/dnsmasq", - "/usr/sbin/dnsmasq", -+ "/bin/dnsmasq", - "/sbin/dnsmasq", - NULL - }; -diff -u -r NetworkManager-0.9.2.0/src/dnsmasq-manager/nm-dnsmasq-manager.c NetworkManager-0.9.2.0-dnsmasq/src/dnsmasq-manager/nm-dnsmasq-manager.c ---- NetworkManager-0.9.2.0/src/dnsmasq-manager/nm-dnsmasq-manager.c 2011-04-19 07:06:22.000000000 +0200 -+++ NetworkManager-0.9.2.0-dnsmasq/src/dnsmasq-manager/nm-dnsmasq-manager.c 2012-03-06 09:07:58.603851818 +0100 -@@ -170,8 +170,11 @@ - nm_find_dnsmasq (void) - { - static const char *dnsmasq_binary_paths[] = { -+ "/usr/local/bin/dnsmasq", - "/usr/local/sbin/dnsmasq", -+ "/usr/bin/dnsmasq", - "/usr/sbin/dnsmasq", -+ "/bin/dnsmasq", - "/sbin/dnsmasq", - NULL - }; diff --git a/pcr/networkmanager-consolekit/git-fixes.patch b/pcr/networkmanager-consolekit/git-fixes.patch deleted file mode 100644 index 939d0b1e0..000000000 --- a/pcr/networkmanager-consolekit/git-fixes.patch +++ /dev/null @@ -1,265 +0,0 @@ -diff --git a/configure.ac b/configure.ac -index 94b0758..e61657d 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -4,7 +4,7 @@ dnl The NM version number - m4_define([nm_major_version], [0]) - m4_define([nm_minor_version], [9]) - m4_define([nm_micro_version], [10]) --m4_define([nm_nano_version], [0]) -+m4_define([nm_nano_version], [1]) - m4_define([nm_version], - [nm_major_version.nm_minor_version.nm_micro_version.nm_nano_version]) - m4_define([nm_git_sha], [m4_esyscmd([ ( [ -d ./.git/ ] && [ "$(readlink -f ./.git/)" = "$(readlink -f "$(git rev-parse --git-dir 2>/dev/null)" 2>/dev/null)" ] && git rev-parse --verify -q HEAD 2>/dev/null ) || true ])]) -diff --git a/src/devices/nm-device-team.c b/src/devices/nm-device-team.c -index f3b25e3..51778c1 100644 ---- a/src/devices/nm-device-team.c -+++ b/src/devices/nm-device-team.c -@@ -51,7 +51,7 @@ G_DEFINE_TYPE (NMDeviceTeam, nm_device_team, NM_TYPE_DEVICE) - - #define NM_DEVICE_TEAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_DEVICE_TEAM, NMDeviceTeamPrivate)) - --#define NM_TEAM_ERROR (nm_team_error_quark ()) -+#define NM_DEVICE_TEAM_ERROR (nm_device_team_error_quark ()) - - static gboolean teamd_start (NMDevice *dev, NMSettingTeam *s_team); - -@@ -75,7 +75,7 @@ enum { - /******************************************************************/ - - static GQuark --nm_team_error_quark (void) -+nm_device_team_error_quark (void) - { - static GQuark quark = 0; - if (!quark) -@@ -890,5 +890,5 @@ nm_device_team_class_init (NMDeviceTeamClass *klass) - G_TYPE_FROM_CLASS (klass), - &dbus_glib_nm_device_team_object_info); - -- dbus_g_error_domain_register (NM_TEAM_ERROR, NULL, NM_TYPE_TEAM_ERROR); -+ dbus_g_error_domain_register (NM_DEVICE_TEAM_ERROR, NULL, NM_TYPE_TEAM_ERROR); - } -diff --git a/src/devices/nm-device-team.h b/src/devices/nm-device-team.h -index fe1275c..32bc5fd 100644 ---- a/src/devices/nm-device-team.h -+++ b/src/devices/nm-device-team.h -@@ -35,9 +35,9 @@ G_BEGIN_DECLS - #define NM_DEVICE_TEAM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NM_TYPE_DEVICE_TEAM, NMDeviceTeamClass)) - - typedef enum { -- NM_TEAM_ERROR_CONNECTION_NOT_TEAM = 0, /*< nick=ConnectionNotTeam >*/ -- NM_TEAM_ERROR_CONNECTION_INVALID, /*< nick=ConnectionInvalid >*/ -- NM_TEAM_ERROR_CONNECTION_INCOMPATIBLE, /*< nick=ConnectionIncompatible >*/ -+ NM_DEVICE_TEAM_ERROR_CONNECTION_NOT_TEAM = 0, /*< nick=ConnectionNotTeam >*/ -+ NM_DEVICE_TEAM_ERROR_CONNECTION_INVALID, /*< nick=ConnectionInvalid >*/ -+ NM_DEVICE_TEAM_ERROR_CONNECTION_INCOMPATIBLE, /*< nick=ConnectionIncompatible >*/ - } NMTeamError; - - #define NM_DEVICE_TEAM_SLAVES "slaves" -diff --git a/src/dhcp-manager/nm-dhcp-dhclient-utils.c b/src/dhcp-manager/nm-dhcp-dhclient-utils.c -index 8527e6c..bc9de12 100644 ---- a/src/dhcp-manager/nm-dhcp-dhclient-utils.c -+++ b/src/dhcp-manager/nm-dhcp-dhclient-utils.c -@@ -225,7 +225,6 @@ nm_dhcp_dhclient_create_config (const char *interface, - add_also_request (alsoreq, "dhcp6.name-servers"); - add_also_request (alsoreq, "dhcp6.domain-search"); - add_also_request (alsoreq, "dhcp6.client-id"); -- add_also_request (alsoreq, "dhcp6.server-id"); - } else { - add_ip4_config (new_contents, dhcp_client_id, hostname); - add_also_request (alsoreq, "rfc3442-classless-static-routes"); -diff --git a/src/nm-manager.c b/src/nm-manager.c -index 09a1985..0cf78e3 100644 ---- a/src/nm-manager.c -+++ b/src/nm-manager.c -@@ -1879,42 +1879,116 @@ factory_component_added_cb (NMDeviceFactory *factory, - #define PLUGIN_PATH_TAG "NMManager-plugin-path" - #define PLUGIN_TYPEFUNC_TAG "typefunc" - --static void --load_device_factories (NMManager *self) -+struct read_device_factory_paths_data { -+ char *path; -+ struct stat st; -+}; -+ -+static gint -+read_device_factory_paths_sort_fcn (gconstpointer a, gconstpointer b) -+{ -+ const struct read_device_factory_paths_data *da = a; -+ const struct read_device_factory_paths_data *db = b; -+ time_t ta, tb; -+ -+ ta = MAX (da->st.st_mtime, da->st.st_ctime); -+ tb = MAX (db->st.st_mtime, db->st.st_ctime); -+ -+ if (ta < tb) -+ return 1; -+ if (ta > tb) -+ return -1; -+ return 0; -+} -+ -+static char** -+read_device_factory_paths () - { -- NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); - GDir *dir; - GError *error = NULL; - const char *item; -- char *path; -- GSList *iter; -+ GArray *paths; -+ char **result; -+ guint i; - - dir = g_dir_open (NMPLUGINDIR, 0, &error); - if (!dir) { -- nm_log_warn (LOGD_HW, "Failed to open plugin directory %s: %s", -+ nm_log_warn (LOGD_HW, "device plugin: failed to open directory %s: %s", - NMPLUGINDIR, - (error && error->message) ? error->message : "(unknown)"); - g_clear_error (&error); -- return; -+ return NULL; - } - -+ paths = g_array_new (FALSE, FALSE, sizeof (struct read_device_factory_paths_data)); -+ - while ((item = g_dir_read_name (dir))) { -- GModule *plugin; -- NMDeviceFactory *factory; -- NMDeviceFactoryCreateFunc create_func; -- NMDeviceFactoryDeviceTypeFunc type_func; -- NMDeviceType dev_type; -- const char *found = NULL; -+ struct read_device_factory_paths_data data; - - if (!g_str_has_prefix (item, PLUGIN_PREFIX)) - continue; - if (g_str_has_suffix (item, ".la")) - continue; - -- path = g_module_build_path (NMPLUGINDIR, item); -- g_assert (path); -- plugin = g_module_open (path, G_MODULE_BIND_LOCAL); -- g_free (path); -+ data.path = g_build_filename (NMPLUGINDIR, item, NULL); -+ -+ if (stat (data.path, &data.st) != 0) -+ goto continue_with_error; -+ if (!S_ISREG (data.st.st_mode)) -+ goto continue_silently; -+ if (data.st.st_uid != 0) -+ goto continue_with_error; -+ if (data.st.st_mode & (S_IWGRP | S_IWOTH | S_ISUID)) -+ goto continue_with_error; -+ -+ g_array_append_val (paths, data); -+ continue; -+ -+continue_with_error: -+ nm_log_dbg (LOGD_HW, "device plugin: skip invalid file %s", data.path); -+continue_silently: -+ g_free (data.path); -+ } -+ g_dir_close (dir); -+ -+ /* sort filenames by modification time. */ -+ g_array_sort (paths, read_device_factory_paths_sort_fcn); -+ -+ result = g_new (char *, paths->len + 1); -+ for (i = 0; i < paths->len; i++) -+ result[i] = g_array_index (paths, struct read_device_factory_paths_data, i).path; -+ result[i] = NULL; -+ -+ g_array_free (paths, TRUE); -+ return result; -+} -+ -+static void -+load_device_factories (NMManager *self) -+{ -+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); -+ char **path; -+ char **paths; -+ -+ paths = read_device_factory_paths (); -+ if (!paths) -+ return; -+ -+ for (path = paths; *path; path++) { -+ GError *error = NULL; -+ GModule *plugin; -+ NMDeviceFactory *factory; -+ NMDeviceFactoryCreateFunc create_func; -+ NMDeviceFactoryDeviceTypeFunc type_func; -+ NMDeviceType dev_type; -+ const char *found = NULL; -+ GSList *iter; -+ const char *item; -+ -+ item = strrchr (*path, '/'); -+ g_assert (item); -+ -+ plugin = g_module_open (*path, G_MODULE_BIND_LOCAL); - - if (!plugin) { - nm_log_warn (LOGD_HW, "(%s): failed to load plugin: %s", item, g_module_error ()); -@@ -1939,7 +2013,7 @@ load_device_factories (NMManager *self) - } - } - if (found) { -- nm_log_warn (LOGD_HW, "Found multiple device plugins for same type: %s vs %s", -+ nm_log_warn (LOGD_HW, "Found multiple device plugins for same type: use '%s' instead of '%s'", - found, g_module_name (plugin)); - g_module_close (plugin); - continue; -@@ -1978,7 +2052,7 @@ load_device_factories (NMManager *self) - - nm_log_info (LOGD_HW, "Loaded device plugin: %s", g_module_name (plugin)); - }; -- g_dir_close (dir); -+ g_strfreev (paths); - - priv->factories = g_slist_reverse (priv->factories); - } -diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c -index f73ff32..7b11a6b 100644 ---- a/src/platform/nm-linux-platform.c -+++ b/src/platform/nm-linux-platform.c -@@ -1584,7 +1584,9 @@ announce_object (NMPlatform *platform, const struct nl_object *object, NMPlatfor - */ - switch (change_type) { - case NM_PLATFORM_SIGNAL_REMOVED: -- check_cache_items (platform, priv->route_cache, address.ifindex); -+ check_cache_items (platform, -+ priv->route_cache, -+ rtnl_addr_get_ifindex ((struct rtnl_addr *) object)); - break; - default: - break; -@@ -3500,7 +3502,8 @@ _route_match (struct rtnl_route *rtnlroute, int family, int ifindex) - rtnl_route_get_table (rtnlroute) != RT_TABLE_MAIN || - rtnl_route_get_protocol (rtnlroute) == RTPROT_KERNEL || - rtnl_route_get_family (rtnlroute) != family || -- rtnl_route_get_nnexthops (rtnlroute) != 1) -+ rtnl_route_get_nnexthops (rtnlroute) != 1 || -+ rtnl_route_get_flags (rtnlroute) & RTM_F_CLONED) - return FALSE; - - nexthop = rtnl_route_nexthop_n (rtnlroute, 0); -diff --git a/vapi/NMClient-1.0.metadata b/vapi/NMClient-1.0.metadata -index 12f1469..2d894d8 100644 ---- a/vapi/NMClient-1.0.metadata -+++ b/vapi/NMClient-1.0.metadata -@@ -1,6 +1,6 @@ --RemoteSettings.new_async skip -+RemoteSettings.new_finish symbol_type="function" - RemoteConnection.updated#virtual_method skip --Client.new_async skip -+Client.new_finish symbol_type="function" - - ACTIVE_CONNECTION_* cheader_filename="nm-active-connection.h" name="ACTIVE_CONNECTION_(.+)" parent="NM.ActiveConnection" - CLIENT_* cheader_filename="nm-client.h" name="CLIENT_(.+)" parent="NM.Client" diff --git a/pcr/networkmanager-consolekit/networkmanager.install b/pcr/networkmanager-consolekit/networkmanager.install index f9da4feb1..de40c17ed 100644 --- a/pcr/networkmanager-consolekit/networkmanager.install +++ b/pcr/networkmanager-consolekit/networkmanager.install @@ -1,5 +1,5 @@ post_upgrade() { - (( $(vercmp $2 0.8.3) < 0 )) && cat <<MSG + (( $(vercmp 0.8.3 $2) > 0 )) && cat <<MSG ATTENTION: /etc/NetworkManager/nm-system-settings.conf has been replaced by /etc/NetworkManager/NetworkManager.conf. Make sure you move diff --git a/pcr/networkmanager-consolekit/networkmanager.rc b/pcr/networkmanager-consolekit/networkmanager.rc deleted file mode 100644 index 1e803e87b..000000000 --- a/pcr/networkmanager-consolekit/networkmanager.rc +++ /dev/null @@ -1,60 +0,0 @@ -#!/bin/bash - -NETWORKMANAGER_BIN=/usr/bin/NetworkManager - -# general config -. /etc/rc.conf -. /etc/rc.d/functions - -PID=`pidof -o %PPID $NETWORKMANAGER_BIN` -case "$1" in - start) - ck_daemon dbus && /etc/rc.d/dbus start - - stat_busy "Starting NetworkManager" - [ ! -d /var/run/NetworkManager ] && install -d /var/run/NetworkManager - if [ -z "$PID" ]; then - $NETWORKMANAGER_BIN - fi - if [ ! -z "$PID" -o $? -gt 0 ]; then - stat_fail - else - add_daemon networkmanager - stat_done - fi - ;; - stop) - stat_busy "Stopping NetworkManager" - [ ! -z "$PID" ] && kill $PID &> /dev/null - if [ $? -gt 0 ]; then - stat_fail - else - rm_daemon networkmanager - stat_done - fi - ;; - restart) - $0 stop - sleep 1 - $0 start - ;; - sleep) - /usr/bin/dbus-send --system \ - --dest=org.freedesktop.NetworkManager \ - --type=method_call \ - /org/freedesktop/NetworkManager \ - org.freedesktop.NetworkManager.sleep - ;; - wake) - /usr/bin/dbus-send --system \ - --dest=org.freedesktop.NetworkManager \ - --type=method_call \ - /org/freedesktop/NetworkManager \ - org.freedesktop.NetworkManager.wake - ;; - *) - echo "usage: $0 {start|stop|restart|sleep|wake}" - ;; -esac -exit 0 - diff --git a/pcr/openrc-devel/PKGBUILD b/pcr/openrc-devel/PKGBUILD index c3ccedb3c..6118b417c 100644 --- a/pcr/openrc-devel/PKGBUILD +++ b/pcr/openrc-devel/PKGBUILD @@ -1,4 +1,4 @@ -# Maintainer (Manjaro): artoo <artoo@manjaro.org> +# Maintainer (Arch): artoo <artoo@manjaro.org> # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> _gentoo_uri="https://raw.githubusercontent.com/gentoo/gentoo/master" @@ -9,7 +9,7 @@ pkgname=('git-openrc' 'postgresql-openrc' 'subversion-openrc' 'php-fpm-openrc') -pkgver=20151014 +pkgver=20151122 pkgrel=1 pkgdesc="OpenRC init scripts" arch=('any') diff --git a/pcr/polkit-consolekit/PKGBUILD b/pcr/polkit-consolekit/PKGBUILD index 0d3b39f61..3b1d99f6b 100644 --- a/pcr/polkit-consolekit/PKGBUILD +++ b/pcr/polkit-consolekit/PKGBUILD @@ -1,44 +1,47 @@ -# Maintainer (Arch): kozec <kozec at kozec.com> -# Contributor (Arch): Lukas Jirkovsky <l.jirkovsky@gmail.com> -# Contributor (Arch): Jan de Groot <jgc@archlinux.org> +# Maintainer: artoo <artoo@manjaro.org> +# Contributor: kozec <kozec at kozec.com> +# Contributor: Lukas Jirkovsky <l.jirkovsky@gmail.com> +# Contributor: Jan de Groot <jgc@archlinux.org> # Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe> +_pkgname=polkit + pkgname=polkit-consolekit pkgver=0.113 -pkgrel=2 +pkgrel=3 pkgdesc="PolicyKit with ConsoleKit support for non-systemd systems" arch=('i686' 'x86_64' 'armv7h') license=('LGPL') url="http://www.freedesktop.org/wiki/Software/polkit" -depends=('glib2' 'pam' 'expat' 'js185') +depends=('glib2' 'pam' 'expat' 'udev' 'js17') makedepends=('intltool' 'gtk-doc' 'gobject-introspection') provides=("polkit=$pkgver") conflicts=('polkit') options=('!libtool') install=polkit.install -source=(http://www.freedesktop.org/software/polkit/releases/polkit-$pkgver.tar.gz - polkit.pam) +source=("http://www.freedesktop.org/software/polkit/releases/$_pkgname-$pkgver.tar.gz") +sha256sums=('e1c095093c654951f78f8618d427faf91cf62abdefed98de40ff65eca6413c81') build() { - cd "$srcdir/polkit-$pkgver" + cd "$srcdir"/$_pkgname-$pkgver - ./configure --prefix=/usr --sysconfdir=/etc \ - --localstatedir=/var --libexecdir=/usr/lib/polkit-1 \ - --with-systemdsystemunitdir=/usr/lib/systemd/system \ - --enable-libsystemd-login=no \ - --disable-static --enable-gtk-doc - make + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --sbindir=/usr/bin \ + --localstatedir=/var \ + --libexecdir=/usr/lib/polkit-1 \ + --enable-libsystemd-login=no \ + --disable-static \ + --enable-gtk-doc \ + --with-os-type=gentoo + make } package() { - cd "$srcdir/polkit-$pkgver" - make DESTDIR="$pkgdir" install - - chown 102 "$pkgdir/etc/polkit-1/rules.d" - chown 102 "$pkgdir/usr/share/polkit-1/rules.d" + cd "$srcdir"/$_pkgname-$pkgver + make DESTDIR="$pkgdir" install - install -m644 "$srcdir/polkit.pam" "$pkgdir/etc/pam.d/polkit-1" + chown root:102 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d + #chmod 750 "$pkgdir"/{etc,usr/share}/polkit-1/rules.d } - -md5sums=('4b77776c9e4f897dcfe03b2c34198edf' - '6564f95878297b954f0572bc1610dd15') diff --git a/pcr/polkit-consolekit/polkit.install b/pcr/polkit-consolekit/polkit.install index fbb98919e..e917e0095 100644 --- a/pcr/polkit-consolekit/polkit.install +++ b/pcr/polkit-consolekit/polkit.install @@ -7,12 +7,3 @@ post_install() { post_upgrade() { post_install } - -post_remove() { - if getent passwd polkitd >/dev/null; then - userdel polkitd - fi - if getent group polkitd >/dev/null; then - groupdel polkitd - fi -} diff --git a/pcr/polkit-consolekit/polkit.pam b/pcr/polkit-consolekit/polkit.pam deleted file mode 100644 index 04f53e0db..000000000 --- a/pcr/polkit-consolekit/polkit.pam +++ /dev/null @@ -1,7 +0,0 @@ -auth requisite pam_nologin.so -auth required pam_env.so -auth required pam_unix.so -account required pam_unix.so -session required pam_limits.so -session required pam_unix.so -password required pam_unix.so |