Packaging Palo Server for Fedora

    Packaging Palo Server for Fedora

    Hi,

    I have begun the process of packaging the palo server for fedora.

    The review request can be found on: bugzilla.redhat.com/show_bug.cgi?id=1209166
    The .spec file can be found here: myk52348.fedorapeople.org/palo/palo.spec
    and the SRPM is here: myk52348.fedorapeople.org/palo/palo-5.1-4.fc21.src.rpm

    In this first build of package, I have included 2 patches:
    Patch 0: works around an issue in the cmake process. It would help if the developer of the CMakeLists.txt could elaborate further on approach to locate libraries. In particular statements like:
    set_property(TARGET libboost_thread-mt PROPERTY IMPORTED_LOCATION ${LIB_BOOST_ROOT_DIR}/lib/${CMAKE_SYSTEM_NAME}/${ARCH_HINT}/libboost_thread-mt.so)
    seem to be distro specific, which meant I needed to patch the MakeList to get the build to work, which is not ideal.

    Patch 1: was to include the systemd unit, which I wrote about here: jedox.com/community/palo-forum….php?page=Board&boardID=9

    It would be ideal if there two patches could be eliminate in future releases. Is there a process by which I can formally submit patches for review and inclusion?

    I would also like to make the following 2 requests.
    Request 1: it would be great to have a man page. I can do something with the output of 'palo --help' but would it be possible to place enough of the jedox admin manual (jedox.com/assets/aws/jedox_admin_manual.pdf) in the public domain to create the man page?

    Request 2: It looks like the CHANGELOG file has not been updated for sometime - would it be possible to get this updated, maybe in the next release?

    Thanks and regards,
    Michael
    The FSF address in the license file appears inconsistent

    The LICENSE file located on
    svn.code.sf.net/p/palo/code/molap/server/5.1/LICENSE
    notes that palo is GNU GPL version 2 licensed, but then refers to gnu.org/copyleft/gpl.html, which is the GNU GPL version 3 license.

    Assuming that you do indeed intend palo to be GNU GPL v2 licensed, please could I request that you replace the addess:
    gnu.org/copyleft/gpl.html
    with the address:
    gnu.org/licenses/gpl-2.0.html
    in the LICENSE file.

    In addition, in checking the software licenses in the program files themselves, RPMlint noted:

    found: "GPL (v2)) (with incorrect FSF address)", "LGPL (v2 or later)",
    "GPL (v3 or later)", "Unknown or generated", "zlib/libpng". 21 files
    have unknown license. Detailed output of licensecheck in licensecheck.txt

    I can't figure out how to attach the licensecheck.txt file, so PM me if you'd like a complete copy. I've inserted the details of the non-GPLv2 licensed files at the end of this post

    Kind regards,
    Michael


    GPL (v3 or later)
    -----------------
    palo-5.1/Library/Parser/RuleParser.cpp
    palo-5.1/Library/Parser/RuleParser.hpp
    palo-5.1/Library/Parser/location.hh
    palo-5.1/Library/Parser/position.hh
    palo-5.1/Library/Parser/stack.hh

    LGPL (v2 or later)
    ------------------
    palo-5.1/Library/Network/ClientSocket.cpp
    palo-5.1/Library/Network/ClientSocket.h
    palo-5.1/Library/Network/HttpClient/BasicAuthentication.cpp
    palo-5.1/Library/Network/HttpClient/BasicAuthentication.h
    palo-5.1/Library/Network/HttpClient/Http.h
    palo-5.1/Library/Network/HttpClient/HttpClient.cpp
    palo-5.1/Library/Network/HttpClient/HttpClient.h
    palo-5.1/Library/Network/HttpClient/HttpClientConnection.cpp
    palo-5.1/Library/Network/HttpClient/HttpClientConnection.h
    palo-5.1/Library/Network/HttpClient/HttpClientConnectionPool.cpp
    palo-5.1/Library/Network/HttpClient/HttpClientConnectionPool.h
    palo-5.1/Library/Network/HttpClient/HttpClientRequest.cpp
    palo-5.1/Library/Network/HttpClient/HttpClientRequest.h
    palo-5.1/Library/Network/HttpClient/HttpClientResponse.cpp
    palo-5.1/Library/Network/HttpClient/HttpClientResponse.h
    palo-5.1/Library/Network/HttpClient/HttpRequestHandler.h
    palo-5.1/Library/Network/HttpClient/HttpsClientConnection.cpp
    palo-5.1/Library/Network/HttpClient/HttpsClientConnection.h
    palo-5.1/Library/Network/HttpClient/HttpsClientConnectionPool.cpp
    palo-5.1/Library/Network/HttpClient/HttpsClientConnectionPool.h
    palo-5.1/Library/Network/HttpClient/Url.cpp
    palo-5.1/Library/Network/HttpClient/Url.h
    palo-5.1/Library/Network/NetInitialisation.cpp
    palo-5.1/Library/Network/NetInitialisation.h
    palo-5.1/Library/Network/Socket.cpp
    palo-5.1/Library/Network/Socket.h
    palo-5.1/Library/Network/SocketAddress.cpp
    palo-5.1/Library/Network/SocketAddress.h
    palo-5.1/Library/Network/TcpDevice/TcpDevice.cpp
    palo-5.1/Library/Network/TcpDevice/TcpDevice.h

    Unknown or generated
    --------------------
    palo-5.1/Api/md5.js
    palo-5.1/Api/palo.js
    palo-5.1/Api/rule_lexer.js
    palo-5.1/Library/Collections/abattoir.h
    palo-5.1/Library/InputOutput/zip/crypt.h
    palo-5.1/Library/InputOutput/zip/ioapi.c
    palo-5.1/Library/InputOutput/zip/ioapi.h
    palo-5.1/Library/InputOutput/zip/iowin32.c
    palo-5.1/Library/InputOutput/zip/iowin32.h
    palo-5.1/Library/InputOutput/zip/unzip.c
    palo-5.1/Library/InputOutput/zip/zip.c
    palo-5.1/Library/Options/OptionsFileIterator.h
    palo-5.1/Library/PaloHttpServer/PaloCommands.h
    palo-5.1/Library/Parser/RuleScanner.cpp
    palo-5.1/Library/Timer/PTDebug.h
    palo-5.1/Library/Timer/PTS_Resource.h
    palo-5.1/Library/Timer/PTS_TSCount.h
    palo-5.1/Library/Timer/PTS_Timer.h
    palo-5.1/Library/Timer/PT_MiscSystem.h
    palo-5.1/Modules/CMake/CheckHeaderSTDC.c
    palo-5.1/Resource/resource.h

    zlib/libpng
    -----------
    palo-5.1/Library/InputOutput/zip/unzip.h
    palo-5.1/Library/InputOutput/zip/zip.h

    Post was edited 1 time, last by “myk” ().

    I've incorporate the changes to .rpm to run the palo under its own user (called palo) and also incorporated the SELinux policy work which I documented here:
    SELinux policy for palo

    The .rpm is looking pretty complete and I've begun using it, so for those of you who would like to try it out, happy to take your feedback.

    The installation instructions for those on 64-bit linux are:

    Source Code

    1. mkdir ~/palo
    2. cd ~/palo
    3. wget https://myk52348.fedorapeople.org/palo/5.1-4/x86_64/palo-5.1.4-0.fc22.x86_64.rpm
    4. sudo rpm -Uvh palo-5.1.4-0.fc22.x86_64.rpm
    5. sudo systemctl daemon-reload
    6. sudo systemctl start palo

    which should give you a running palo process. You can check the process with

    Source Code

    1. sudo systemctl status palo


    If you want to get rid of it, you can:

    Source Code

    1. sudo system stop palo
    2. sudo rpm -e palo

    and if you want to remove the palo databases:

    Source Code

    1. sudo rm -ef /var/lib/palo

    Post was edited 1 time, last by “myk” ().