Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

tnftp 20070806 (new formula), tnftpd 20100324 (new formula), telnetd 54.50.1 (new formula), telnet and inetutils: conflicting files #19296

Closed
wants to merge 4 commits into from

Conversation

ylluminarious
Copy link
Contributor

  • Have you followed the guidelines for contributing?
  • Have you checked that there aren't other open pull requests for the same formula update/change?
  • Have you built your formula locally with brew install --build-from-source <formula>, where <formula> is the name of the formula you're submitting?
  • Does your build pass brew audit --strict <formula> (after doing brew install <formula>)?

I'm submitting these patches as a single pull request, since I committed these all at once to my fork and I don't know how to split them up into multiple pull requests. And I'm really tired. Apologies.

So, Apple removed some command-line tools for some important, albeit insecure, networking protocols in 10.13. In these patches, I've attempted to rectify some of those removals.

These patches do several different things:

  1. First off, I've added a conflicts_with assertion for inetutils in telnet.rb. The reason is that both formulas install conflicting telnet binaries and telnet man pages. I see no easy way around that, so it's probably best to just say that they conflict with each other.

  2. I've added formulas for tnftp and tnftpd. There is already an open pull request for tnftp, but my formula uses a more recent version from Apple (20100324 as opposed to 20091122) and my formula actually works. The tnftpd formula is the same sort of thing, but installs the ftpd server program from Apple.

  3. I've added a formula for telnetd, which is just the telnet server on OS X.

Now, there are some minor flaws with my formulas, or at least they are things which could be improved.

The first thing is that my tests for telnetd and tnftpd either spit out usage information or show that the program is not completely brain-dead by making it recognize illegal options, respectively. The reason my tests are so simplistic is because writing tests which verify that servers are up and running is kind of difficult and, frankly, I don't want to put in the time to do it. Anyone else is more than welcome.

The next thing is that it would be nice for the daemons' formulas to have plist methods so that users could use them via brew services. However, it seems that these daemons require root access to work properly. That makes sense, since that was how Apple intended for them to be used and they wrote their plists accordingly. As such, though, I can't make use of brew services since I would need to install these plists to a folder owned by root, such as /Library/LaunchAgents, /Library/LaunchDaemons, /System/Library/LaunchAgents, or /System/Library/LaunchDaemons. As far as I can tell, homebrew offers no facilities to allow me to install any files into these locations.

Finally, this is the first time I've contributed to homebrew so it's possible that there are other issues that I'm missing. Please point any such issues out or fix them yourself if you feel so inclined.

@@ -4,6 +4,8 @@ class Telnet < Formula
url "https://opensource.apple.com/tarballs/remote_cmds/remote_cmds-54.50.1.tar.gz"
sha256 "156ddec946c81af1cbbad5cc6e601135245f7300d134a239cda45ff5efd75930"

conflicts_with "inetutils", because: "both install `telnet' binaries"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

=> remains the preferred syntax in core.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Apologies, I couldn't get brew audit to run properly.

homepage "https://opensource.apple.com/"
url "https://opensource.apple.com/tarballs/remote_cmds/remote_cmds-54.50.1.tar.gz"
sha256 "156ddec946c81af1cbbad5cc6e601135245f7300d134a239cda45ff5efd75930"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably want a keg_only :provided_pre_high_sierra in this formula.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok

man8.install "telnetd.tproj/telnetd.8"
end

def caveats
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not sure any of these caveats are needed. We certainly shouldn't be telling people to try & touch /System at least post-SIP.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok, I'll remove them. Though, imho, SIP is overrated and I don't use it myself.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Though, imho, SIP is overrated and I don't use it myself.

It protects standard users pretty well. It has certainly reduced the amount of problems Homebrew sees where people thought it was a brilliant idea to replace /usr/bin/clang with a symlink to Homebrew's clang, and so on.

Formula/tnftp.rb Outdated
homepage "https://opensource.apple.com/"
url "https://opensource.apple.com/tarballs/lukemftp/lukemftp-16.tar.gz"
sha256 "ba35a8e3c2e524e5772e729f592ac0978f9027da2433753736e1eb1f1351ae9d"

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably want a keg_only :provided_pre_high_sierra in this formula.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok

def install
# Trying to use Apple's pre-supplied Makefile resulted
# in headaches... they have made the build process
# specifically for installing to /usr/bin and so it
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could always change that with inreplace if it's not too "involved".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 I considered doing something like that, but I concluded that it probably would be too involved. Plus, what I have there already works so I don't see any real issue there.

depends_on :xcode => :build

def install
system "tar zxvf tnftpd-20100324.tar.gz"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Arguments should be separated by commas.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok


def install
system "tar zxvf tnftpd-20100324.tar.gz"
Dir.chdir "tnftpd-20100324"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cd "blah" do...

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 As asked above, how is this preferable to Dir.chdir?

system "./configure"
system "make"

File.rename "src/tnftpd", "src/ftpd"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These lines are all redundant. You can simply do things like:

bin.install "src/tnftpd" => "ftpd

etc

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok, thanks. Couldn't figure out how exactly to get that sort of thing to work.

etc.install "examples/ftpusers"
end

def caveats
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO at best only caveat 2 is desirable here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok

EOS
end

test do
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should just work with an assert_match, and again, you should use the full path, not simply "ftpd".

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 As explained above with telnetd, ftpd doesn't seem to stick its output in the stdout. So that's why it's fiddling around with PTY.

I'll fix it to use the full path.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Try the 2>&1 dance here as well.

@DomT4
Copy link
Member

DomT4 commented Oct 11, 2017

I'm pretty unconvinced personally all of these should be unique formula instead of being a broader utilities formula.

@ylluminarious
Copy link
Contributor Author

@DomT4 I would be fine with that, in fact that was my initial idea. But I wasn't sure if that would be acceptable or not.

@ylluminarious
Copy link
Contributor Author

@DomT4 Ok, sorry that I accidentally closed this ticket a little while ago. I was trying to update my fork and accidentally screwed things up with git and pushed some stuff I didn't mean to. I guess Github didn't like it and closed this ticket as a result.

Anyway, I've tried to implement most of the changes that you wanted so please take a look at them and see if there's anything left.

@ylluminarious
Copy link
Contributor Author

@DomT4 I've tried to fix everything that you've said to fix above. It seems that the test bot is now complaining about not being able to merge my fork properly -- I don't doubt that this is the result of me doing some awkward things with git to update my fork. How can I fix this so that the changes can get merged in properly?

@DomT4
Copy link
Member

DomT4 commented Oct 13, 2017

I'll look this over later today. Apologies for the delay, has been a pretty full-on week.

@ylluminarious
Copy link
Contributor Author

@DomT4 No problem. Please let me know if I can do anything to help.

@ylluminarious
Copy link
Contributor Author

@DomT4 Thanks for your further clarifications on my changes. Unfortunately, I've been having some really strange git problems and I can't really push or pull to my fork right now since it keeps wanting to rebase everything and then not being able to do so. I might have to put all of my changes on another branch or something. If you could fix any further issues and merge the changes, that would be fantastic as I don't really have time right now to dicker around with git and homebrew.

@DomT4
Copy link
Member

DomT4 commented Oct 13, 2017

If you could fix any further issues and merge the changes, that would be fantastic as I don't really have time right now to dicker around with git and homebrew.

I don't have the access rights to do so, no longer being a maintainer here. Will be something you need to look at yourself, I'm afraid.

@ylluminarious
Copy link
Contributor Author

@DomT4 Alright, well, I suspect it will be several days, then. Hopefully I don't b0rk anything.

@ilovezfs ilovezfs added the new formula PR adds a new formula to Homebrew/homebrew-core label Oct 14, 2017
@ylluminarious
Copy link
Contributor Author

@ilovezfs @DomT4 Ok, I managed to fix the issues with git and everything seems to be in order now. All that's left to do is merge the changes, I think.

@ylluminarious
Copy link
Contributor Author

@DomT4 @ilovezfs Anything holding this PR back? I've tried to follow all recommendations and the tests are passing now...

end

test do
# running a whole server, connecting, and so forth is a bit clunky and hard
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Per an earlier comment:

What about if you use 2>&1 at the end of that shell_output line.

assert_match "usage: telnetd", shell_output("#{bin}/telnetd usage 2>&1")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 That does not work:

$ brew test telnetd
Testing telnetd
==> /usr/local/Cellar/telnetd/54.50.1/bin/telnetd usage 2>&1
Error: telnetd: failed
<0> expected but was
<1>.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Off the top of my head, I don't think PTY checks exit status, so it may well already be chucking out a bad one & it's simply not getting noticed. shell_output() always checks exit status. You can tell it to expect a bad one, and as long as the assert_match is still true it won't blow up.

assert_match "usage: telnetd", shell_output("#{bin}/telnetd usage 2>&1", 1)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 It is irrelevant if PTY checks exit status. Running telnetd usage already returns a non-zero exit status by default. Example:

$ telnetd usage
usage: telnetd [-debug] [-D (options|report|exercise|netdata|ptydata)]
	 [-h] [-k] [-l] [-n]
	 [-u utmp_hostname_length] [-U] [port]
$ echo $?
1
$ 

The only thing that matters in this test is that telnetd usage returns the expected output. This is sufficient to determine whether the compilation succeeded.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is sufficient to determine whether the compilation succeeded.

Sure, but equally as a broad rule the simplest possible code is ideal in homebrew/core because homebrew/core is intended to be pretty friendly to people new to Ruby. The more code drifts from the most common usage the less likely people are to feel able to touch it in future, again, speaking very broadly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Sure, I understand that. I'm not sure how to change this code in order to be friendly like that while still making it functional, though...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

diff --git a/Formula/telnetd.rb b/Formula/telnetd.rb
index b27c1e4f41..ef313c4913 100644
--- a/Formula/telnetd.rb
+++ b/Formula/telnetd.rb
@@ -35,14 +35,6 @@ class Telnetd < Formula
   end
 
   test do
-    # running a whole server, connecting, and so forth is a bit clunky and hard
-    # to write properly so...
-    require "pty"
-    require "expect"
-
-    PTY.spawn "#{bin}/telnetd usage" do |input, _output, _pid|
-      str = input.expect(/usage: telnetd/)
-      assert_match "usage: telnetd", str[0]
-    end
+    assert_match "usage: telnetd", shell_output("#{bin}/telnetd usage 2>&1", 1)
   end
 end

Does the job. Tested locally.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok, that works for telnetd. I thought I recalled it not working for some reason, but I guess not. I'll apply your patch, although I tested the same sort of thing for tnftp and tnftpd and they did not work without PTY.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, that's expected. You're poking tnftp with faux-interactivity, whereas this one is just doing a straight string read. Not sure what's going on with tnftpd - It looks like it should work with this format of test too.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Yes, I expected the same WRT tnftpd. 🤷‍♂️

end

def caveats
<<-EOS.undent
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will need changing to the new <~EOS style.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok.

@ylluminarious
Copy link
Contributor Author

@DomT4 Ok, I've applied some of the changes you've suggested, as per our discussions.

@ylluminarious
Copy link
Contributor Author

@DomT4 I'm getting a bizarre test failure message right now:

tnftpd.rb:29:1: C: Use 2 spaces for indentation in a heredoc by using <<~ instead of <<~.

Do you know what this means I should do? I can't seem to get it to disappear.

end

def caveats
<<~EOS.undent
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's complaining because the syntax is slightly wrong here. You want:

def caveats
  <<~EOS
    Blah
    Blah
    Blah
  EOS
end

etc.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Ok, thanks for clarifying that.

"CFLAGS=$(CC_Flags) -isystembuild/Products/",
"LDFLAGS=$(LD_Flags) -Lbuild/Products/"

bin.install "telnetd.tproj/build/Products/telnetd"
Copy link
Member

@DomT4 DomT4 Oct 23, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bin feels like a weird place for a daemon. I don't know. Homebrew has some mixed rules on this so don't move it based on my feelings alone unless @ilovezfs feels strongly.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sbin is likely a better fit. does it need root to run?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ilovezfs Unfortunately, I've never actually used telnetd... I just saw that some people complained about it being gone in 10.13 so I added it here. I don't know if it needs root privileges or not.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ilovezfs @DomT4 Ok, so all I needed to do to start telnetd manually was to RTFM (from man 8 telnetd):

The -debug option may be used to start up telnetd manually, instead of through inetd(8). If started up this way, port may be specified to run telnetd on an alternate TCP port number.

