Bug 441899

Summary: Review Request: inadyn-mt - Dynamic DNS Client
Product: [Fedora] Fedora Reporter: Jochen Schmitt <jochen>
Component: Package ReviewAssignee: manuel wolfshant <manuel.wolfshant>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: bhoover, fedora-package-review, notting
Target Milestone: ---Flags: manuel.wolfshant: fedora-review+
kevin: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-07-30 17:52:32 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jochen Schmitt 2008-04-10 17:49:12 UTC
Spec URL: http://www.herr-schmitt.de/pub/inadyn-mt/inadyn-mt.spec
SRPM URL: http://www.herr-schmitt.de/pub/inadyn-mt/inydyn-mt-2.11.96-1.src.rpm
Description: 

INADYN-MT is a dynamic DNS client. It maintains the IP address of
a host name. It periodically checks wheather the IP address stored
by the DSN server is the real current address of the machine that
is running INADYN.


Comments: For compatible to inadyn the initscript will stilled named inadyn. Thiw will caused a message from rpmlint

Comment 1 Bryan Hoover 2008-05-19 17:17:53 UTC
The latest version is 2.12.01:

-safer memory, with program abort on allocation error
-language strings file default location override parameter
-unchecked pointers, checked -- had core dump if setlocale returned null;
though a rare instance, now effectively paranoid, I can say, to my knowledge,
all pointers not tracable to a hard coded value, or constant are checked
-fixed program version parameter output

Shortly, a new release will change program executible name from inadyn to inadyn-mt.

Comment 3 manuel wolfshant 2008-06-17 23:45:18 UTC
there seems to be somethibg wrong with the src.rpm. rpm crashes while doing rpm
-i and mc reports "Premature end of CPIO archive"
The file I get is
-rw-rw-r-- 1 wolfy wolfy 213465 Jun 18 02:45 inadyn-mt-2.12.01-1.fc8.src.rpm


Comment 4 Bryan Hoover 2008-06-18 07:27:10 UTC
Greetings!

There's a new version too:

http://downloads.sourceforge.net/inadyn-mt/inadyn-mt.v.02.12.18.tar.gz?modtime=1212990322&big_mirror=0

I don't plan adding anything in the immediate future.  Though I'm trying to
decide about a cross platform library/wrapper for an optional GUI.

These are the Linux related changes since 2.12.01:

-forced update period adjusted accordingly in event of USR1 --
failed user signaled update will cause forced updates 
to be late by time took to do user signaled updates

-main loop iterations condition rendered so increment, and 
related exit, on success only, as in original inadyn

-added ip update trigger, via SIGUSR1

-Executibles, output, and docs changed from inadyn to 
inadyn-mt to reflect program version.

-updated inadyn-mt man files' original inadyn homepage to 
http://www.inatech.eu/inadyn/

-changed default config file from /etc/inadyn.conf to 
/etc/inadyn-mt/inadyn-mt.conf

Comment 5 Jochen Schmitt 2008-06-18 16:02:27 UTC
Thank you for your information.

I dislike your decission to change the name of the configuration file, but I
have create a symbolic link from the new file name to the old one to ensure the
compatiblity to the old releases.

New Upload:

Spec URL: http://www.herr-schmitt.de/pub/inadyn-mt/inadyn-mt.spec
SRPM URL: http://www.herr-schmitt.de/pub/inadyn-mt/inydyn-mt-2.12.18-1.fc9.src.rpm


Comment 6 Bryan Hoover 2008-06-18 18:07:58 UTC
Mmm.

Well, I changed the name of the program when forked, so I figured it would be 
best to change related items - though I'm happy to abide by whatever the 
convention in such cases.  Neither inadyn-advanced, nor inadyn authors were 
responsive to patching before hand.

I'm open to suggestions.  

Presently, sourceforge has a hosted inadyn which is designated as a uCLinux 
port, so I could not rename it inadyn.  I don't know if you were aware that 
there was this sourceforge hosted inadyn.  As such, I imagine, among your 
deliberations, you may want to consider that as well.

Comment 7 Bryan Hoover 2008-06-18 21:31:31 UTC
Oh, yeah though, I do see that I could set it up for backward compatibility -- 
to look for old file name(s) -- that's no problem.

Any thoughts?

Comment 8 manuel wolfshant 2008-07-27 00:15:04 UTC
Package Review
==============

Key:
 - = N/A
 x = Check
 ! = Problem
 ? = Not evaluated

=== REQUIRED ITEMS ===
 [x] Package is named according to the Package Naming Guidelines.
 [x] Spec file name must match the base package %{name}, in the format %{name}.spec.
 [x] Package meets the Packaging Guidelines.
 [x] Package successfully compiles and builds into binary rpms on at least one
