Package init
- 初始化提交
This commit is contained in:
parent
8e9bd1db9c
commit
ff58f45de9
25
chm_http-bind-localhost.patch
Normal file
25
chm_http-bind-localhost.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From ad27f1981415f9b9df179099e36d793327ce6d8c Mon Sep 17 00:00:00 2001
|
||||
From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
|
||||
Date: Thu, 11 Jul 2019 20:57:19 -0400
|
||||
Subject: [PATCH] Change the default binding to 127.0.0.1
|
||||
|
||||
---
|
||||
src/chm_http.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/chm_http.c b/src/chm_http.c
|
||||
index 237e85a..ddffe55 100644
|
||||
--- a/src/chm_http.c
|
||||
+++ b/src/chm_http.c
|
||||
@@ -50,7 +50,7 @@
|
||||
#include <getopt.h>
|
||||
|
||||
int config_port = 8080;
|
||||
-char config_bind[65536] = "0.0.0.0";
|
||||
+char config_bind[65536] = "127.0.0.1";
|
||||
|
||||
static void usage(const char *argv0)
|
||||
{
|
||||
--
|
||||
2.21.0
|
||||
|
||||
78
chm_http-output-server-address.patch
Normal file
78
chm_http-output-server-address.patch
Normal file
@ -0,0 +1,78 @@
|
||||
From 472396d694ae1d8b77f8b349ab13e387b9eae629 Mon Sep 17 00:00:00 2001
|
||||
From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
|
||||
Date: Thu, 11 Jul 2019 21:16:43 -0400
|
||||
Subject: [PATCH] Print URL for server, quiet option suppresses
|
||||
|
||||
This will display a line of text on stdout immediately after
|
||||
binding to the configured address and port:
|
||||
`Server running at http://<address>:<port>/`
|
||||
An option `-q` / `--quiet` is added, to suppress the output.
|
||||
---
|
||||
src/chm_http.c | 18 +++++++++++++++---
|
||||
1 file changed, 15 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/chm_http.c b/src/chm_http.c
|
||||
index 237e85a..84304f9 100644
|
||||
--- a/src/chm_http.c
|
||||
+++ b/src/chm_http.c
|
||||
@@ -51,13 +51,14 @@
|
||||
|
||||
int config_port = 8080;
|
||||
char config_bind[65536] = "127.0.0.1";
|
||||
+char config_quiet = 0;
|
||||
|
||||
static void usage(const char *argv0)
|
||||
{
|
||||
#ifdef CHM_HTTP_SIMPLE
|
||||
- fprintf(stderr, "usage: %s <filename>\n", argv0);
|
||||
+ fprintf(stderr, "usage: %s [--quiet] <filename>\n", argv0);
|
||||
#else
|
||||
- fprintf(stderr, "usage: %s [--port=PORT] [--bind=IP] <filename>\n", argv0);
|
||||
+ fprintf(stderr, "usage: %s [--quiet] [--port=PORT] [--bind=IP] <filename>\n", argv0);
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
@@ -80,6 +81,7 @@ int main(int c, char **v)
|
||||
{
|
||||
{ "port", required_argument, 0, 'p' },
|
||||
{ "bind", required_argument, 0, 'b' },
|
||||
+ { "quiet", no_argument, 0, 'q' },
|
||||
{ "help", no_argument, 0, 'h' },
|
||||
{ 0, 0, 0, 0 }
|
||||
};
|
||||
@@ -87,7 +89,7 @@ int main(int c, char **v)
|
||||
while (1)
|
||||
{
|
||||
int o;
|
||||
- o = getopt_long (c, v, "p:b:h", longopts, &optindex);
|
||||
+ o = getopt_long (c, v, "p:b:qh", longopts, &optindex);
|
||||
if (o < 0)
|
||||
{
|
||||
break;
|
||||
@@ -109,6 +111,10 @@ int main(int c, char **v)
|
||||
config_bind[65535] = '\0';
|
||||
break;
|
||||
|
||||
+ case 'q':
|
||||
+ config_quiet = 1;
|
||||
+ break;
|
||||
+
|
||||
case 'h':
|
||||
usage (v[0]);
|
||||
break;
|
||||
@@ -182,6 +188,12 @@ static void chmhttp_server(const char *filename)
|
||||
exit(3);
|
||||
}
|
||||
|
||||
+ /* Display URL for server */
|
||||
+ if (!config_quiet)
|
||||
+ {
|
||||
+ printf("Server running at http://%s:%d/\n", config_bind, config_port);
|
||||
+ }
|
||||
+
|
||||
/* listen for connections */
|
||||
listen(server.socket, 75);
|
||||
addrLen = sizeof(struct sockaddr);
|
||||
--
|
||||
2.21.0
|
||||
|
||||
28
chm_http-port-shortopt.patch
Normal file
28
chm_http-port-shortopt.patch
Normal file
@ -0,0 +1,28 @@
|
||||
From 107ce67661c517d1c0b63c31ed1dbe34573de445 Mon Sep 17 00:00:00 2001
|
||||
From: "FeRD (Frank Dana)" <ferdnyc@gmail.com>
|
||||
Date: Thu, 11 Jul 2019 21:20:23 -0400
|
||||
Subject: [PATCH] Correct port short-opt to -p (not -n)
|
||||
|
||||
The getopt_long arguments specified the short option for `--port` as
|
||||
`-n`, which was not handled by the case statement, making both `-p`
|
||||
(invalid argument) and `-n` (ignored) unusable to set the port.
|
||||
---
|
||||
src/chm_http.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/chm_http.c b/src/chm_http.c
|
||||
index 237e85a..6ae00cc 100644
|
||||
--- a/src/chm_http.c
|
||||
+++ b/src/chm_http.c
|
||||
@@ -87,7 +87,7 @@ int main(int c, char **v)
|
||||
while (1)
|
||||
{
|
||||
int o;
|
||||
- o = getopt_long (c, v, "n:b:h", longopts, &optindex);
|
||||
+ o = getopt_long (c, v, "p:b:h", longopts, &optindex);
|
||||
if (o < 0)
|
||||
{
|
||||
break;
|
||||
--
|
||||
2.21.0
|
||||
|
||||
BIN
chmlib-0.40.tar.bz2
Normal file
BIN
chmlib-0.40.tar.bz2
Normal file
Binary file not shown.
@ -0,0 +1,73 @@
|
||||
From be20aa9e5992f371fa0f73be16bb1b145192a428 Mon Sep 17 00:00:00 2001
|
||||
From: Jed Wing <jed.wing@gmail.com>
|
||||
Date: Wed, 27 May 2009 18:25:42 -0700
|
||||
Subject: [PATCH 1/2] Patch to fix integer types problem by Goswin von
|
||||
Brederlow.
|
||||
|
||||
This came from Goswin von Brederlow <brederlo@informatik.uni-tuebingen.de> via
|
||||
Kartik Mistry, the maintainer of the Debian package of chmlib.
|
||||
---
|
||||
src/chm_lib.c | 30 +++++++++++++-----------------
|
||||
1 file changed, 13 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/src/chm_lib.c b/src/chm_lib.c
|
||||
index 6c6736c..ffd213c 100644
|
||||
--- a/src/chm_lib.c
|
||||
+++ b/src/chm_lib.c
|
||||
@@ -56,6 +56,7 @@
|
||||
|
||||
#include "lzx.h"
|
||||
|
||||
+#include <stdint.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
#ifdef CHM_DEBUG
|
||||
@@ -149,22 +150,9 @@ typedef unsigned __int32 UInt32;
|
||||
typedef __int64 Int64;
|
||||
typedef unsigned __int64 UInt64;
|
||||
|
||||
-/* I386, 32-bit, non-Windows */
|
||||
-/* Sparc */
|
||||
-/* MIPS */
|
||||
-/* PPC */
|
||||
-#elif __i386__ || __sun || __sgi || __ppc__
|
||||
-typedef unsigned char UChar;
|
||||
-typedef short Int16;
|
||||
-typedef unsigned short UInt16;
|
||||
-typedef long Int32;
|
||||
-typedef unsigned long UInt32;
|
||||
-typedef long long Int64;
|
||||
-typedef unsigned long long UInt64;
|
||||
-
|
||||
/* x86-64 */
|
||||
/* Note that these may be appropriate for other 64-bit machines. */
|
||||
-#elif __x86_64__ || __ia64__
|
||||
+#elif defined(__LP64__)
|
||||
typedef unsigned char UChar;
|
||||
typedef short Int16;
|
||||
typedef unsigned short UInt16;
|
||||
@@ -173,10 +161,18 @@ typedef unsigned int UInt32;
|
||||
typedef long Int64;
|
||||
typedef unsigned long UInt64;
|
||||
|
||||
+/* I386, 32-bit, non-Windows */
|
||||
+/* Sparc */
|
||||
+/* MIPS */
|
||||
+/* PPC */
|
||||
#else
|
||||
-
|
||||
-/* yielding an error is preferable to yielding incorrect behavior */
|
||||
-#error "Please define the sized types for your platform in chm_lib.c"
|
||||
+typedef unsigned char UChar;
|
||||
+typedef short Int16;
|
||||
+typedef unsigned short UInt16;
|
||||
+typedef long Int32;
|
||||
+typedef unsigned long UInt32;
|
||||
+typedef long long Int64;
|
||||
+typedef unsigned long long UInt64;
|
||||
#endif
|
||||
|
||||
/* GCC */
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
@ -0,0 +1,40 @@
|
||||
From 5998ff5105a9cd3f684519927e2ac78d3b6a3c30 Mon Sep 17 00:00:00 2001
|
||||
From: Jed Wing <jed.wing@gmail.com>
|
||||
Date: Wed, 27 May 2009 18:41:10 -0700
|
||||
Subject: [PATCH 2/2] Fix for extract_chmLib confusing empty files with
|
||||
directories.
|
||||
|
||||
Patch from Paul Wise <pabs@debian.org> via Kartik Mistry, the maintainer of the
|
||||
Debian chmlib package.
|
||||
---
|
||||
src/extract_chmLib.c | 7 ++++++-
|
||||
1 file changed, 6 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/extract_chmLib.c b/src/extract_chmLib.c
|
||||
index 078cc35..478c892 100644
|
||||
--- a/src/extract_chmLib.c
|
||||
+++ b/src/extract_chmLib.c
|
||||
@@ -102,6 +102,7 @@ int _extract_callback(struct chmFile *h,
|
||||
struct chmUnitInfo *ui,
|
||||
void *context)
|
||||
{
|
||||
+ LONGUINT64 ui_path_len;
|
||||
char buffer[32768];
|
||||
struct extract_context *ctx = (struct extract_context *)context;
|
||||
char *i;
|
||||
@@ -119,7 +120,11 @@ int _extract_callback(struct chmFile *h,
|
||||
if (snprintf(buffer, sizeof(buffer), "%s%s", ctx->base_path, ui->path) > 1024)
|
||||
return CHM_ENUMERATOR_FAILURE;
|
||||
|
||||
- if (ui->length != 0)
|
||||
+ /* Get the length of the path */
|
||||
+ ui_path_len = strlen(ui->path)-1;
|
||||
+
|
||||
+ /* Distinguish between files and dirs */
|
||||
+ if (ui->path[ui_path_len] != '/' )
|
||||
{
|
||||
FILE *fout;
|
||||
LONGINT64 len, remain=ui->length;
|
||||
--
|
||||
1.8.3.1
|
||||
|
||||
86
chmlib.spec
Normal file
86
chmlib.spec
Normal file
@ -0,0 +1,86 @@
|
||||
Name: chmlib
|
||||
Summary: Library for dealing with ITSS/CHM format files
|
||||
Version: 0.40
|
||||
Release: 1
|
||||
License: LGPLv2+
|
||||
Url: http://www.jedrea.com/chmlib/
|
||||
%if 0%{?el7}%{?fedora}
|
||||
VCS: https://github.com/jedwing/CHMLib.git
|
||||
%endif
|
||||
Source0: http://www.jedrea.com/chmlib/%{name}-%{version}.tar.bz2
|
||||
# backported from upstream
|
||||
Patch1: chmlib-0001-Patch-to-fix-integer-types-problem-by-Goswin-von-Bre.patch
|
||||
# backported from upstream
|
||||
Patch2: chmlib-0002-Fix-for-extract_chmLib-confusing-empty-files-with-di.patch
|
||||
# Submitted upstream https://github.com/jedwing/CHMLib/pull/10
|
||||
Patch3: chm_http-port-shortopt.patch
|
||||
# Submitted upstream https://github.com/jedwing/CHMLib/pull/11
|
||||
Patch4: chm_http-bind-localhost.patch
|
||||
# Submitted upstream https://github.com/jedwing/CHMLib/pull/12
|
||||
Patch5: chm_http-output-server-address.patch
|
||||
BuildRequires: autoconf
|
||||
BuildRequires: automake
|
||||
BuildRequires: libtool
|
||||
BuildRequires: make
|
||||
|
||||
|
||||
%description
|
||||
CHMLIB is a library for dealing with ITSS/CHM format files. Right now, it is
|
||||
a very simple library, but sufficient for dealing with all of the .chm files
|
||||
I've come across. Due to the fairly well-designed indexing built into this
|
||||
particular file format, even a small library is able to gain reasonably good
|
||||
performance indexing into ITSS archives.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Library for dealing with ITSS/CHM format files - development files
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
|
||||
|
||||
%description devel
|
||||
Files needed for developing apps using chmlib.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch1 -p1 -b .types
|
||||
%patch2 -p1 -b .files_dirs
|
||||
%patch3 -p1 -b .shortopt
|
||||
%patch4 -p1 -b .localhost
|
||||
%patch5 -p1 -b .printaddr
|
||||
rm -f libtool
|
||||
mv configure.in configure.ac
|
||||
autoreconf -ivf
|
||||
|
||||
|
||||
%build
|
||||
%configure --enable-examples --disable-static
|
||||
make %{?_smp_mflags}
|
||||
|
||||
|
||||
%install
|
||||
make DESTDIR=%{buildroot} install
|
||||
rm -f %{buildroot}/%{_libdir}/*.la
|
||||
|
||||
|
||||
%ldconfig_scriptlets
|
||||
|
||||
|
||||
%files
|
||||
%{_bindir}/chm_http
|
||||
%{_bindir}/enum_chmLib
|
||||
%{_bindir}/enumdir_chmLib
|
||||
%{_bindir}/extract_chmLib
|
||||
%{_bindir}/test_chmLib
|
||||
%{_libdir}/libchm.so.*
|
||||
%doc README AUTHORS COPYING NEWS
|
||||
|
||||
|
||||
%files devel
|
||||
%{_includedir}/*
|
||||
%{_libdir}/libchm.so
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed May 24 2023 wangtaozhi <wangtaozhi@kylinsec.com.cn> - 0.40-1
|
||||
- Package init
|
||||
4
chmlib.yaml
Normal file
4
chmlib.yaml
Normal file
@ -0,0 +1,4 @@
|
||||
version_control: github
|
||||
src_repo: https://github.com/jedwing/CHMLib
|
||||
tag_prefix: "v"
|
||||
separator: "."
|
||||
Loading…
x
Reference in New Issue
Block a user