If the port number that telnetd tries to bind to is below 1024 (which is the default) then we need root access. Though, we can pass a custom port number to -debug which eliminates the need for root privileges. So I'm now not sure whether this should be in bin or sbin.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Smells like sbin to me, personally. Especially since we leave sshd there.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 @ilovezfs Alright, should I install both tnftpd and telnetd to sbin, then?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ILZ gets to make the final call on that one. Personal opinion: Yes.

# in headaches... they have made the build process
# specifically for installing to /usr/bin and so it
# just doesn't play well with homebrew.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This empty line seems weird, given that you're continuing your sentence. I am curious how involved an inreplace would be here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Sorry, I thought the empty line made sense. I can get rid of it if you want. Also, having examined Apple's makefile and having tried to fix it, it wouldn't be worth the trouble. Esp. since what we have already works...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reading the Makefile has left me with some questions. Particularly that the Makefile applies a bunch of patches, including one covering CVE-2014-8517, apparently. Is that something we're not getting by skipping the Makefile?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Hmm, I missed that CVE patch. I guess patching Apple's makefile to patch the project may be worth it after all...

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We can apply patches various ways, but yeah, we'll want to work out the most ideal way to apply any necessary patching but particularly any CVE-related patching since we shouldn't be merging new formulae vulnerable to years-old CVEs really 🙈.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 Never mind my previous comment. I checked the fetch.c file and it already has the changes which would be applied in the CVE diff. The situation is the same with the other patches as well. I remember now, that is one of the reasons why I thought that bothering with Apple's Makefile wasn't worth it. I.e., the patches are already applied and so it is redundant to use their Makefile.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@DomT4 In fact, when you use their Makefile, patch asks you if you're trying to apply a reverse-patch. The reason being, obviously, that the changes are already applied. For example:

$ make
Installing source for tnftp...
/usr/bin/tar -C /tmp/tnftp/Sources -zxf /tmp/tnftp/Sources/tnftp-20070806.tar.gz
/bin/mv /tmp/tnftp/Sources/tnftp-20070806 /tmp/tnftp/Sources/tnftp
for patchfile in Makefile.in.patch PR-4074918.ftp.c.patch configure.patch PR-7577277.cmds.c.patch PR-7577277.extern.h.patch PR-7577277.fetch.c.patch PR-7577277.main.c.patch PR-7577277.util.c.patch PR-13253996_ftp.c.patch CVE-2014-8517.diff PR-24033140.main.c.patch; do \
            (cd /tmp/tnftp/Sources/tnftp && patch -lp0 < /tmp/tnftp/Sources/patches/$patchfile) || exit 1; \
	done
patching file src/Makefile.in
Reversed (or previously applied) patch detected!  Assume -R? [n]

@DomT4
Copy link
Member

DomT4 commented Oct 23, 2017

I've applied some of the changes you've suggested, as per our discussions.

I apologise for the back & forth here. You picked one of the most involved types of initial PR anyone could file against Homebrew really. I appreciate that can be frustrating & appreciate the patience.

@ylluminarious
Copy link
Contributor Author

@DomT4

I apologise for the back & forth here. You picked one of the most involved types of initial PR anyone could file against Homebrew really.

Yes, evidently so... ;P

I'm just glad that these tools will be available to people once again.

I appreciate that can be frustrating & appreciate the patience.

Well, thanks for the sympathy and for helping me thus far.

@ylluminarious
Copy link
Contributor Author

@DomT4 Yes, that's pretty much what I'm talking about.

I haven't verified that an older SDK will make it so that telnet can build, but if that is the case, I am at a bit of a loss. Is there some way to download an old Xcode SDK in such a situation and use it temporarily during the build process? If this cannot be done, then people will start to complain pretty soon that the telnet formula has issues.

@ylluminarious
Copy link
Contributor Author

@ilovezfs @DomT4 @byss @ylluminate

Just FYI for all those involved in this discussion:

I've put up a post on StackExchange to help solve the problem with telnet. If anyone is uncomfortable with StackExchange, I also posted it on the homebrew community discussion forum.

I'm rather tired of the immense tedium which has been involved in getting these formulas into homebrew so I hope that this issue with telnet will be resolved soon, especially since it's not even my formula in the first place.

Thanks.

@ilovezfs
Copy link
Contributor

@BrewTestBot test this please

@ilovezfs
Copy link
Contributor

@ylluminarious the problem is likely that SDKROOT needs to be set.

