json/json.spec

Thu, 04 Oct 2012 20:30:05 +0200

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 04 Oct 2012 20:30:05 +0200
changeset 715
c10fb90893b9
parent 304
fbf6cb91be09
permissions
-rw-r--r--

Correct out of date build configuration, porting to Solaris 11 network
link infrastructure and new libpcap logic. This additionally allows for
device drivers in subdirectories of /dev. Correct packaged nmap
personalities and signatures to work out of the box. Finally, hack
arpd logic to properly close sockets and quit on TERM by repeating
signaling in the run command script. Sadly, all this fails to correct
the run time behaviour of honeyd which fails to bind to the IP layer.

     1 ##
     2 ##  json.spec -- OpenPKG RPM Package Specification
     3 ##  Copyright (c) 2000-2009 OpenPKG Foundation e.V. <http://openpkg.net/>
     4 ##
     5 ##  Permission to use, copy, modify, and distribute this software for
     6 ##  any purpose with or without fee is hereby granted, provided that
     7 ##  the above copyright notice and this permission notice appear in all
     8 ##  copies.
     9 ##
    10 ##  THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
    11 ##  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    12 ##  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
    13 ##  IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR
    14 ##  CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    15 ##  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    16 ##  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
    17 ##  USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
    18 ##  ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
    19 ##  OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
    20 ##  OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
    21 ##  SUCH DAMAGE.
    22 ##
    24 #   package version
    25 %define       V_api_c   0.9
    26 %define       V_api_c2  1.1.0
    27 %define       V_api_c3  0.8
    28 %define       V_api_pl1 2.53
    29 %define       V_api_pl2 0.47
    30 %define       V_api_pl3 2.33
    31 %define       V_api_pl4 0.011
    32 %define       V_api_js1 20091209
    33 %define       V_api_js2 20091209
    35 #   package information
    36 Name:         json
    37 Summary:      JavaScript Object Notation (JSON)
    38 URL:          http://www.json.org/
    39 Vendor:       D. Crockford et al.
    40 Packager:     OpenPKG Foundation e.V.
    41 Distribution: OpenPKG Community
    42 Class:        PLUS
    43 Group:        Language
    44 License:      Open Source
    45 Version:      %{V_api_js2}
    46 Release:      20120800
    48 #   list of sources
    49 Source0:      http://oss.metaparadigm.com/json-c/json-c-%{V_api_c}.tar.gz
    50 Source1:      http://switch.dl.sourceforge.net/zzjson/zzjson-%{V_api_c2}.tar.gz
    51 Source2:      http://projects.snarc.org/libjson/download/libjson-%{V_api_c3}.tar.bz2
    52 Source3:      http://www.cpan.org/authors/id/M/MA/MAKAMAKA/JSON-%{V_api_pl1}.tar.gz
    53 Source4:      http://www.cpan.org/authors/id/D/DO/DOWENS/JSON-DWIW-%{V_api_pl2}.tar.gz
    54 Source5:      http://www.cpan.org/authors/id/M/ML/MLEHMANN/JSON-XS-%{V_api_pl3}.tar.gz
    55 Source6:      http://www.cpan.org/authors/id/P/PE/PERLER/JavaScript-Dumper-%{V_api_pl4}.tar.gz
    56 Source7:      ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json-%{V_api_js1}.js
    57 Source8:      ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/json2-%{V_api_js2}.js
    58 Source9:      http://www.ietf.org/rfc/rfc4627.txt
    59 Patch0:       json.patch
    61 #   build information
    62 BuildPreReq:  OpenPKG, openpkg >= 20100101, perl, perl-openpkg, make
    63 PreReq:       OpenPKG, openpkg >= 20100101, perl
    65 %description
    66     JSON (JavaScript Object Notation) is a lightweight data-interchange
    67     format. It is easy for humans to read and write. It is easy for
    68     machines to parse and generate. It is based on a subset of the
    69     JavaScript Programming Language, Standard ECMA-262 3rd Edition.
    70     JSON is a text format that is completely language independent but
    71     uses conventions that are familiar to programmers of the C-family
    72     of languages. These properties make JSON an ideal data-interchange
    73     language.
    75 %track
    76     prog json:json-c = {
    77         version   = %{V_api_c}
    78         url       = http://oss.metaparadigm.com/json-c/
    79         regex     = json-c-(__VER__)\.tar\.gz
    80     }
    81     prog json:json-c2 = {
    82         version   = %{V_api_c2}
    83         url       = http://sourceforge.net/projects/zzjson/files/
    84         regex     = zzjson-(__VER__)\.tar\.gz
    85     }
    86     prog json:json-c3 = {
    87         version   = %{V_api_c3}
    88         url       = http://projects.snarc.org/libjson/download/
    89         regex     = libjson-(__VER__)\.tar\.bz2
    90     }
    91     prog json:json-pl1 = {
    92         version   = %{V_api_pl1}
    93         url       = http://www.cpan.org/authors/id/M/MA/MAKAMAKA/
    94         regex     = JSON-(__VER__)\.tar\.gz
    95     }
    96     prog json:json-pl2 = {
    97         version   = %{V_api_pl3}
    98         url       = http://www.cpan.org/authors/id/D/DO/DOWENS/
    99         regex     = JSON-DWIW-(__VER__)\.tar\.gz
   100     }
   101     prog json:json-pl3 = {
   102         version   = %{V_api_pl4}
   103         url       = http://www.cpan.org/authors/id/M/ML/MLEHMANN/
   104         regex     = JSON-XS-(__VER__)\.tar\.gz
   105     }
   106     prog json:json-pl4 = {
   107         version   = %{V_api_pl5}
   108         url       = http://www.cpan.org/authors/id/P/PE/PERLER/
   109         regex     = JavaScript-Dumper-(__VER__)\.tar\.gz
   110     }
   111     prog json:json-js1 = {
   112         version   = %{V_api_js1}
   113         url       = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
   114         regex     = json-(__VER__)\.js
   115     }
   116     prog json:json-js2 = {
   117         version   = %{V_api_js2}
   118         url       = ftp://ftp.openpkg.org/sources/CPY/VERSIONED/json/
   119         regex     = json2-(__VER__)\.js
   120     }
   122 %prep
   123     %setup -q -c
   124     %setup -q -T -D -a 1
   125     %setup -q -T -D -a 2
   126     %setup -q -T -D -a 3
   127     %setup -q -T -D -a 4
   128     %setup -q -T -D -a 5
   129     %setup -q -T -D -a 6
   130     cp %{SOURCE json-%{V_api_js1}.js} json.js
   131     cp %{SOURCE json2-%{V_api_js2}.js} json2.js
   132     %patch -p0
   133     %{l_shtool} subst \
   134         -e 's;\(AM_CFLAGS *=.*\)-Werror *;\1;' \
   135         json-c-%{V_api_c}/Makefile.in
   137 %build
   138     ( cd json-c-%{V_api_c}
   139       CC="%{l_cc}" \
   140       CFLAGS="%{l_cflags -O}" \
   141       ./configure \
   142           --prefix=%{l_prefix} \
   143           --disable-shared
   144       %{l_make} %{l_mflags -O}
   145     ) || exit $?
   146     ( cd zzjson-%{V_api_c2}
   147       CC="%{l_cc}" \
   148       %{l_bash} ./buildstatic.sh
   149     ) || exit $?
   150     ( cd libjson-%{V_api_c3}
   151       %{l_make} %{l_mflags} \
   152           CC="%{l_cc}" \
   153           CFLAGS="%{l_cflags -O}" \
   154           libjson.a
   155     ) || exit $?
   156     %{l_prefix}/bin/perl-openpkg prepare
   157     %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} configure build
   158     %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl2} configure build
   159     %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl3} configure build
   160     %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl4} configure build
   162 %install
   163     ( cd json-c-%{V_api_c}
   164       %{l_make} %{l_mflags} install AM_MAKEFLAGS="DESTDIR=$RPM_BUILD_ROOT"
   165     ) || exit $?
   166     ( cd zzjson-%{V_api_c2}
   167       %{l_shtool} install -c -m 644 \
   168           include/zzjson.h $RPM_BUILD_ROOT%{l_prefix}/include/
   169       %{l_shtool} install -c -m 644 \
   170           lib/libzzjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
   171     ) || exit $?
   172     ( cd libjson-%{V_api_c3}
   173       %{l_shtool} install -c -m 644 \
   174           json.h $RPM_BUILD_ROOT%{l_prefix}/include/
   175       %{l_shtool} install -c -m 644 \
   176           libjson.a $RPM_BUILD_ROOT%{l_prefix}/lib/
   177     ) || exit $?
   178     %{l_shtool} mkdir -f -p -m 755 \
   179         $RPM_BUILD_ROOT%{l_prefix}/share/json
   180     %{l_shtool} install -c -m 644 \
   181         json.js json2.js $RPM_BUILD_ROOT%{l_prefix}/share/json/
   182     %{l_shtool} install -c -m 644 \
   183         %{SOURCE rfc4627.txt} $RPM_BUILD_ROOT%{l_prefix}/share/json/
   184     %{l_shtool} mkdir -f -p -m 755 \
   185         $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d
   186     ( echo "Alias /openpkg-json/ %{l_prefix}/share/json/"
   187       echo "<Directory %{l_prefix}/share/json/>"
   188       echo "    Options       Indexes"
   189       echo "    AllowOverride none"
   190       echo "    Order         allow,deny"
   191       echo "    Allow         from all"
   192       echo "</Directory>"
   193     ) >json.conf
   194     %{l_shtool} install -c -m 644 \
   195         json.conf $RPM_BUILD_ROOT%{l_prefix}/etc/apache/apache.d/
   196     %{l_prefix}/bin/perl-openpkg -d JSON-%{V_api_pl1} install
   197     %{l_prefix}/bin/perl-openpkg -d JSON-DWIW-%{V_api_pl2} install
   198     %{l_prefix}/bin/perl-openpkg -d JSON-XS-%{V_api_pl3} install
   199     %{l_prefix}/bin/perl-openpkg -d JavaScript-Dumper-%{V_api_pl4} install
   200     %{l_prefix}/bin/perl-openpkg -F perl-openpkg-files fixate cleanup
   201     %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \
   202         %{l_files_std} `cat perl-openpkg-files` \
   203         '%config %{l_prefix}/etc/apache/apache.d/*'
   205 %files -f files
   207 %clean

mercurial