supported architecture.
     Tested on: devel/x86_64
 [x] Rpmlint output:
source RPM:
        inadyn-mt.src:21: W: unversioned-explicit-obsoletes inadyn
-> see issue 1 below
        inadyn-mt.src:22: W: unversioned-explicit-provides inadyn
-> see issue 1
        inadyn-mt.src: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 4)
-> cosmetic, please fix
        inadyn-mt.src: W: non-coherent-filename inydyn-mt-2.12.18-1.fc9.src.rpm
inadyn-mt-2.12.18-1.fc9.src.rpm
->no idea what triggers this, I am going to ignore it
binary RPM:
        inadyn-mt.x86_64: E: non-readable /etc/inadyn.conf 0600
-> no problem here, the file contains sensitive info
        inadyn-mt.x86_64: W: incoherent-init-script-name inadyn
-> it is intended so it is acceptable, although I see no point in preserving the
name of the other application
 [x] Package is not relocatable.
 [x] Buildroot is correct
(%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n))
 [x] Package is licensed with an open-source compatible license and meets other
legal requirements as defined in the legal section of Packaging Guidelines.
 [x] License field in the package spec file matches the actual license.
     License type:GPLv2+
 [!] If (and only if) the source package includes the text of the license(s) in
its own file, then that file, containing the text of the license(s) for the
package is included in %doc.
 [x] Spec file is legible and written in American English.
 [x] Sources used to build the package matches the upstream source, as provided
in the spec URL.
     SHA1SUM of package: a9c6c8cbb1c9f1ad7b2d928305972e2248784797
inadyn-mt.v.02.12.18.tar.gz
 [x] Package is not known to require ExcludeArch
 [x] All build dependencies are listed in BuildRequires, except for any that are
listed in the exceptions section of Packaging Guidelines.
 [!] The spec file handles locales properly.
See issue 3 below
 [-] ldconfig called in %post and %postun if required.
 [x] Package must own all directories that it creates.
 [x] Package requires other packages for directories it uses.
 [x] Package does not contain duplicates in %files.
 [x] Permissions on files are set properly.
 [x] Package has a %clean section, which contains rm -rf %{buildroot} (or
$RPM_BUILD_ROOT).
 [x] Package consistently uses macros.
 [x] Package contains code, or permissable content.
 [-] Large documentation files are in a -doc subpackage, if required.
 [x] Package uses nothing in %doc for runtime.
 [-] Header files in -devel subpackage, if present.
 [-] Static libraries in -devel subpackage, if present.
 [-] Package requires pkgconfig, if .pc files are present.
 [-] Development .so files in -devel subpackage, if present.
 [-] Fully versioned dependency in subpackages, if present.
 [x] Package does not contain any libtool archives (.la).
 [-] Package contains a properly installed %{name}.desktop file if it is a GUI
application.
 [x] Package does not own files or directories owned by other packages.
=== SUGGESTED ITEMS ===
 [!] Latest version is NOT packaged.
See issue 4 below
 [x] Package does not include license text files separate from upstream.
 [-] Description and summary sections in the package spec file contains
translations for supported Non-English languages, if available.
 [!] Reviewer should test that the package builds in mock.
     Tested on: devel/x86_64 but see issue 5 below
 [?] Package should compile and build into binary rpms on all supported
architectures.
     Tested on:
 [?] Package functions as described.
     I cannot test, I have no dyndns connections
 [-] Scriptlets must be sane, if used.
 [-] The placement of pkgconfig(.pc) files is correct.
 [-] File based requires are sane.


=== Issues ===
1. I'd say that a versioned obsolete would be safer, but I'll trust your
judgement, especially as inadyn seems to have disappeared (I cannot find
anything useful at http://inadyn.ina-tech.net/ ) and inadyn-advanced had it's
last version released in 2006
2. Please ping upstream to include the license in the package. Actually I could
do it now ( :) ): Bryan, would you take care of that for the next release, please ?
3. There is no provision in the spec file for handling locales. Fortunately the
source contains only one translation, English (lang/eng.lng). However I am not
sure that %find_lang can handle the approach for locales used by this application.
4. Latest version is 2.12.20, the src.rpm contains 2.12.18. Not mandatory, but
it would be nice to update your package, especially as the changelog mentions a
fix about help usage.
5. Any particular reason to not use parallel make ? If yes, please comment it in
the spec; otherwise please adjust the spec file

=== Final Notes ===
 No real show stoppers but please take care of the above mentioned issues. Once
you do that I'll be happy to approve your package.