@ylluminarious
Copy link
Contributor Author

@ilovezfs Thanks for the suggestion. Unfortunately, I have already tried that but to no avail. As per another tip from somebody on StackExchange, I'm looking at the settings for the libtelnet project itself. It seems that perhaps the root of the problem is there.

@ilovezfs
Copy link
Contributor

Try adding

  ENV["SDKROOT"] = MacOS.sdk_path
  ENV["MACOSX_DEPLOYMENT_TARGET"] = MacOS.version

@ilovezfs
Copy link
Contributor

yes that fixes it. I just tested directly on the Jenkins VM.

@ylluminarious
Copy link
Contributor Author

@ilovezfs Well how about that!

It does work! Thanks a lot for the advice. I'll go ahead and commit the change so that this error is fixed. Although, I have no idea how this fixed the problem; would you mind explaining it?

@ilovezfs
Copy link
Contributor

There's only one SDK per Xcode version now. So if you're using Xcode 9 on 10.12, you often have to set deployment target to 10.12 or build goes 💥

Setting SDKROOT makes sure it uses Xcode headers and such instead of the CLT and is effectively the same as passing in isysroot.

@ylluminarious
Copy link
Contributor Author

@ilovezfs Thank you for the explanation! I thought I had already set SDKROOT and MACOSX_DEPLOYMENT_TARGET in previous attempts to fix this issue, but I guess I must have missed something. Maybe it also had to do with the fact that I was trying to force xcodebuild to use a non-system SDK. In any case, I'm glad this is fixed now and I really appreciate your help.

@ylluminarious
Copy link
Contributor Author

@ilovezfs Looks like we're good to merge...

Anything else need to be done?

@JCount
Copy link
Contributor

JCount commented Dec 19, 2017

@ylluminarious Nothing else needs to be done on your side. You've done a great job, especially as a first time contributor. 👍 😄

I currently am just cleaning up the git side of things a bit so that the commit history will be a little easier to read in the future. 😉

@ylluminarious
Copy link
Contributor Author

@JCount Thanks! I appreciate the compliment and the update.

@JCount
Copy link
Contributor

JCount commented Dec 19, 2017

@ylluminarious I have a quick question. How did you derive the version numbers, (dates), for tnftp and tnftpd? I believe tnftp contain patches that are newer than 2010-03-24 but is based on an older release from 2007-08-06. 🤔

@ylluminarious
Copy link
Contributor Author

@JCount For tnftpd there was a tarball in the tarball called tnftpd-20100324.tar.gz. It contained the source files for the project, so I went with that version number. For tnftp I just used that same version number.

George D. Plymale II added 2 commits December 19, 2017 19:00
create lukemftp alias
create lukemftpd alias
@JCount
Copy link
Contributor

JCount commented Dec 20, 2017

@ilovezfs Any thought on the version numbers? tnftpd seems to be straight forward, but tnftp is much murkier.

@JCount JCount changed the title tnftp 20100324 (new formula), tnftpd 20100324 (new formula), telnetd 54.50.1 (new formula), telnet and inetutils: conflicting files tnftp 20070806 (new formula), tnftpd 20100324 (new formula), telnetd 54.50.1 (new formula), telnet and inetutils: conflicting files Dec 20, 2017
@JCount JCount closed this in e018177 Dec 20, 2017
@JCount
Copy link
Contributor

JCount commented Dec 20, 2017

@ylluminarious Thank you for your first contribution to Homebrew, and especially for sticking with a prolongated PR! 🎊 💯 🎆

@ylluminarious
Copy link
Contributor Author

@JCount Thanks a lot! And thanks to everyone else who helped!

@ylluminate
Copy link

ylluminate commented Dec 20, 2017

Please pardon this interjection... As a proud father, I want to say I'm so grateful that you have such a strong work ethic and commitment to the the things you start. You always persevere and endure. You're a great young man, son and example to those who truly know you @ylluminarious.

And thanks to everyone for your input, suggestions and help to him.

@ylluminarious
Copy link
Contributor Author

@ylluminate Heh, thank you 😊

@ilovezfs ilovezfs removed the almost there PR is nearly ready to merge label Jan 19, 2018
@Homebrew Homebrew locked and limited conversation to collaborators May 4, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
new formula PR adds a new formula to Homebrew/homebrew-core
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants