aboutsummaryrefslogtreecommitdiff
path: root/community
diff options
context:
space:
mode:
authorMike Crute <mike@crute.us>2020-06-01 02:32:40 +0000
committerMike Crute <mike@crute.us>2020-06-01 16:11:27 +0000
commit629fae15c80a9f37c20277f481795bf12cade825 (patch)
tree4dcc73bfbb95414de24d323fabf44843bd4376a4 /community
parenta0c1b084c3f36a90a6ef89c78eb95aaccee1c31b (diff)
downloadalpine_aports-629fae15c80a9f37c20277f481795bf12cade825.tar.bz2
alpine_aports-629fae15c80a9f37c20277f481795bf12cade825.tar.xz
alpine_aports-629fae15c80a9f37c20277f481795bf12cade825.zip
community/gerbera: move from testing
Diffstat (limited to 'community')
-rw-r--r--community/gerbera/0001-Remove-IN-and-OUT-dropped-upstream.patch777
-rw-r--r--community/gerbera/APKBUILD113
-rw-r--r--community/gerbera/disable-git-test.patch11
-rw-r--r--community/gerbera/gerbera.confd27
-rw-r--r--community/gerbera/gerbera.initd34
-rw-r--r--community/gerbera/gerbera.post-deinstall6
-rw-r--r--community/gerbera/gerbera.pre-install7
-rw-r--r--community/gerbera/upnp-updates.patch54
8 files changed, 1029 insertions, 0 deletions
diff --git a/community/gerbera/0001-Remove-IN-and-OUT-dropped-upstream.patch b/community/gerbera/0001-Remove-IN-and-OUT-dropped-upstream.patch
new file mode 100644
index 0000000000..4b34fe0942
--- /dev/null
+++ b/community/gerbera/0001-Remove-IN-and-OUT-dropped-upstream.patch
@@ -0,0 +1,777 @@
1From a4870cbdbcbbd835b10ea6f464c981f01da0b542 Mon Sep 17 00:00:00 2001
2From: Ian Whyman <ian@gerbera.io>
3Date: Tue, 24 Dec 2019 16:18:32 +0000
4Subject: [PATCH] Remove IN and OUT (dropped upstream)
5
6---
7 src/buffered_io_handler.cc | 2 +-
8 src/curl_io_handler.cc | 2 +-
9 src/device_description_handler.h | 4 ++--
10 src/fd_io_handler.cc | 8 ++++----
11 src/fd_io_handler.h | 8 ++++----
12 src/file_io_handler.cc | 8 ++++----
13 src/file_io_handler.h | 8 ++++----
14 src/file_request_handler.cc | 6 +++---
15 src/file_request_handler.h | 8 ++++----
16 src/io_handler.cc | 26 +++++++++++++-------------
17 src/io_handler_buffer_helper.cc | 6 +++---
18 src/mem_io_handler.cc | 6 +++---
19 src/mem_io_handler.h | 6 +++---
20 src/metadata/taglib_handler.cc | 2 +-
21 src/process_io_handler.cc | 8 ++++----
22 src/process_io_handler.h | 8 ++++----
23 src/request_handler.h | 4 ++--
24 src/serve_request_handler.cc | 8 ++++----
25 src/serve_request_handler.h | 8 ++++----
26 src/server.cc | 24 ++++++++++++------------
27 src/url_request_handler.cc | 8 ++++----
28 src/url_request_handler.h | 8 ++++----
29 src/util/headers.h | 2 +-
30 src/web_request_handler.cc | 10 +++++-----
31 src/web_request_handler.h | 10 +++++-----
32 25 files changed, 99 insertions(+), 99 deletions(-)
33
34diff --git a/src/buffered_io_handler.cc b/src/buffered_io_handler.cc
35index 6ff7a79e..f7d0c663 100644
36--- a/src/buffered_io_handler.cc
37+++ b/src/buffered_io_handler.cc
38@@ -51,7 +51,7 @@ BufferedIOHandler::BufferedIOHandler(Ref<IOHandler> underlyingHandler, size_t bu
39 //seekEnabled = true;
40 }
41
42-void BufferedIOHandler::open(IN enum UpnpOpenFileMode mode)
43+void BufferedIOHandler::open(enum UpnpOpenFileMode mode)
44 {
45 // do the open here instead of threadProc() because it may throw an exception
46 underlyingHandler->open(mode);
47diff --git a/src/curl_io_handler.cc b/src/curl_io_handler.cc
48index 4f79b7ea..80399bbc 100644
49--- a/src/curl_io_handler.cc
50+++ b/src/curl_io_handler.cc
51@@ -57,7 +57,7 @@ CurlIOHandler::CurlIOHandler(String URL, CURL* curl_handle, size_t bufSize, size
52 seekEnabled = true;
53 }
54
55-void CurlIOHandler::open(IN enum UpnpOpenFileMode mode)
56+void CurlIOHandler::open(enum UpnpOpenFileMode mode)
57 {
58 if (curl_handle == nullptr) {
59 curl_handle = curl_easy_init();
60diff --git a/src/device_description_handler.h b/src/device_description_handler.h
61index 934dc0ae..863912b5 100644
62--- a/src/device_description_handler.h
63+++ b/src/device_description_handler.h
64@@ -31,8 +31,8 @@ class DeviceDescriptionHandler : public RequestHandler {
65 public:
66 explicit DeviceDescriptionHandler(UpnpXMLBuilder* xmlBuilder);
67
68- void getInfo(IN const char *filename, OUT UpnpFileInfo *info) override;
69- zmm::Ref<IOHandler> open(IN const char* filename, IN enum UpnpOpenFileMode mode, IN zmm::String range) override;
70+ void getInfo(const char *filename, UpnpFileInfo *info) override;
71+ zmm::Ref<IOHandler> open(const char* filename, enum UpnpOpenFileMode mode, zmm::String range) override;
72
73 protected:
74 UpnpXMLBuilder* xmlBuilder;
75diff --git a/src/fd_io_handler.cc b/src/fd_io_handler.cc
76index 63f69c4d..f8d35d1d 100644
77--- a/src/fd_io_handler.cc
78+++ b/src/fd_io_handler.cc
79@@ -72,7 +72,7 @@ void FDIOHandler::closeOther(Ref<IOHandler> other)
80 this->other = other;
81 }
82
83-void FDIOHandler::open(IN enum UpnpOpenFileMode mode)
84+void FDIOHandler::open(enum UpnpOpenFileMode mode)
85 {
86
87 if (fd != -1) {
88@@ -96,7 +96,7 @@ void FDIOHandler::open(IN enum UpnpOpenFileMode mode)
89 }
90 }
91
92-size_t FDIOHandler::read(OUT char* buf, IN size_t length)
93+size_t FDIOHandler::read(char* buf, size_t length)
94 {
95 size_t ret = 0;
96
97@@ -105,7 +105,7 @@ size_t FDIOHandler::read(OUT char* buf, IN size_t length)
98 return ret;
99 }
100
101-size_t FDIOHandler::write(IN char* buf, IN size_t length)
102+size_t FDIOHandler::write(char* buf, size_t length)
103 {
104 size_t ret = 0;
105
106@@ -114,7 +114,7 @@ size_t FDIOHandler::write(IN char* buf, IN size_t length)
107 return ret;
108 }
109
110-void FDIOHandler::seek(IN off_t offset, IN int whence)
111+void FDIOHandler::seek(off_t offset, int whence)
112 {
113 if (lseek(fd, offset, whence) != 0) {
114 throw _Exception(_("fseek failed"));
115diff --git a/src/fd_io_handler.h b/src/fd_io_handler.h
116index b8401110..dbd25c3b 100644
117--- a/src/fd_io_handler.h
118+++ b/src/fd_io_handler.h
119@@ -59,18 +59,18 @@ public:
120 void closeOther(zmm::Ref<IOHandler> other);
121
122 /// \brief Opens file for reading (writing is not supported)
123- void open(IN enum UpnpOpenFileMode mode) override;
124+ void open(enum UpnpOpenFileMode mode) override;
125
126 /// \brief Reads a previously opened file sequentially.
127 /// \param buf Data from the file will be copied into this buffer.
128 /// \param length Number of bytes to be copied into the buffer.
129- size_t read(OUT char* buf, IN size_t length) override;
130+ size_t read(char* buf, size_t length) override;
131
132 /// \brief Writes to a previously opened file.
133 /// \param buf Data from the buffer will be written to the file.
134 /// \param length Number of bytes to be written from the buffer.
135 /// \return number of bytes written.
136- size_t write(OUT char* buf, IN size_t length) override;
137+ size_t write(char* buf, size_t length) override;
138
139 /// \brief Performs seek on an open file.
140 /// \param offset Number of bytes to move in the file. For seeking forwards
141@@ -79,7 +79,7 @@ public:
142 /// \param whence The position to move relative to. SEEK_CUR to move relative
143 /// to current position, SEEK_END to move relative to the end of file,
144 /// SEEK_SET to specify an absolute offset.
145- void seek(IN off_t offset, IN int whence) override;
146+ void seek(off_t offset, int whence) override;
147
148 /// \brief Close a previously opened file.
149 void close() override;
150diff --git a/src/file_io_handler.cc b/src/file_io_handler.cc
151index 6889ada2..4940c951 100644
152--- a/src/file_io_handler.cc
153+++ b/src/file_io_handler.cc
154@@ -45,7 +45,7 @@ FileIOHandler::FileIOHandler(String filename)
155 {
156 }
157
158-void FileIOHandler::open(IN enum UpnpOpenFileMode mode)
159+void FileIOHandler::open(enum UpnpOpenFileMode mode)
160 {
161 if (mode == UPNP_READ) {
162 f = fopen(filename.c_str(), "rb");
163@@ -61,7 +61,7 @@ void FileIOHandler::open(IN enum UpnpOpenFileMode mode)
164 }
165 }
166
167-size_t FileIOHandler::read(OUT char* buf, IN size_t length)
168+size_t FileIOHandler::read(char* buf, size_t length)
169 {
170 size_t ret = 0;
171
172@@ -77,7 +77,7 @@ size_t FileIOHandler::read(OUT char* buf, IN size_t length)
173 return ret;
174 }
175
176-size_t FileIOHandler::write(IN char* buf, IN size_t length)
177+size_t FileIOHandler::write(char* buf, size_t length)
178 {
179 size_t ret = 0;
180
181@@ -86,7 +86,7 @@ size_t FileIOHandler::write(IN char* buf, IN size_t length)
182 return ret;
183 }
184
185-void FileIOHandler::seek(IN off_t offset, IN int whence)
186+void FileIOHandler::seek(off_t offset, int whence)
187 {
188 if (fseeko(f, offset, whence) != 0) {
189 throw _Exception(_("fseek failed"));
190diff --git a/src/file_io_handler.h b/src/file_io_handler.h
191index aa3f116d..f6895f60 100644
192--- a/src/file_io_handler.h
193+++ b/src/file_io_handler.h
194@@ -49,18 +49,18 @@ public:
195 explicit FileIOHandler(zmm::String filename);
196
197 /// \brief Opens file for reading (writing is not supported)
198- void open(IN enum UpnpOpenFileMode mode) override;
199+ void open(enum UpnpOpenFileMode mode) override;
200
201 /// \brief Reads a previously opened file sequentially.
202 /// \param buf Data from the file will be copied into this buffer.
203 /// \param length Number of bytes to be copied into the buffer.
204- size_t read(OUT char* buf, IN size_t length) override;
205+ size_t read(char* buf, size_t length) override;
206
207 /// \brief Writes to a previously opened file.
208 /// \param buf Data from the buffer will be written to the file.
209 /// \param length Number of bytes to be written from the buffer.
210 /// \return number of bytes written.
211- size_t write(OUT char* buf, IN size_t length) override;
212+ size_t write(char* buf, size_t length) override;
213
214 /// \brief Performs seek on an open file.
215 /// \param offset Number of bytes to move in the file. For seeking forwards
216@@ -69,7 +69,7 @@ public:
217 /// \param whence The position to move relative to. SEEK_CUR to move relative
218 /// to current position, SEEK_END to move relative to the end of file,
219 /// SEEK_SET to specify an absolute offset.
220- void seek(IN off_t offset, IN int whence) override;
221+ void seek(off_t offset, int whence) override;
222
223 /// \brief Close a previously opened file.
224 void close() override;
225diff --git a/src/file_request_handler.cc b/src/file_request_handler.cc
226index c4b82ccb..0ada9461 100644
227--- a/src/file_request_handler.cc
228+++ b/src/file_request_handler.cc
229@@ -52,7 +52,7 @@ FileRequestHandler::FileRequestHandler(UpnpXMLBuilder* xmlBuilder)
230 : RequestHandler()
231 , xmlBuilder(xmlBuilder) {};
232
233-void FileRequestHandler::getInfo(IN const char* filename, OUT UpnpFileInfo* info)
234+void FileRequestHandler::getInfo(const char* filename, UpnpFileInfo* info)
235 {
236 Headers headers;
237 log_debug("start\n");
238@@ -278,8 +278,8 @@ void FileRequestHandler::getInfo(IN const char* filename, OUT UpnpFileInfo* info
239 log_debug("web_get_info(): end\n");
240 }
241
242-Ref<IOHandler> FileRequestHandler::open(IN const char* filename,
243- IN enum UpnpOpenFileMode mode, IN zmm::String range)
244+Ref<IOHandler> FileRequestHandler::open(const char* filename,
245+ enum UpnpOpenFileMode mode, zmm::String range)
246 {
247 log_debug("start\n");
248
249diff --git a/src/file_request_handler.h b/src/file_request_handler.h
250index fdb1b7e9..6526712c 100644
251--- a/src/file_request_handler.h
252+++ b/src/file_request_handler.h
253@@ -44,11 +44,11 @@ protected:
254 public:
255 explicit FileRequestHandler(UpnpXMLBuilder* xmlBuilder);
256
257- virtual void getInfo(IN const char *filename, OUT UpnpFileInfo *info);
258+ virtual void getInfo(const char *filename, UpnpFileInfo *info);
259 virtual zmm::Ref<IOHandler> open(
260- IN const char* filename,
261- IN enum UpnpOpenFileMode mode,
262- IN zmm::String range);
263+ const char* filename,
264+ enum UpnpOpenFileMode mode,
265+ zmm::String range);
266 };
267
268 #endif // __FILE_REQUEST_HANDLER_H__
269diff --git a/src/io_handler.cc b/src/io_handler.cc
270index 3b774c73..b3c4aedb 100644
271--- a/src/io_handler.cc
272+++ b/src/io_handler.cc
273@@ -42,8 +42,8 @@ IOHandler::IOHandler()
274 {
275 }
276
277-/// \fn static UpnpWebFileHandle web_open(IN const char *filename,
278-/// IN enum UpnpOpenFileMode mode)
279+/// \fn static UpnpWebFileHandle web_open(const char *filename,
280+/// enum UpnpOpenFileMode mode)
281 /// \brief Opens a file for the web server.
282 /// \param filename Name of the file to open.
283 /// \param mode in which the file will be opened (we only support UPNP_READ)
284@@ -52,12 +52,12 @@ IOHandler::IOHandler()
285 ///
286 /// \retval UpnpWebFileHandle A valid file handle.
287 /// \retval NULL Error.
288-void IOHandler::open(IN enum UpnpOpenFileMode mode)
289+void IOHandler::open(enum UpnpOpenFileMode mode)
290 {
291 }
292
293-/// \fn static int web_read (IN UpnpWebFileHandle f, OUT char *buf,
294-/// IN size_t length)
295+/// \fn static int web_read (UpnpWebFileHandle f, char *buf,
296+/// size_t length)
297 /// \brief Reads a previously opened file sequentially.
298 /// \param f Handle of the file.
299 /// \param buf This buffer will be filled by fread.
300@@ -69,13 +69,13 @@ void IOHandler::open(IN enum UpnpOpenFileMode mode)
301 ///
302 /// \retval 0 EOF encountered.
303 /// \retval -1 Error.
304-size_t IOHandler::read(OUT char* buf, IN size_t length)
305+size_t IOHandler::read(char* buf, size_t length)
306 {
307 return -1;
308 }
309
310-/// \fn static int web_write (IN UpnpWebFileHandle f,IN char *buf,
311-/// IN size_t length)
312+/// \fn static int web_write (UpnpWebFileHandle f,char *buf,
313+/// size_t length)
314 /// \brief Writes to a previously opened file sequentially.
315 /// \param f Handle of the file.
316 /// \param buf This buffer will be filled by fwrite.
317@@ -90,13 +90,13 @@ size_t IOHandler::read(OUT char* buf, IN size_t length)
318 /// \retval Actual number of bytes written.
319 ///
320 /// \warning Currently this function is not supported.
321-size_t IOHandler::write(IN char* buf, IN size_t length)
322+size_t IOHandler::write(char* buf, size_t length)
323 {
324 return 0;
325 }
326
327-/// \fn static int web_seek (IN UpnpWebFileHandle f, IN long offset,
328-/// IN int origin)
329+/// \fn static int web_seek (UpnpWebFileHandle f, long offset,
330+/// int origin)
331 /// \brief Performs a seek on an open file.
332 /// \param f Handle of the file.
333 /// \param offset Number of bytes to move in the file. For seeking forwards
334@@ -109,11 +109,11 @@ size_t IOHandler::write(IN char* buf, IN size_t length)
335 /// This function is called by the web server to perform seek on an a file.
336 ///
337 /// \retval 0 On success, non-zero value on error.
338-void IOHandler::seek(IN off_t offset, IN int whence)
339+void IOHandler::seek(off_t offset, int whence)
340 {
341 }
342
343-/// \fn static int web_close (IN UpnpWebFileHandle f)
344+/// \fn static int web_close (UpnpWebFileHandle f)
345 /// \brief Closes a previously opened file.
346 /// \param f Handle of the file.
347 ///
348diff --git a/src/io_handler_buffer_helper.cc b/src/io_handler_buffer_helper.cc
349index d86a4daf..89d22a71 100644
350--- a/src/io_handler_buffer_helper.cc
351+++ b/src/io_handler_buffer_helper.cc
352@@ -60,7 +60,7 @@ IOHandlerBufferHelper::IOHandlerBufferHelper(size_t bufSize, size_t initialFillS
353 doSeek = false;
354 }
355
356-void IOHandlerBufferHelper::open(IN enum UpnpOpenFileMode mode)
357+void IOHandlerBufferHelper::open(enum UpnpOpenFileMode mode)
358 {
359 if (isOpen)
360 throw _Exception(_("tried to reopen an open IOHandlerBufferHelper"));
361@@ -78,7 +78,7 @@ IOHandlerBufferHelper::~IOHandlerBufferHelper()
362 close();
363 }
364
365-size_t IOHandlerBufferHelper::read(OUT char* buf, IN size_t length)
366+size_t IOHandlerBufferHelper::read(char* buf, size_t length)
367 {
368 // check read on closed BufferedIOHandler
369 assert(isOpen);
370@@ -142,7 +142,7 @@ size_t IOHandlerBufferHelper::read(OUT char* buf, IN size_t length)
371 return didRead;
372 }
373
374-void IOHandlerBufferHelper::seek(IN off_t offset, IN int whence)
375+void IOHandlerBufferHelper::seek(off_t offset, int whence)
376 {
377 log_debug("seek called: %lld %d\n", offset, whence);
378 if (!seekEnabled)
379diff --git a/src/mem_io_handler.cc b/src/mem_io_handler.cc
380index 31028d56..3a87be82 100644
381--- a/src/mem_io_handler.cc
382+++ b/src/mem_io_handler.cc
383@@ -69,12 +69,12 @@ MemIOHandler::~MemIOHandler()
384 FREE(buffer);
385 }
386
387-void MemIOHandler::open(IN enum UpnpOpenFileMode mode)
388+void MemIOHandler::open(enum UpnpOpenFileMode mode)
389 {
390 pos = 0;
391 }
392
393-size_t MemIOHandler::read(OUT char* buf, IN size_t length)
394+size_t MemIOHandler::read(char* buf, size_t length)
395 {
396 size_t ret = 0;
397
398@@ -98,7 +98,7 @@ size_t MemIOHandler::read(OUT char* buf, IN size_t length)
399 return ret;
400 }
401
402-void MemIOHandler::seek(IN off_t offset, IN int whence)
403+void MemIOHandler::seek(off_t offset, int whence)
404 {
405 if (whence == SEEK_SET) {
406 // offset must be positive when SEEK_SET is used
407diff --git a/src/mem_io_handler.h b/src/mem_io_handler.h
408index beab8983..d2311dc9 100644
409--- a/src/mem_io_handler.h
410+++ b/src/mem_io_handler.h
411@@ -53,9 +53,9 @@ public:
412 virtual ~MemIOHandler();
413
414 ///
415- void open(IN enum UpnpOpenFileMode mode) override;
416- size_t read(OUT char* buf, IN size_t length) override;
417- void seek(IN off_t offset, IN int whence) override;
418+ void open(enum UpnpOpenFileMode mode) override;
419+ size_t read(char* buf, size_t length) override;
420+ void seek(off_t offset, int whence) override;
421 };
422
423 #endif // __MEM_IO_HANDLER_H__
424diff --git a/src/metadata/taglib_handler.cc b/src/metadata/taglib_handler.cc
425index 0aa12edc..365e2f3c 100644
426--- a/src/metadata/taglib_handler.cc
427+++ b/src/metadata/taglib_handler.cc
428@@ -276,7 +276,7 @@ void TagLibHandler::addArtworkResource(Ref<CdsItem> item, String art_mimetype)
429 }
430 }
431
432-Ref<IOHandler> TagLibHandler::serveContent(IN Ref<CdsItem> item, IN int resNum, OUT off_t* data_size)
433+Ref<IOHandler> TagLibHandler::serveContent(Ref<CdsItem> item, int resNum, off_t* data_size)
434 {
435 Ref<Dictionary> mappings = ConfigManager::getInstance()->getDictionaryOption(CFG_IMPORT_MAPPINGS_MIMETYPE_TO_CONTENTTYPE_LIST);
436 String content_type = mappings->get(item->getMimeType());
437diff --git a/src/process_io_handler.cc b/src/process_io_handler.cc
438index 681c0921..c4f9ce27 100644
439--- a/src/process_io_handler.cc
440+++ b/src/process_io_handler.cc
441@@ -153,7 +153,7 @@ ProcessIOHandler::ProcessIOHandler(String filename,
442 registerAll();
443 }
444
445-void ProcessIOHandler::open(IN enum UpnpOpenFileMode mode)
446+void ProcessIOHandler::open(enum UpnpOpenFileMode mode)
447 {
448 if ((main_proc != nullptr) && ((!main_proc->isAlive() || abort()))) {
449 killall();
450@@ -180,7 +180,7 @@ void ProcessIOHandler::open(IN enum UpnpOpenFileMode mode)
451 }
452 }
453
454-size_t ProcessIOHandler::read(OUT char* buf, IN size_t length)
455+size_t ProcessIOHandler::read(char* buf, size_t length)
456 {
457 fd_set readSet;
458 struct timeval timeout;
459@@ -279,7 +279,7 @@ size_t ProcessIOHandler::read(OUT char* buf, IN size_t length)
460 return num_bytes;
461 }
462
463-size_t ProcessIOHandler::write(IN char* buf, IN size_t length)
464+size_t ProcessIOHandler::write(char* buf, size_t length)
465 {
466 fd_set writeSet;
467 struct timeval timeout;
468@@ -370,7 +370,7 @@ size_t ProcessIOHandler::write(IN char* buf, IN size_t length)
469 return num_bytes;
470 }
471
472-void ProcessIOHandler::seek(IN off_t offset, IN int whence)
473+void ProcessIOHandler::seek(off_t offset, int whence)
474 {
475 // we know we can not seek in a fifo, but the PS3 asks for a hack...
476 if (!ignore_seek)
477diff --git a/src/process_io_handler.h b/src/process_io_handler.h
478index 3fbf2bd8..75a004c5 100644
479--- a/src/process_io_handler.h
480+++ b/src/process_io_handler.h
481@@ -62,18 +62,18 @@ public:
482 bool ignoreSeek = false);
483
484 /// \brief Opens file for reading (writing is not supported)
485- void open(IN enum UpnpOpenFileMode mode) override;
486+ void open(enum UpnpOpenFileMode mode) override;
487
488 /// \brief Reads a previously opened file sequentially.
489 /// \param buf Data from the file will be copied into this buffer.
490 /// \param length Number of bytes to be copied into the buffer.
491- size_t read(OUT char* buf, IN size_t length) override;
492+ size_t read(char* buf, size_t length) override;
493
494 /// \brief Writes to a previously opened file.
495 /// \param buf Data from the buffer will be written to the file.
496 /// \param length Number of bytes to be written from the buffer.
497 /// \return number of bytes written.
498- size_t write(OUT char* buf, IN size_t length) override;
499+ size_t write(char* buf, size_t length) override;
500
501 /// \brief Performs seek on an open file.
502 /// \param offset Number of bytes to move in the file. For seeking forwards
503@@ -82,7 +82,7 @@ public:
504 /// \param whence The position to move relative to. SEEK_CUR to move relative
505 /// to current position, SEEK_END to move relative to the end of file,
506 /// SEEK_SET to specify an absolute offset.
507- void seek(IN off_t offset, IN int whence) override;
508+ void seek(off_t offset, int whence) override;
509
510 /// \brief Close a previously opened file and kills the kill_pid process
511 void close() override;
512diff --git a/src/request_handler.h b/src/request_handler.h
513index 3e274624..616cbae5 100644
514--- a/src/request_handler.h
515+++ b/src/request_handler.h
516@@ -38,9 +38,9 @@
517
518 class RequestHandler : public zmm::Object {
519 public:
520- virtual void getInfo(IN const char *filename, OUT UpnpFileInfo *info) = 0;
521+ virtual void getInfo(const char *filename, UpnpFileInfo *info) = 0;
522
523- virtual zmm::Ref<IOHandler> open(IN const char* filename, IN enum UpnpOpenFileMode mode, IN zmm::String range) = 0;
524+ virtual zmm::Ref<IOHandler> open(const char* filename, enum UpnpOpenFileMode mode, zmm::String range) = 0;
525
526 /// \brief Splits the url into a path and parameters string.
527 /// Only '?' and '/' separators are allowed, otherwise an exception will
528diff --git a/src/serve_request_handler.cc b/src/serve_request_handler.cc
529index 94eefb44..abb005f1 100644
530--- a/src/serve_request_handler.cc
531+++ b/src/serve_request_handler.cc
532@@ -44,7 +44,7 @@ ServeRequestHandler::ServeRequestHandler()
533 }
534
535 /// \todo clean up the fix for internal items
536-void ServeRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *info)
537+void ServeRequestHandler::getInfo(const char *filename, UpnpFileInfo *info)
538 {
539 struct stat statbuf;
540 int ret = 0;
541@@ -100,9 +100,9 @@ void ServeRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *inf
542 }
543 }
544
545-Ref<IOHandler> ServeRequestHandler::open(IN const char* filename,
546- IN enum UpnpOpenFileMode mode,
547- IN zmm::String range)
548+Ref<IOHandler> ServeRequestHandler::open(const char* filename,
549+ enum UpnpOpenFileMode mode,
550+ zmm::String range)
551 {
552 struct stat statbuf;
553 int ret = 0;
554diff --git a/src/serve_request_handler.h b/src/serve_request_handler.h
555index 3f799d8e..dce399a3 100644
556--- a/src/serve_request_handler.h
557+++ b/src/serve_request_handler.h
558@@ -39,10 +39,10 @@
559 class ServeRequestHandler : public RequestHandler {
560 public:
561 ServeRequestHandler();
562- virtual void getInfo(IN const char *filename, OUT UpnpFileInfo *info);
563- virtual zmm::Ref<IOHandler> open(IN const char* filename,
564- IN enum UpnpOpenFileMode mode,
565- IN zmm::String range);
566+ virtual void getInfo(const char *filename, UpnpFileInfo *info);
567+ virtual zmm::Ref<IOHandler> open(const char* filename,
568+ enum UpnpOpenFileMode mode,
569+ zmm::String range);
570 };
571
572 #endif // __SERVE_REQUEST_HANDLER_H__
573diff --git a/src/server.cc b/src/server.cc
574index acbeed68..4caef731 100644
575--- a/src/server.cc
576+++ b/src/server.cc
577@@ -453,9 +453,9 @@ int Server::registerVirtualDirCallbacks()
578 {
579 log_debug("Setting UpnpVirtualDir GetInfoCallback\n");
580 #ifdef UPNP_HAS_REQUEST_COOKIES
581- int ret = UpnpVirtualDir_set_GetInfoCallback([](IN const char* filename, OUT UpnpFileInfo* info, const void* cookie, OUT const void** requestCookie) -> int {
582+ int ret = UpnpVirtualDir_set_GetInfoCallback([](const char* filename, UpnpFileInfo* info, const void* cookie, const void** requestCookie) -> int {
583 #else
584- int ret = UpnpVirtualDir_set_GetInfoCallback([](IN const char* filename, OUT UpnpFileInfo* info, const void* cookie) -> int {
585+ int ret = UpnpVirtualDir_set_GetInfoCallback([](const char* filename, UpnpFileInfo* info, const void* cookie) -> int {
586 #endif
587 try {
588 Ref<RequestHandler> reqHandler = static_cast<const Server *>(cookie)->createRequestHandler(filename);
589@@ -475,9 +475,9 @@ int Server::registerVirtualDirCallbacks()
590
591 log_debug("Setting UpnpVirtualDir OpenCallback\n");
592 #ifdef UPNP_HAS_REQUEST_COOKIES
593- ret = UpnpVirtualDir_set_OpenCallback([](IN const char* filename, IN enum UpnpOpenFileMode mode, IN const void* cookie, IN const void* requestCookie) -> UpnpWebFileHandle {
594+ ret = UpnpVirtualDir_set_OpenCallback([](const char* filename, enum UpnpOpenFileMode mode, const void* cookie, const void* requestCookie) -> UpnpWebFileHandle {
595 #else
596- ret = UpnpVirtualDir_set_OpenCallback([](IN const char* filename, IN enum UpnpOpenFileMode mode, IN const void* cookie) -> UpnpWebFileHandle {
597+ ret = UpnpVirtualDir_set_OpenCallback([](const char* filename, enum UpnpOpenFileMode mode, const void* cookie) -> UpnpWebFileHandle {
598 #endif
599 String link = urlUnescape(zmm::String::copy(filename));
600
601@@ -502,9 +502,9 @@ int Server::registerVirtualDirCallbacks()
602
603 log_debug("Setting UpnpVirtualDir ReadCallback\n");
604 #ifdef UPNP_HAS_REQUEST_COOKIES
605- ret = UpnpVirtualDir_set_ReadCallback([](IN UpnpWebFileHandle f, OUT char* buf, IN size_t length, IN const void* cookie, IN const void* requestCookie) -> int {
606+ ret = UpnpVirtualDir_set_ReadCallback([](UpnpWebFileHandle f, char* buf, size_t length, const void* cookie, const void* requestCookie) -> int {
607 #else
608- ret = UpnpVirtualDir_set_ReadCallback([](IN UpnpWebFileHandle f, OUT char* buf, IN size_t length, IN const void* cookie) -> int {
609+ ret = UpnpVirtualDir_set_ReadCallback([](UpnpWebFileHandle f, char* buf, size_t length, const void* cookie) -> int {
610 #endif
611 //log_debug("%p read(%d)\n", f, length);
612 if (static_cast<const Server*>(cookie)->getShutdownStatus())
613@@ -518,9 +518,9 @@ int Server::registerVirtualDirCallbacks()
614
615 log_debug("Setting UpnpVirtualDir WriteCallback\n");
616 #ifdef UPNP_HAS_REQUEST_COOKIES
617- ret = UpnpVirtualDir_set_WriteCallback([](IN UpnpWebFileHandle f, IN char* buf, IN size_t length, IN const void* cookie, IN const void* requestCookie) -> int {
618+ ret = UpnpVirtualDir_set_WriteCallback([](UpnpWebFileHandle f, char* buf, size_t length, const void* cookie, const void* requestCookie) -> int {
619 #else
620- ret = UpnpVirtualDir_set_WriteCallback([](IN UpnpWebFileHandle f, IN char* buf, IN size_t length, IN const void* cookie) -> int {
621+ ret = UpnpVirtualDir_set_WriteCallback([](UpnpWebFileHandle f, char* buf, size_t length, const void* cookie) -> int {
622 #endif
623 //log_debug("%p write(%d)\n", f, length);
624 return 0;
625@@ -530,9 +530,9 @@ int Server::registerVirtualDirCallbacks()
626
627 log_debug("Setting UpnpVirtualDir SeekCallback\n");
628 #ifdef UPNP_HAS_REQUEST_COOKIES
629- ret = UpnpVirtualDir_set_SeekCallback([](IN UpnpWebFileHandle f, IN off_t offset, IN int whence, IN const void* cookie, IN const void* requestCookie) -> int {
630+ ret = UpnpVirtualDir_set_SeekCallback([](UpnpWebFileHandle f, off_t offset, int whence, const void* cookie, const void* requestCookie) -> int {
631 #else
632- ret = UpnpVirtualDir_set_SeekCallback([](IN UpnpWebFileHandle f, IN off_t offset, IN int whence, IN const void* cookie) -> int {
633+ ret = UpnpVirtualDir_set_SeekCallback([](UpnpWebFileHandle f, off_t offset, int whence, const void* cookie) -> int {
634 #endif
635 //log_debug("%p seek(%d, %d)\n", f, offset, whence);
636 try {
637@@ -551,9 +551,9 @@ int Server::registerVirtualDirCallbacks()
638
639 log_debug("Setting UpnpVirtualDir CloseCallback\n");
640 #ifdef UPNP_HAS_REQUEST_COOKIES
641- UpnpVirtualDir_set_CloseCallback([](IN UpnpWebFileHandle f, IN const void* cookie, IN const void* requestCookie) -> int {
642+ UpnpVirtualDir_set_CloseCallback([](UpnpWebFileHandle f, const void* cookie, const void* requestCookie) -> int {
643 #else
644- UpnpVirtualDir_set_CloseCallback([](IN UpnpWebFileHandle f, IN const void* cookie) -> int {
645+ UpnpVirtualDir_set_CloseCallback([](UpnpWebFileHandle f, const void* cookie) -> int {
646 #endif
647 //log_debug("%p close()\n", f);
648 Ref<IOHandler> handler((IOHandler*)f);
649diff --git a/src/url_request_handler.cc b/src/url_request_handler.cc
650index aeadfc8a..3193c782 100644
651--- a/src/url_request_handler.cc
652+++ b/src/url_request_handler.cc
653@@ -58,7 +58,7 @@ URLRequestHandler::URLRequestHandler()
654 {
655 }
656
657-void URLRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *info)
658+void URLRequestHandler::getInfo(const char *filename, UpnpFileInfo *info)
659 {
660 log_debug("start\n");
661
662@@ -154,9 +154,9 @@ void URLRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *info)
663 /// \todo transcoding for get_info
664 }
665
666-Ref<IOHandler> URLRequestHandler::open(IN const char* filename,
667- IN enum UpnpOpenFileMode mode,
668- IN String range)
669+Ref<IOHandler> URLRequestHandler::open(const char* filename,
670+ enum UpnpOpenFileMode mode,
671+ String range)
672 {
673 int objectID;
674 String mimeType;
675diff --git a/src/url_request_handler.h b/src/url_request_handler.h
676index 8125b56b..52d75302 100644
677--- a/src/url_request_handler.h
678+++ b/src/url_request_handler.h
679@@ -39,10 +39,10 @@
680 class URLRequestHandler : public RequestHandler {
681 public:
682 URLRequestHandler();
683- virtual void getInfo(IN const char *filename, OUT UpnpFileInfo *info);
684- virtual zmm::Ref<IOHandler> open(IN const char* filename,
685- IN enum UpnpOpenFileMode mode,
686- IN zmm::String range);
687+ virtual void getInfo(const char *filename, UpnpFileInfo *info);
688+ virtual zmm::Ref<IOHandler> open(const char* filename,
689+ enum UpnpOpenFileMode mode,
690+ zmm::String range);
691 };
692
693 #endif // __URL_REQUEST_HANDLER_H__
694diff --git a/src/util/headers.h b/src/util/headers.h
695index 97915cc6..6374c7a8 100644
696--- a/src/util/headers.h
697+++ b/src/util/headers.h
698@@ -37,7 +37,7 @@ class Headers {
699 public:
700 void addHeader(zmm::String header, zmm::String value);
701 void addHeader(const std::string& header, const std::string& value);
702- void writeHeaders(IN UpnpFileInfo *fileInfo) const;
703+ void writeHeaders(UpnpFileInfo *fileInfo) const;
704
705 private:
706 std::unique_ptr<std::map<std::string, std::string>> headers;
707diff --git a/src/web_request_handler.cc b/src/web_request_handler.cc
708index 070f9bf1..8683b928 100644
709--- a/src/web_request_handler.cc
710+++ b/src/web_request_handler.cc
711@@ -89,7 +89,7 @@ String WebRequestHandler::renderXMLHeader()
712 return _("<?xml version=\"1.0\" encoding=\"") + DEFAULT_INTERNAL_CHARSET + "\"?>\n";
713 }
714
715-void WebRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *info)
716+void WebRequestHandler::getInfo(const char *filename, UpnpFileInfo *info)
717 {
718 this->filename = filename;
719
720@@ -122,7 +122,7 @@ void WebRequestHandler::getInfo(IN const char *filename, OUT UpnpFileInfo *info)
721 headers.writeHeaders(info);
722 }
723
724-Ref<IOHandler> WebRequestHandler::open(IN enum UpnpOpenFileMode mode)
725+Ref<IOHandler> WebRequestHandler::open(enum UpnpOpenFileMode mode)
726 {
727 root = Ref<Element>(new Element(_("root")));
728
729@@ -219,9 +219,9 @@ Ref<IOHandler> WebRequestHandler::open(IN enum UpnpOpenFileMode mode)
730 return RefCast(io_handler, IOHandler);
731 }
732
733-Ref<IOHandler> WebRequestHandler::open(IN const char* filename,
734- IN enum UpnpOpenFileMode mode,
735- IN String range)
736+Ref<IOHandler> WebRequestHandler::open(const char* filename,
737+ enum UpnpOpenFileMode mode,
738+ String range)
739 {
740 this->filename = filename;
741 this->mode = mode;
742diff --git a/src/web_request_handler.h b/src/web_request_handler.h
743index 42a38060..b9069884 100644
744--- a/src/web_request_handler.h
745+++ b/src/web_request_handler.h
746@@ -101,7 +101,7 @@ protected:
747 /// \brief Prepares the output buffer and calls the process function.
748 /// \return IOHandler
749 /// \todo Genych, chto tut proishodit, ya tolkom che to ne wrubaus??
750- zmm::Ref<IOHandler> open(IN enum UpnpOpenFileMode mode);
751+ zmm::Ref<IOHandler> open(enum UpnpOpenFileMode mode);
752
753 /// \brief add the ui update ids from the given session as xml tags to the given root element
754 /// \param root the xml element to add the elements to
755@@ -135,15 +135,15 @@ public:
756 /// dynamic XML) we do not know the size of the data. This is of course different
757 /// for the FileRequestHandler, where we can check the file and return all
758 /// information about it.
759- void getInfo(IN const char *filename, OUT UpnpFileInfo *info) override;
760+ void getInfo(const char *filename, UpnpFileInfo *info) override;
761
762 /// \brief Decodes the parameters from the filename (URL) and calls the internal open() function.
763 /// \param filename The requested URL
764 /// \param mode either UPNP_READ or UPNP_WRITE
765 /// \return the appropriate IOHandler for the request.
766- zmm::Ref<IOHandler> open(IN const char* filename,
767- IN enum UpnpOpenFileMode mode,
768- IN zmm::String range) override;
769+ zmm::Ref<IOHandler> open(const char* filename,
770+ enum UpnpOpenFileMode mode,
771+ zmm::String range) override;
772
773 /// \brief This method must be overridden by the subclasses that actually process the given request.
774 virtual void process() = 0;
775--
7762.26.2
777
diff --git a/community/gerbera/APKBUILD b/community/gerbera/APKBUILD
new file mode 100644
index 0000000000..4a6ac19cf8
--- /dev/null
+++ b/community/gerbera/APKBUILD
@@ -0,0 +1,113 @@
1# Contributor: Mike Crute <mike@crute.us>
2# Maintainer: Mike Crute <mike@crute.us>
3pkgname=gerbera
4pkgver=1.4.0
5pkgrel=0
6pkgdesc="A UPnP Media Server"
7url="https://gerbera.io"
8arch="all"
9license="GPL-2.0-or-later"
10makedepends="
11 cmake
12 curl-dev
13 duktape-dev
14 e2fsprogs-dev
15 exiv2-dev
16 ffmpeg-dev
17 ffmpegthumbnailer-dev
18 file-dev
19 fmt-dev
20 gnu-libiconv-dev
21 inotify-tools-dev
22 libexif-dev
23 libmatroska-dev
24 libupnp-dev
25 pugixml-dev
26 spdlog-dev
27 sqlite-dev
28 taglib-dev
29 zlib-dev
30 "
31checkdepends="
32 gtest-dev
33 gmock
34 "
35install="$pkgname.pre-install $pkgname.post-deinstall"
36subpackages="$pkgname-doc"
37pkgusers="$pkgname"
38pkggroups="$pkgname"
39#
40# Patches
41#
42# disable-git-test.patch:
43# Patch removes check for git info in server version output. This assumes
44# that the binary was built within a git repo which is not the case for
45# releases. This test will never work for us.
46#
47# 0001-Remove-IN-and-OUT-dropped-upstream.patch: (Drop for release after 1.4.0)
48# Removes IN and OUT macros defined by older versions of libupnp. This
49# was fixed in upstream shortly after the 1.4.0 release. We can drop this
50# patch after the next upstream gerbera release.
51#
52# upnp-updates.patch: (Drop for release after 1.4.0)
53# Disables some tests that don't work with the latest version of libupnp.
54# Upstream has very seriously overhauled these tests and there's noting
55# feasible to pull forward. We can drop this patch after the next
56# upstream gerbera release.
57#
58source="gerbera-$pkgver.tar.gz::https://github.com/gerbera/gerbera/archive/v$pkgver.tar.gz
59 disable-git-test.patch
60 0001-Remove-IN-and-OUT-dropped-upstream.patch
61 upnp-updates.patch
62 $pkgname.initd
63 $pkgname.confd"
64
65build() {
66 cmake -B build \
67 -Wno-dev \
68 -DCMAKE_BUILD_TYPE=None \
69 -DCMAKE_INSTALL_PREFIX=/usr \
70 -DWITH_SYSTEMD=0 \
71 -DWITH_TESTS=1 \
72 -DWITH_JS=1 \
73 -DWITH_CURL=1 \
74 -DWITH_TAGLIB=1 \
75 -DWITH_MAGIC=1 \
76 -DWITH_MATROSKA=1 \
77 -DWITH_AVCODEC=1 \
78 -DWITH_EXIF=1 \
79 -DWITH_EXIV2=1 \
80 -DWITH_FFMPEGTHUMBNAILER=1 \
81 -DWITH_INOTIFY=1
82
83 make -C build
84}
85
86check() {
87 make -C build test
88}
89
90package() {
91 make -C build DESTDIR="$pkgdir" install
92
93 "$builddir/build"/gerbera --create-config > config.xml
94 sed -i 's#<home>.*#<home>/var/lib/gerbera</home>#' config.xml
95
96 install -dm750 -o $pkgusers -g $pkggroups \
97 "$pkgdir/var/lib/$pkgname" \
98 "$pkgdir/var/log/$pkgname" \
99 "$pkgdir/etc/$pkgname"
100 install -m755 -D "$srcdir/$pkgname.initd" \
101 "$pkgdir/etc/init.d/$pkgname"
102 install -m644 -D "$srcdir/$pkgname.confd" \
103 "$pkgdir/etc/conf.d/$pkgname"
104 install -m644 -D "config.xml" \
105 "$pkgdir/etc/$pkgname/config.xml"
106}
107
108sha512sums="989716bc60bc7e171448e18aff58d8f17dbbed28ca31cfeaa7dc0e6f1cb646da88041deff6481e15ba398090a01f07e00f74b12e84c423b7ca5b82eb97b918cd gerbera-1.4.0.tar.gz
1099037fbdc18b7af1492352abccaacca39193b16332040b02b72513ce31e47fbd56220b6c0c62a207e04fd56c4d15d5bd92910506968a4d70a66e133ba49eaeeaa disable-git-test.patch
11047e1953c49ceae3eeaea50b4ecd2bf44d4da2286c315a3bdbfcbe7e7fc8500e2f27438acebe16f6a72a0c97efd7b8a1b185282d73b12e730e1a8fbec19c18046 0001-Remove-IN-and-OUT-dropped-upstream.patch
111e134dee2080c21a39120999d215b0ec36890bed9283a1460d9750e2b21908b3283db09d33c5ff445ae779559b5486f8c81c590c1dbde77ae3d5bb900d694d17f upnp-updates.patch
1128ae265dd283705802d138dc014d592362b0b95030eee0999bfcf6058fa656f215a5dc11e2b548459300750be0f9e6c3d0f5047714a6fc16eeb430c40aff8d35b gerbera.initd
113392d7e964b0328778847f871e88ffd475ddac99b6cf8c8ded4825eb2f970e084db692552790a1b30ff96f59eabcd9fff50164d9dedf328badab95a1cec833c02 gerbera.confd"
diff --git a/community/gerbera/disable-git-test.patch b/community/gerbera/disable-git-test.patch
new file mode 100644
index 0000000000..3a2bc2f424
--- /dev/null
+++ b/community/gerbera/disable-git-test.patch
@@ -0,0 +1,11 @@
1--- a/test/test_server/test_main.cc.orig
2+++ b/test/test_server/test_main.cc
3@@ -48,7 +48,7 @@
4 ASSERT_THAT(output.c_str(), HasSubstr(expectedOutput.c_str()));
5 }
6
7-TEST_F(ServerTest, ServerOutputsCompileInformationIncludingGit) {
8+TEST_F(ServerTest, DISABLED_ServerOutputsCompileInformationIncludingGit) {
9 std::stringstream ss;
10 ss << CMAKE_BINARY_DIR << DIR_SEPARATOR << "gerbera --compile-info 2>&1";
11 std::string cmd = ss.str();
diff --git a/community/gerbera/gerbera.confd b/community/gerbera/gerbera.confd
new file mode 100644
index 0000000000..a8fbc69955
--- /dev/null
+++ b/community/gerbera/gerbera.confd
@@ -0,0 +1,27 @@
1# /etc/conf.d/gerbera
2
3# Enable debug log output.
4#DEBUG=no
5
6# Interface to bind to, for example eth0, this can be specified instead of the
7# IP address.
8#BIND_INTERFACE=eth0
9
10# Specify the server port that will be used for the web user interface, for
11# serving media and for UPnP requests, minimum allowed value is 49152. If this
12# option is omitted a default port will be chosen, however, in this case it is
13# possible that the port will change upon server restart.
14#BIND_PORT=49152
15
16# The server will bind to the given IP address, currently we can not bind to
17# multiple interfaces so binding to 0.0.0.0 is not be possible.
18#BIND_IP=0.0.0.0
19
20# The location of the config file
21#CONFIG="/etc/gerbera/config.xml"
22
23# Specify the user/group gerbera should run as
24#G_USER="gerbera"
25#G_GROUP="gerbera"
26
27# vim: ft=gentoo-conf-d
diff --git a/community/gerbera/gerbera.initd b/community/gerbera/gerbera.initd
new file mode 100644
index 0000000000..8356a0a212
--- /dev/null
+++ b/community/gerbera/gerbera.initd
@@ -0,0 +1,34 @@
1#!/sbin/openrc-run
2
3name="Gerbera"
4configfile="${CONFIG:-/etc/gerbera/config.xml}"
5start_stop_daemon_args="--user ${G_USER:-gerbera} --group ${j_GROUP:-gerbera}"
6pidfile="/run/gerbera/gerbera.pid"
7command=/usr/bin/gerbera
8command_args="-c $configfile -l /var/log/gerbera/gerbera.log"
9command_background=true
10
11depend() {
12 need net
13}
14
15start_pre() {
16 if ! [ -f "${configfile}" ]; then
17 /usr/sbin/gerbera --create-config > "${configfile}"
18 fi
19 if yesno "${DEBUG}"; then
20 command_args="$command_args -D"
21 fi
22 if [ ! -z "${BIND_INTERFACE}" ]; then
23 command_args="$command_args -e ${BIND_INTERFACE}"
24 fi
25 if [ ! -z "${BIND_PORT}" ]; then
26 command_args="$command_args -p ${BIND_PORT}"
27 fi
28 if [ ! -z "${BIND_IP}" ]; then
29 command_args="$command_args -i ${BIND_IP}"
30 fi
31
32 checkpath --owner ${G_USER:-gerbera}:${G_GROUP:-gerbera} \
33 --directory ${pidfile%/*}
34}
diff --git a/community/gerbera/gerbera.post-deinstall b/community/gerbera/gerbera.post-deinstall
new file mode 100644
index 0000000000..febefd4b9c
--- /dev/null
+++ b/community/gerbera/gerbera.post-deinstall
@@ -0,0 +1,6 @@
1#!/bin/sh
2
3deluser gerbera 2>/dev/null
4delgroup gerbera 2>/dev/null
5
6exit 0
diff --git a/community/gerbera/gerbera.pre-install b/community/gerbera/gerbera.pre-install
new file mode 100644
index 0000000000..e99c58b959
--- /dev/null
+++ b/community/gerbera/gerbera.pre-install
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3addgroup -S gerbera 2>/dev/null
4adduser -S -D -H -h /var/run/gerbera -s /sbin/nologin -G gerbera \
5 -g gerbera gerbera 2>/dev/null
6
7exit 0
diff --git a/community/gerbera/upnp-updates.patch b/community/gerbera/upnp-updates.patch
new file mode 100644
index 0000000000..4cc06cfead
--- /dev/null
+++ b/community/gerbera/upnp-updates.patch
@@ -0,0 +1,54 @@
1--- a/src/util/headers.cc
2+++ b/src/util/headers.cc
3@@ -81,7 +81,7 @@
4 {
5 #ifdef UPNP_HAS_EXTRA_HEADERS_LIST
6 if (headers != nullptr) {
7- auto head = const_cast<list_head*>(UpnpFileInfo_get_ExtraHeadersList(fileInfo));
8+ auto head = const_cast<UpnpListHead*>(UpnpFileInfo_get_ExtraHeadersList(fileInfo));
9 for (auto iter : *headers) {
10 UpnpExtraHeaders* h = UpnpExtraHeaders_new();
11 UpnpExtraHeaders_set_resp(h, formatHeader(iter, false).c_str());
12--- a/test/test_handler/test_http_protocol_helper.cc
13+++ b/test/test_handler/test_http_protocol_helper.cc
14@@ -27,9 +27,9 @@
15 std::string out;
16
17 UpnpExtraHeaders* extra;
18- list_head* pos;
19- auto head = const_cast<list_head*>(UpnpFileInfo_get_ExtraHeadersList(info));
20- list_for_each(pos, head) {
21+ UpnpListHead* pos;
22+ auto head = const_cast<UpnpListHead*>(UpnpFileInfo_get_ExtraHeadersList(info));
23+ for (pos = UpnpListBegin(head); pos != UpnpListEnd(head); pos = UpnpListNext(head, pos)) {
24 extra = (UpnpExtraHeaders *)pos;
25 out += UpnpExtraHeaders_get_resp(extra);
26 out += "\r\n";
27@@ -61,7 +61,7 @@
28 EXPECT_STREQ(GET_HEADERS(info), "Content-Disposition: attachment; filename=\"file.mp3\"\r\n");
29 }
30
31-TEST_F(HeadersHelperTest, MultipleHeaders) {
32+TEST_F(HeadersHelperTest, DISABLED_MultipleHeaders) {
33 std::string header = "Content-Disposition";
34 std::string value = "attachment; filename=\"file.mp3\"";
35 std::string header2 = "Accept-Ranges";
36@@ -74,7 +74,7 @@
37 EXPECT_STREQ(GET_HEADERS(info), "Content-Disposition: attachment; filename=\"file.mp3\"\r\nAccept-Ranges: bytes\r\n");
38 }
39
40-TEST_F(HeadersHelperTest, MultipleHeadersSingleCarriageNewLine) {
41+TEST_F(HeadersHelperTest, DISABLED_MultipleHeadersSingleCarriageNewLine) {
42 std::string header = "Content-Disposition";
43 std::string value = "attachment; filename=\"file.mp3\"";
44 std::string header2 = "Accept-Ranges";
45@@ -87,7 +87,7 @@
46 EXPECT_STREQ(GET_HEADERS(info), "Content-Disposition: attachment; filename=\"file.mp3\"\r\nAccept-Ranges: bytes\r\n");
47 }
48
49-TEST_F(HeadersHelperTest, MultiBothCarriageNewLine) {
50+TEST_F(HeadersHelperTest, DISABLED_MultiBothCarriageNewLine) {
51 std::string header = "Content-Disposition";
52 std::string value = "attachment; filename=\"file.mp3\"\r\n";
53 std::string header2 = "Accept-Ranges";
54