Auto sync2gitlab import of liblognorm-2.0.5-2.el8.src.rpm
This commit is contained in:
		
							parent
							
								
									a9bc21169b
								
							
						
					
					
						commit
						aeec12eda9
					
				
							
								
								
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Normal file
									
								
							@ -0,0 +1 @@
 | 
				
			|||||||
 | 
					/liblognorm-2.0.5.tar.gz
 | 
				
			||||||
							
								
								
									
										204
									
								
								liblognorm-2.0.0-rhbz1565219-add-skipempty.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										204
									
								
								liblognorm-2.0.0-rhbz1565219-add-skipempty.patch
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,204 @@
 | 
				
			|||||||
 | 
					From eb2299a0897577048205e4d8a331168d82ce09d0 Mon Sep 17 00:00:00 2001
 | 
				
			||||||
 | 
					From: Noriko Hosoi <nhosoi@momo7.localdomain>
 | 
				
			||||||
 | 
					Date: Thu, 26 Jul 2018 17:18:38 -0700
 | 
				
			||||||
 | 
					Subject: [PATCH] Add a parameter skipempty to the json field type.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If skipempty is set as follows, empty json objects are dropped from
 | 
				
			||||||
 | 
					the parsed result.
 | 
				
			||||||
 | 
					  %field_name:json:skipempty%
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If any parameter other than "skipempty" is given ("bogus" in this
 | 
				
			||||||
 | 
					example), an error message "invalid flag for JSON parser: bogus"
 | 
				
			||||||
 | 
					is issued.
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					 src/parser.c                  | 127 ++++++++++++++++++++++++++++++++++++++++++
 | 
				
			||||||
 | 
					 src/parser.h                  |   2 +-
 | 
				
			||||||
 | 
					 src/pdag.c                    |   2 +-
 | 
				
			||||||
 | 
					 3 files changed, 129 insertions(+), 2 deletions(-)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					diff --git a/src/parser.c b/src/parser.c
 | 
				
			||||||
 | 
					index 77407c6..6736c6f 100644
 | 
				
			||||||
 | 
					--- a/src/parser.c
 | 
				
			||||||
 | 
					+++ b/src/parser.c
 | 
				
			||||||
 | 
					@@ -2325,6 +2325,85 @@ PARSER_Parse(v2IPTables)
 | 
				
			||||||
 | 
					 	return r;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+/*
 | 
				
			||||||
 | 
					+ * Delete children of the given object if it has children and they are empty.
 | 
				
			||||||
 | 
					+ *
 | 
				
			||||||
 | 
					+ * return 0 if object is not empty
 | 
				
			||||||
 | 
					+ * return 1 if object is empty
 | 
				
			||||||
 | 
					+ * return < 0 if error
 | 
				
			||||||
 | 
					+ *
 | 
				
			||||||
 | 
					+ * Caller should do this:
 | 
				
			||||||
 | 
					+ * if (jsonSkipEmpty(obj) > 0) {
 | 
				
			||||||
 | 
					+ *     json_object_put(obj);
 | 
				
			||||||
 | 
					+ *     obj = NULL;
 | 
				
			||||||
 | 
					+ * }
 | 
				
			||||||
 | 
					+ * or otherwise not use obj if jsonSkipEmpty returns > 0.
 | 
				
			||||||
 | 
					+ */
 | 
				
			||||||
 | 
					+static int
 | 
				
			||||||
 | 
					+jsonSkipEmpty(struct json_object *__restrict__ json)
 | 
				
			||||||
 | 
					+{
 | 
				
			||||||
 | 
					+	int rc = 0;
 | 
				
			||||||
 | 
					+	struct json_object *val = NULL;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	if(json == NULL) {
 | 
				
			||||||
 | 
					+		rc = 1;
 | 
				
			||||||
 | 
					+		goto finalize_it;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	switch (json_object_get_type(json)) {
 | 
				
			||||||
 | 
					+	case json_type_string:
 | 
				
			||||||
 | 
					+		rc = json_object_get_string_len(json) == 0;
 | 
				
			||||||
 | 
					+		break;
 | 
				
			||||||
 | 
					+	case json_type_array:
 | 
				
			||||||
 | 
					+	{
 | 
				
			||||||
 | 
					+		int i;
 | 
				
			||||||
 | 
					+		int arrayLen = json_object_array_length(json);
 | 
				
			||||||
 | 
					+		for (i = 0 ; i < arrayLen ; ++i) {
 | 
				
			||||||
 | 
					+			val = json_object_array_get_idx(json, i);
 | 
				
			||||||
 | 
					+			if ((rc = jsonSkipEmpty(val)) > 0) {
 | 
				
			||||||
 | 
					+				/* delete the empty item and reset the index and arrayLen */
 | 
				
			||||||
 | 
					+				json_object_array_del_idx(json, i--);
 | 
				
			||||||
 | 
					+				arrayLen = json_object_array_length(json);
 | 
				
			||||||
 | 
					+			} else if (rc < 0) {
 | 
				
			||||||
 | 
					+				goto finalize_it;
 | 
				
			||||||
 | 
					+			}
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					+		rc = json_object_array_length(json) == 0;
 | 
				
			||||||
 | 
					+		break;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	case json_type_object:
 | 
				
			||||||
 | 
					+	{
 | 
				
			||||||
 | 
					+		struct json_object_iterator it = json_object_iter_begin(json);
 | 
				
			||||||
 | 
					+		struct json_object_iterator itEnd = json_object_iter_end(json);
 | 
				
			||||||
 | 
					+		while (!json_object_iter_equal(&it, &itEnd)) {
 | 
				
			||||||
 | 
					+			val = json_object_iter_peek_value(&it);
 | 
				
			||||||
 | 
					+			if ((rc = jsonSkipEmpty(val)) > 0) {
 | 
				
			||||||
 | 
					+				json_object_object_del(json, json_object_iter_peek_name(&it));
 | 
				
			||||||
 | 
					+			} else if (rc < 0) {
 | 
				
			||||||
 | 
					+				goto finalize_it;
 | 
				
			||||||
 | 
					+			}
 | 
				
			||||||
 | 
					+			json_object_iter_next(&it);
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					+		rc = json_object_object_length(json) == 0;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	case json_type_null:
 | 
				
			||||||
 | 
					+	case json_type_boolean:
 | 
				
			||||||
 | 
					+	case json_type_double:
 | 
				
			||||||
 | 
					+	case json_type_int:
 | 
				
			||||||
 | 
					+	default: break;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+finalize_it:
 | 
				
			||||||
 | 
					+	return rc;
 | 
				
			||||||
 | 
					+}
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+/* 
 | 
				
			||||||
 | 
					+ * Parameters for field type json
 | 
				
			||||||
 | 
					+ *   skipempty - skips empty json objects.
 | 
				
			||||||
 | 
					+ *             - %field_name:json:skipempty%
 | 
				
			||||||
 | 
					+ */
 | 
				
			||||||
 | 
					+struct data_JSON {
 | 
				
			||||||
 | 
					+	int skipempty;
 | 
				
			||||||
 | 
					+};
 | 
				
			||||||
 | 
					 /**
 | 
				
			||||||
 | 
					  * Parse JSON. This parser tries to find JSON data inside a message.
 | 
				
			||||||
 | 
					  * If it finds valid JSON, it will extract it. Extra data after the
 | 
				
			||||||
 | 
					@@ -2340,6 +2419,7 @@ PARSER_Parse(v2IPTables)
 | 
				
			||||||
 | 
					 PARSER_Parse(JSON)
 | 
				
			||||||
 | 
					 	const size_t i = *offs;
 | 
				
			||||||
 | 
					 	struct json_tokener *tokener = NULL;
 | 
				
			||||||
 | 
					+	struct data_JSON *const data = (struct data_JSON*) pdata;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 	if(npb->str[i] != '{' && npb->str[i] != ']') {
 | 
				
			||||||
 | 
					 		/* this can't be json, see RFC4627, Sect. 2
 | 
				
			||||||
 | 
					@@ -2368,6 +2448,20 @@ PARSER_Parse(JSON)
 | 
				
			||||||
 | 
					 	if(value == NULL) {
 | 
				
			||||||
 | 
					 		json_object_put(json);
 | 
				
			||||||
 | 
					 	} else {
 | 
				
			||||||
 | 
					+		if (data && data->skipempty) {
 | 
				
			||||||
 | 
					+			int rc = jsonSkipEmpty(json);
 | 
				
			||||||
 | 
					+			if (rc < 0) {
 | 
				
			||||||
 | 
					+				json_object_put(json);
 | 
				
			||||||
 | 
					+				FAIL(LN_WRONGPARSER);
 | 
				
			||||||
 | 
					+			} else if (rc > 0) {
 | 
				
			||||||
 | 
					+				/* 
 | 
				
			||||||
 | 
					+				 * json value is empty.
 | 
				
			||||||
 | 
					+				 * E.g., {"message":""}, {"message":[]}, {"message":{}}
 | 
				
			||||||
 | 
					+				 */
 | 
				
			||||||
 | 
					+				json_object_put(json);
 | 
				
			||||||
 | 
					+				FAIL(0);
 | 
				
			||||||
 | 
					+			}
 | 
				
			||||||
 | 
					+		}
 | 
				
			||||||
 | 
					 		*value = json;
 | 
				
			||||||
 | 
					 	}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					@@ -2376,7 +2470,40 @@ PARSER_Parse(JSON)
 | 
				
			||||||
 | 
					 		json_tokener_free(tokener);
 | 
				
			||||||
 | 
					 	return r;
 | 
				
			||||||
 | 
					 }
 | 
				
			||||||
 | 
					+PARSER_Construct(JSON)
 | 
				
			||||||
 | 
					+{
 | 
				
			||||||
 | 
					+	int r = 0;
 | 
				
			||||||
 | 
					+	struct json_object *ed;
 | 
				
			||||||
 | 
					+	struct data_JSON *data = NULL;
 | 
				
			||||||
 | 
					+	char *flag;
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					+	if(json == NULL)
 | 
				
			||||||
 | 
					+		goto done;
 | 
				
			||||||
 | 
					+
 | 
				
			||||||
 | 
					+	if(json_object_object_get_ex(json, "extradata", &ed) == 0) {
 | 
				
			||||||
 | 
					+		/* No JSON parameter */
 | 
				
			||||||
 | 
					+		goto done;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	data = (struct data_JSON*) calloc(1, sizeof(struct data_JSON));
 | 
				
			||||||
 | 
					+	flag = json_object_get_string(ed);
 | 
				
			||||||
 | 
					+	if (strcasecmp(flag, "skipempty") == 0) {
 | 
				
			||||||
 | 
					+		data->skipempty = 1;
 | 
				
			||||||
 | 
					+	} else {
 | 
				
			||||||
 | 
					+		ln_errprintf(ctx, 0, "invalid flag for JSON parser: %s", flag);
 | 
				
			||||||
 | 
					+		r = LN_BADCONFIG;
 | 
				
			||||||
 | 
					+		goto done;
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	*pdata = data;
 | 
				
			||||||
 | 
					+done:
 | 
				
			||||||
 | 
					+	if(r != 0) {
 | 
				
			||||||
 | 
					+		free(data);
 | 
				
			||||||
 | 
					+	}
 | 
				
			||||||
 | 
					+	return r;
 | 
				
			||||||
 | 
					+}
 | 
				
			||||||
 | 
					+PARSER_Destruct(JSON)
 | 
				
			||||||
 | 
					+{
 | 
				
			||||||
 | 
					+	free(pdata);
 | 
				
			||||||
 | 
					+}
 | 
				
			||||||
 | 
					 
 | 
				
			||||||
 | 
					 /* check if a char is valid inside a name of a NameValue list
 | 
				
			||||||
 | 
					  * The set of valid characters may be extended if there is good
 | 
				
			||||||
 | 
					diff --git a/src/parser.h b/src/parser.h
 | 
				
			||||||
 | 
					index 38be62d..5b4a821 100644
 | 
				
			||||||
 | 
					--- a/src/parser.h
 | 
				
			||||||
 | 
					+++ b/src/parser.h
 | 
				
			||||||
 | 
					@@ -70,7 +70,7 @@ PARSERDEF_NO_DATA(Time24hr);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(Duration);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(IPv4);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(IPv6);
 | 
				
			||||||
 | 
					-PARSERDEF_NO_DATA(JSON);
 | 
				
			||||||
 | 
					+PARSERDEF(JSON);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(CEESyslog);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(v2IPTables);
 | 
				
			||||||
 | 
					 PARSERDEF_NO_DATA(CiscoInterfaceSpec);
 | 
				
			||||||
 | 
					diff --git a/src/pdag.c b/src/pdag.c
 | 
				
			||||||
 | 
					index 0768e99..9feb755 100644
 | 
				
			||||||
 | 
					--- a/src/pdag.c
 | 
				
			||||||
 | 
					+++ b/src/pdag.c
 | 
				
			||||||
 | 
					@@ -90,7 +90,7 @@ static struct ln_parser_info parser_lookup_table[] = {
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("duration", Duration, 16),
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("cisco-interface-spec", CiscoInterfaceSpec, 4),
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("name-value-list", NameValue, 8),
 | 
				
			||||||
 | 
					-	PARSER_ENTRY_NO_DATA("json", JSON, 4),
 | 
				
			||||||
 | 
					+	PARSER_ENTRY("json", JSON, 4),
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("cee-syslog", CEESyslog, 4),
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("mac48", MAC48, 16),
 | 
				
			||||||
 | 
					 	PARSER_ENTRY_NO_DATA("cef", CEF, 4),
 | 
				
			||||||
							
								
								
									
										173
									
								
								liblognorm.spec
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										173
									
								
								liblognorm.spec
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,173 @@
 | 
				
			|||||||
 | 
					%define htmldir %{_docdir}/liblognorm/html
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Name:		liblognorm
 | 
				
			||||||
 | 
					Version:	2.0.5
 | 
				
			||||||
 | 
					Release:	2%{?dist}
 | 
				
			||||||
 | 
					Summary:	Fast samples-based log normalization library
 | 
				
			||||||
 | 
					License:	LGPLv2+
 | 
				
			||||||
 | 
					URL:		http://www.liblognorm.com
 | 
				
			||||||
 | 
					Source0:	http://www.liblognorm.com/files/download/%{name}-%{version}.tar.gz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BuildRequires:	chrpath
 | 
				
			||||||
 | 
					BuildRequires:	libfastjson-devel
 | 
				
			||||||
 | 
					BuildRequires:	libestr-devel
 | 
				
			||||||
 | 
					BuildRequires:	pcre-devel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Patch0: liblognorm-2.0.0-rhbz1565219-add-skipempty.patch
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description
 | 
				
			||||||
 | 
					Briefly described, liblognorm is a tool to normalize log data.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					People who need to take a look at logs often have a common problem. Logs from
 | 
				
			||||||
 | 
					different machines (from different vendors) usually have different formats for
 | 
				
			||||||
 | 
					their logs. Even if it is the same type of log (e.g. from firewalls), the log
 | 
				
			||||||
 | 
					entries are so different, that it is pretty hard to read these. This is where
 | 
				
			||||||
 | 
					liblognorm comes into the game. With this tool you can normalize all your logs.
 | 
				
			||||||
 | 
					All you need is liblognorm and its dependencies and a sample database that fits
 | 
				
			||||||
 | 
					the logs you want to normalize.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%package devel
 | 
				
			||||||
 | 
					Summary:	Development tools for programs using liblognorm library
 | 
				
			||||||
 | 
					Requires:	%{name}%{?_isa} = %{version}-%{release}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description devel
 | 
				
			||||||
 | 
					The liblognorm-devel package includes header files, libraries necessary for
 | 
				
			||||||
 | 
					developing programs which use liblognorm library.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%package doc
 | 
				
			||||||
 | 
					Summary: HTML documentation for liblognorm
 | 
				
			||||||
 | 
					Group: Documentation
 | 
				
			||||||
 | 
					BuildRequires: python3-sphinx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description doc
 | 
				
			||||||
 | 
					This sub-package contains documentation for liblognorm in a HTML form.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%package utils
 | 
				
			||||||
 | 
					Summary:	Lognormalizer utility for normalizing log files
 | 
				
			||||||
 | 
					Requires:	%{name}%{?_isa} = %{version}-%{release}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%description utils
 | 
				
			||||||
 | 
					The lognormalizer is the core of liblognorm, it is a utility for normalizing
 | 
				
			||||||
 | 
					log files.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%prep
 | 
				
			||||||
 | 
					%setup -q
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%patch0 -p1 -b .support-skipempty
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%build
 | 
				
			||||||
 | 
					%configure --enable-regexp --enable-docs --docdir=%{htmldir} --includedir=%{_includedir}/%{name}/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%install
 | 
				
			||||||
 | 
					make V=1 install INSTALL="install -p" DESTDIR=%{buildroot}
 | 
				
			||||||
 | 
					rm -f %{buildroot}/%{_libdir}/*.{a,la}
 | 
				
			||||||
 | 
					chrpath -d %{buildroot}%{_bindir}/lognormalizer
 | 
				
			||||||
 | 
					chrpath -d %{buildroot}%{_libdir}/liblognorm.so
 | 
				
			||||||
 | 
					rm %{buildroot}%{htmldir}/{objects.inv,.buildinfo}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%post -p /sbin/ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%postun -p /sbin/ldconfig
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files
 | 
				
			||||||
 | 
					%{!?_licensedir:%global license %%doc}
 | 
				
			||||||
 | 
					%license COPYING
 | 
				
			||||||
 | 
					%doc AUTHORS ChangeLog README
 | 
				
			||||||
 | 
					%exclude %{htmldir}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%{_libdir}/lib*.so.*
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files devel
 | 
				
			||||||
 | 
					%{_libdir}/lib*.so
 | 
				
			||||||
 | 
					%{_includedir}/%{name}/*.h
 | 
				
			||||||
 | 
					%{_libdir}/pkgconfig/*.pc
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files doc
 | 
				
			||||||
 | 
					%doc %{htmldir}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%files utils
 | 
				
			||||||
 | 
					%{_bindir}/lognormalizer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					%changelog
 | 
				
			||||||
 | 
					* Thu Apr 22 2021 Attila Lakatos <alakatos@redhat.com> - 2.0.5-2
 | 
				
			||||||
 | 
					- Add support for skipempty
 | 
				
			||||||
 | 
					  resolves: rhbz#1855422
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fri Aug 03 2018 Jiri Vymazal <jvymazal@redhat.com> - 2.0.5-1
 | 
				
			||||||
 | 
					rebase to upstream release 2.0.5
 | 
				
			||||||
 | 
					  resolves: rhbz#1612036
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Mon Jul 09 2018 Charalampos Stratakis <cstratak@redhat.com> - 2.0.3-6
 | 
				
			||||||
 | 
					- Change to python3-sphinx
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-5
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Oct 12 2017 Marek Tamaskovic <mtamasko@redhat.com> - 2.0.3-4
 | 
				
			||||||
 | 
					- Fix header files location
 | 
				
			||||||
 | 
					- resolves rhbz#1113573
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-3
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 2.0.3-2
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Mar 29 2017 Radovan Sroka <rsroka@redhat.com> - 2.0.2-1
 | 
				
			||||||
 | 
					- rebase to 2.0.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Feb 9 2017 Radovan Sroka <rsroka@redhat.com> - 2.0.2-2
 | 
				
			||||||
 | 
					- removed forgoten commented line
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Feb 9 2017 Radovan Sroka <rsroka@redhat.com> - 2.0.2-1
 | 
				
			||||||
 | 
					- rebase to 2.0.2
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Tue Oct 4 2016 Radovan Sroka <rsroka@redhat.com> - 2.0.1-1
 | 
				
			||||||
 | 
					- rebase to 2.0.1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Tue Mar 15 2016 Radovan Sroka <rsroka@redhat.com> - 1.1.3-1
 | 
				
			||||||
 | 
					- rebase to v1.1.3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.1-3
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.1.1-2
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Sun Mar 15 2015 Tomas Heinrich <theinric@redhat.com> - 1.1.1-1
 | 
				
			||||||
 | 
					- rebase to 1.1.1 (soname bump)
 | 
				
			||||||
 | 
					  - drop liblognorm-0.3.4-pc-file.patch, not needed anymore
 | 
				
			||||||
 | 
					  - update dependencies for the new version
 | 
				
			||||||
 | 
					  - add a new subpackage for documentation
 | 
				
			||||||
 | 
					  - enable support for reqular expressions
 | 
				
			||||||
 | 
					- make build more verbose
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.7-3
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.3.7-2
 | 
				
			||||||
 | 
					- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Jul 31 2013 Tomas Heinrich <theinric@redhat.com> - 0.3.7-1
 | 
				
			||||||
 | 
					- rebase to 0.3.7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Dec 12 2012 Mahaveer Darade <mah.darade@gmail.com> - 0.3.5-1
 | 
				
			||||||
 | 
					- upgrade to upstream version 0.3.5
 | 
				
			||||||
 | 
					- drop patch0, merged upstream
 | 
				
			||||||
 | 
					  liblognorm-0.3.4-rename-to-lognormalizer.patch
 | 
				
			||||||
 | 
					- remove trailing whitespace
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Fri Oct 05 2012 mdarade <mdarade@redhat.com> - 0.3.4-4
 | 
				
			||||||
 | 
					- Modified description of main & util package
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Thu Sep 20 2012 Mahaveer Darade <mdarade@redhat.com> - 0.3.4-3
 | 
				
			||||||
 | 
					- Renamed normalizer binary to lognormalizer
 | 
				
			||||||
 | 
					- Updated pc file to exclude lee and lestr
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Mon Aug 27 2012 mdarade <mdarade@redhat.com> - 0.3.4-2
 | 
				
			||||||
 | 
					- Updated BuildRequires to contain libestr-devel
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* Wed Aug  1 2012 Milan Bartos <mbartos@redhat.com> - 0.3.4-1
 | 
				
			||||||
 | 
					- initial port
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user