Comment 9 Bryan Hoover 2008-07-27 06:28:56 UTC
Hello,

I've just put up 2.12.22, and included the latest GNU GPL in gpl.txt in program
root directory.

Changes/fixes are:

-Windows log file pointer check

-added sitelutions.com dynamic dns server

-simplified Windows service installation default registry 
parameters

-memory alloc error abort wrapper potential stack overflow
because of error log output memory alloc, changed to printf 
string literal output

Regards,

Bryan

Comment 10 Jochen Schmitt 2008-07-27 18:12:07 UTC
(In reply to comment #8)

> === Issues ===
> 1. I'd say that a versioned obsolete would be safer, but I'll trust your
> judgement, especially as inadyn seems to have disappeared (I cannot find
> anything useful at http://inadyn.ina-tech.net/ ) and inadyn-advanced had it's
> last version released in 2006

My aim is to obsolete inadyn and replace it by inadyn-mt.

> 2. Please ping upstream to include the license in the package. Actually I could
> do it now ( :) ): Bryan, would you take care of that for the next release,
please ?

Is done in the most current release.

> 3. There is no provision in the spec file for handling locales. Fortunately the
> source contains only one translation, English (lang/eng.lng). However I am not
> sure that %find_lang can handle the approach for locales used by this application.

%find_lang doesn't works.

> 4. Latest version is 2.12.20, the src.rpm contains 2.12.18. Not mandatory, but
> it would be nice to update your package, especially as the changelog mentions a
> fix about help usage.

I have updated to 2.12.22.

> 5. Any particular reason to not use parallel make ? If yes, please comment it in
> the spec; otherwise please adjust the spec file

No, perhaps in the past they may be an issue, but not now.

New Upload:

Spec URL: http://www.herr-schmitt.de/pub/inadyn-mt/inadyn-mt.spec
SRPM URL: http://www.herr-schmitt.de/pub/inadyn-mt/inydyn-mt-2.12.22-1.fc9.src.rpm



Comment 11 manuel wolfshant 2008-07-27 20:49:51 UTC
ref #9: Bryan, you have included the file corresponding to GPL v3, but most of
the source files claim GPLv2 or later. Since there are substantial differences
between v2 and v3, could you please confirm that you really want the project to
be released under GPLv3 ? Note that, according to
http://fedoraproject.org/wiki/Licensing/FAQ, simply including the gpl.txt in the
tarball is not enough. Quoting from that page:
Q: How do I figure out what version of the GPL/LGPL my package is under?
A: The short answer is to look at the source. Here is the long answer:
COPYING does not signal licensing intent (it might not seem intuitive, but this
is what Red Hat legal told us, and we're going by that).
The order of operations goes like this:
   1. What does the code say? If it specifies a version, that's what it is.


Jochen: the src.rpm you have uploaded has MD5 errors. I have recreated the
src.rpm using the new spec and the source downloaded from sf.net and everything
seems mostly OK. Please find below the rpmlint

rpmlint of the source RPM:
    inadyn-mt.src:21: W: unversioned-explicit-obsoletes inadyn
    inadyn-mt.src:22: W: unversioned-explicit-provides inadyn
-> both are intended as such
    inadyn-mt.src: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 4)
-> cosmetic...

rpmlint of inadyn-mt.x86_64:
    W: wrong-file-end-of-line-encoding /usr/share/doc/inadyn-mt-2.12.22/COPYING
-> classic case of cr/lf usage; anyway, what's the reason for modifying the
filename from gpl.txt to COPYING? gpl.txt is just as valid.
    inadyn-mt.x86_64: E: non-readable /etc/inadyn.conf 0600
-> already discussed and acceptable
    inadyn-mt.x86_64: W: incoherent-init-script-name inadyn
-> already discussed and acceptable


Starting the program gives
 Starting inadyn: Sun Jul 27 23:45:13 2008: W:LANG: Cannot open language file. 
Will use english defaults, or default override (--lang_file <path/file_name>...)

Is it intended ?

Comment 12 Bryan Hoover 2008-07-28 08:38:56 UTC
Hello,

I see no problem with upgrading the license to version 3.  I welcome feedback
though.  That is, do you, or anyone who happens to be "listening" in, know of
any reason simply upgrading to version 3 could be a problem?  My reading is that
version 3 license is less restrictive than version 2.

To clarify, I've changed the relevant source files' license notice to read,
"either version 3 of the License, or (at your option) any later version."

I'll await your feedback before putting up another version.

Regards,

Bryan

PS The program expects the language file is either in /etc/inadyn-mt/lang, or
the program will search for directory, lang, from current working directory, up
to /inadyn-mt.

Comment 13 manuel wolfshant 2008-07-28 10:54:08 UTC
For the moment the lang file is not packaged at all. Jochen, could you add it,
please ?

Comment 15 manuel wolfshant 2008-07-29 01:21:09 UTC
  Technically, now I'd say that there are no problems with the new spec.
Unfortunately I get
    Error 404 - Not found

   Die angegebene Seite konnte nicht gefunden werden.
when trying to download the src.rpm.
  I'll try later today to build locally the src.rpm using upstream's sources

 The only problem is that I have looked over all the src/* files from v02.12.22
and they either have no license info at all, or claim GPLv2+. According to our
guidelines what's in the individual source files wins, so the mere presence of
the gpl.txt corresponding to GPL v3 does not make the project GPLv3.
Therefore, unless I am very mistaken, the license field must be GPLv2+. I would
appreciate a second opinion here.

 Ref comment #12: AFAIK, you cannot relicence the older sources (which were not
written by you) from v2+ to v3 without the approval of the previous devs. Of
course, this does not apply to the bits written by yourself.

Comment 16 Jochen Schmitt 2008-07-29 15:29:21 UTC
Sorry for your issues on downloading the packages. I have uploaded it again and
have double checked the upload to be sure, that all should works fine.

Relating of the GPLv3 discussion. On inadyn-mt.sf.net Bryan Hoover is declared
as the admin of the inadyn-mt project. So as long as all the sources from this
project was written my him, he has the right to relicense the code to the terms
of GPLv3. If not, he needs the permissions of the original copyright holder of
this foreign sources.

New Upload:

Spec URL: http://www.herr-schmitt.de/pub/inadyn-mt/inadyn-mt.spec
SRPM URL: http://www.herr-schmitt.de/pub/inadyn-mt/inydyn-mt-2.12.22-2.fc9.src.rpm


Comment 17 Bryan Hoover 2008-07-29 16:32:09 UTC
I was unsure about the two base64 related files regarding copyright.  The
original author, Marc Niegowski, responded to my question on whether I could
license under GPL, and has given his permission.  I've adjusted the files
accordingly.

My files, I've copyrighted under GPL v3.

All other files remain under GPL v2.

I've replaced gpl.txt, with COPYING, and it contains GNU GPL version 3.

I commited these changes to cvs.

If this look right, I'll put up a new version including source changes:

-program abort flag check fixed

-GNU GPL related issues addressed

-calloc safe_mem wrap

Regards,

Bryan

Comment 18 Jochen Schmitt 2008-07-29 16:49:18 UTC
It may be better to use the same version of the GPL for all files in the
project. AFAIK there are some incompatiblity issues between version 2 and 3 of
the GPL. But I'm not a specialist on this area.

Best Regards:

Jochen Schmitt

Comment 19 Bryan Hoover 2008-07-29 17:29:19 UTC
I'm no expert on it either.  

As I understand it, the mixed licensing will render the program as a whole,
compatible with GPL v3, but the individual source files may be extracted, and
used in accordance with the notice in the given file.

If so, that's fine with me.

Regards,

Bryan

Comment 20 manuel wolfshant 2008-07-29 20:13:50 UTC
According to https://fedoraproject.org/wiki/Licensing#Footnote3 there is no
problem in releasing this project under GPLv3.

The only relevant warning coming from rpmlint is just a cosmetic issue:
  inadyn-mt.src: W: mixed-use-of-spaces-and-tabs (spaces: line 2, tab: line 5)
which can easily be fixed before comiting to CVS.

The new version builds fine in mock, seems to run OK (to the extent of checking
allowed by lack of a real dydns connection).

package APPROVED

Comment 21 Bryan Hoover 2008-07-30 12:50:41 UTC
I've put up 02.12.24 reflecting that in Comment #17.

Thanks so much for all the help.

Regards,

Bryan

PS A simple test configuration file might consist of:

--background -d 7 --log_file inadyn_srv.log -u test -p test --update_period
30000 --alias test.dyndns.org --dyndns_server_name members.dyndns.org
--dyndns_server_url /nic/update? --ip_server_name checkip.dyndns.org:80 /

Comment 22 Jochen Schmitt 2008-07-30 14:25:39 UTC
New Package CVS Request
=======================
Package Name: inadyn-mt
Short Description: Dynamic DNS Client
Owners: s4504kr
Branches: 
InitialCC:
Cvsextras Commits: yes


Comment 23 Kevin Fenzi 2008-07-30 16:41:46 UTC
cvs done.

Comment 24 Jochen Schmitt 2008-07-30 17:52:32 UTC
imported and built.