diff options
Diffstat (limited to 'nonprism/bti')
-rw-r--r-- | nonprism/bti/PKGBUILD | 38 | ||||
-rw-r--r-- | nonprism/bti/nonprism.patch | 407 |
2 files changed, 445 insertions, 0 deletions
diff --git a/nonprism/bti/PKGBUILD b/nonprism/bti/PKGBUILD new file mode 100644 index 000000000..24a45223b --- /dev/null +++ b/nonprism/bti/PKGBUILD @@ -0,0 +1,38 @@ +# $Id: PKGBUILD 105298 2014-02-04 18:30:40Z jlichtblau $ +# Maintainer (Arch): Jaroslav Lichtblau <dragonlord@aur.archlinux.org> +# Contributor (Arch): Kaiting Chen <kaitocracy@gmail.com> +# Contributor (Arch): uvok <uvok at online dot de> +# Contributor (Arch): Urist <9362773 at gmail.com> + +pkgname=bti +pkgver=034 +pkgrel=1.nonprism1 +pkgdesc='Console client for status.net, without Twitter support' +arch=('i686' 'x86_64' 'mips64el') +url='http://gregkh.github.com/bti/' +license=('GPL') +depends=('pcre' 'libxml2' 'curl' 'liboauth' 'json-c') +conflicts=(${pkgname}-nonprism) +replaces=(${pkgname}-nonprism) +source=(http://www.kernel.org/pub/software/web/$pkgname/$pkgname-$pkgver.tar.xz + nonprism.patch) +sha256sums=('8b4a1a11f529f83956468acadaea9d11db4f03e82afe07fecb84b2d00e9eae83' + '86eab6c949e3c19d3a4088fac78fba4709845e9d5871b12c17a944127347498c') + +prepare() { + cd "${srcdir}"/$pkgname-$pkgver + patch -Np1 -i ${srcdir}/nonprism.patch +} + +build() { + cd "${srcdir}"/$pkgname-$pkgver + ./configure --prefix=/usr + + make +} + +package() { + cd "${srcdir}"/$pkgname-$pkgver + + make DESTDIR="${pkgdir}" install +} diff --git a/nonprism/bti/nonprism.patch b/nonprism/bti/nonprism.patch new file mode 100644 index 000000000..9423d03a7 --- /dev/null +++ b/nonprism/bti/nonprism.patch @@ -0,0 +1,407 @@ +diff --git a/bti-bashcompletion b/bti-bashcompletion +index fa55d75..f957b32 100644 +--- a/bti-bashcompletion ++++ b/bti-bashcompletion +@@ -12,7 +12,7 @@ _bti() + fi + + if [[ "${prev}" == "--host" ]] ; then +- COMPREPLY=( $(compgen -W "twitter identica" -- ${cur} ) ) ++ COMPREPLY=( $(compgen -W "statusnet" -- ${cur} ) ) + fi + + if [[ "${prev}" == "--action" ]] ; then +diff --git a/bti.1 b/bti.1 +index bdd6c76..3577e98 100644 +--- a/bti.1 ++++ b/bti.1 +@@ -28,23 +28,23 @@ + .\" * MAIN CONTENT STARTS HERE * + .\" ----------------------------------------------------------------- + .SH "NAME" +-bti \- send a tweet to twitter\&.com from the command line ++bti \- send a tweet to status\&.net from the command line + .SH "SYNOPSIS" + .HP \w'\fBbti\fR\ 'u + \fBbti\fR [\fB\-\-account\ account\fR] [\fB\-\-password\ password\fR] [\fB\-\-action\ action\fR] [\fB\-\-user\ screenname\fR] [\fB\-\-host\ HOST_NAME\fR] [\fB\-\-proxy\ PROXY:PORT\fR] [\fB\-\-logfile\ LOGFILE\fR] [\fB\-\-config\ CONFIGFILE\fR] [\fB\-\-replyto\ ID\fR] [\fB\-\-retweet\ ID\fR] [\fB\-\-page\ PAGENUMBER\fR] [\fB\-\-bash\fR] [\fB\-\-shrink\-urls\fR] [\fB\-\-debug\fR] [\fB\-\-dry\-run\fR] [\fB\-\-verbose\fR] [\fB\-\-version\fR] [\fB\-\-help\fR] + .SH "DESCRIPTION" + .PP +-bti sends a tweet message to twitter\&.com\&. ++bti sends a tweet message to status\&.net\&. + .SH "OPTIONS" + .PP + \fB\-\-account account\fR + .RS 4 +-Specify the twitter\&.com account name\&. ++Specify the status\&.net account name\&. + .RE + .PP + \fB\-\-password password\fR + .RS 4 +-Specify the password of your twitter\&.com account\&. ++Specify the password of your status\&.net account\&. + .RE + .PP + \fB\-\-action action\fR +@@ -59,9 +59,9 @@ Specify the user whose messages you want to see when the action is "user", and t + .PP + \fB\-\-host HOST_NAME\fR + .RS 4 +-Specify the host which you want to send your message to\&. Valid options are "twitter" to send to twitter\&.com\&. ++Specify the host which you want to send your message to\&. Valid options are "statusnet" to send to status\&.net\&. + .sp +-If no host is specified, the default is to send to twitter\&.com\&. ++If no host is specified, the default is to send to status\&.net\&. + .RE + .PP + \fB\-\-proxy PROXY:PORT\fR +@@ -85,8 +85,6 @@ Specify a config file for bti to read from\&. By default, bti looks in the ~/\&. + .RS 4 + Status ID of a single post to which you want to create a threaded reply to\&. + .sp +-For twitter, this is ignored unless the message starts with the @name of the owner of the post with the status ID\&. +-.sp + For status\&.net, this can link any two messages into context with each other\&. Status\&.net will also link a message that contains an @name without this without regard to context\&. + .RE + .PP +@@ -167,12 +165,12 @@ The account and password can be stored in a configuration file in the users home + .PP + \fBaccount\fR + .RS 4 +-The twitter\&.com account name you wish to use to send this message with\&. ++The status\&.net account name you wish to use to send this message with\&. + .RE + .PP + \fBpassword\fR + .RS 4 +-The twitter\&.com password for the account you wish to use to send this message with\&. ++The status\&.net password for the account you wish to use to send this message with\&. + .RE + .PP + \fB\-\-action action\fR +@@ -187,7 +185,7 @@ Specify the user you want to see his/her messages while the action is "user"\&. + .PP + \fBhost\fR + .RS 4 +-The host you want to use to send the message to\&. Valid options is "twitter" or "custom" to specify your own server\&. ++The host you want to use to send the message to\&. Valid options is "statusnet" or "custom" to specify your own server\&. + .RE + .PP + \fBproxy\fR +diff --git a/bti.c b/bti.c +index f4b2c4d..226e111 100644 +--- a/bti.c ++++ b/bti.c +@@ -53,7 +53,7 @@ int debug; + + static void display_help(void) + { +- fprintf(stdout, "bti - send tweet to twitter or identi.ca\n" ++ fprintf(stdout, "bti - send tweet to status.net\n" + "Version: %s\n" + "Usage:\n" + " bti [options]\n" +@@ -258,14 +258,12 @@ static void bti_curl_buffer_free(struct bti_curl_buffer *buffer) + free(buffer); + } + +-const char twitter_host[] = "https://api.twitter.com/1.1/statuses"; +-const char twitter_host_stream[] = "https://stream.twitter.com/1.1/statuses"; /*this is not reset, and doesnt work */ +-const char twitter_host_simple[] = "https://api.twitter.com/1.1"; +-const char twitter_name[] = "twitter"; ++const char statusnet_host[] = "https://status.net/api/statuses"; ++const char statusnet_name[] = "statusnet"; + +-static const char twitter_request_token_uri[] = "https://twitter.com/oauth/request_token"; +-static const char twitter_access_token_uri[] = "https://twitter.com/oauth/access_token"; +-static const char twitter_authorize_uri[] = "https://twitter.com/oauth/authorize?oauth_token="; ++static const char statusnet_request_token_uri[] = "https://status.net/api/oauth/request_token?oauth_callback=oob"; ++static const char statusnet_access_token_uri[] = "https://status.net/api/oauth/access_token"; ++static const char statusnet_authorize_uri[] = "https://status.net/api/oauth/authorize?oauth_token="; + static const char custom_request_token_uri[] = "/../oauth/request_token?oauth_callback=oob"; + static const char custom_access_token_uri[] = "/../oauth/access_token"; + static const char custom_authorize_uri[] = "/../oauth/authorize?oauth_token="; +@@ -792,9 +790,9 @@ static int request_access_token(struct session *session) + if (!session) + return -EINVAL; + +- if (session->host == HOST_TWITTER) ++ if (session->host == HOST_STATUSNET) + request_url = oauth_sign_url2( +- twitter_request_token_uri, NULL, ++ statusnet_request_token_uri, NULL, + OA_HMAC, NULL, session->consumer_key, + session->consumer_secret, NULL, NULL); + else { +@@ -825,11 +823,11 @@ static int request_access_token(struct session *session) + "Please open the following link in your browser, and " + "allow 'bti' to access your account. Then paste " + "back the provided PIN in here.\n"); +- if (session->host == HOST_TWITTER) { +- fprintf(stdout, "%s%s\nPIN: ", twitter_authorize_uri, at_key); ++ if (session->host == HOST_STATUSNET) { ++ fprintf(stdout, "%s%s\nPIN: ", statusnet_authorize_uri, at_key); + verifier = session->readline(NULL); + sprintf(at_uri, "%s?oauth_verifier=%s", +- twitter_access_token_uri, verifier); ++ statusnet_access_token_uri, verifier); + } else { + fprintf(stdout, "%s%s%s\nPIN: ", + session->hosturl, custom_authorize_uri, at_key); +@@ -883,7 +881,7 @@ static int send_request(struct session *session) + return -EINVAL; + + if (!session->hosturl) +- session->hosturl = strdup(twitter_host); ++ session->hosturl = strdup(statusnet_host); + + if (session->no_oauth || session->guest) { + curl_buf = bti_curl_buffer_alloc(session->action); +@@ -898,7 +896,7 @@ static int send_request(struct session *session) + } + + if (!session->hosturl) +- session->hosturl = strdup(twitter_host); ++ session->hosturl = strdup(statusnet_host); + + switch (session->action) { + case ACTION_UPDATE: +@@ -959,7 +957,7 @@ static int send_request(struct session *session) + + case ACTION_PUBLIC: + /*snprintf(endpoint, endpoint_size, "%s%s?page=%d", session->hosturl,*/ +- snprintf(endpoint, endpoint_size, "%s%s", twitter_host_stream, ++ snprintf(endpoint, endpoint_size, "%s%s", statusnet_host, + public_uri); + curl_easy_setopt(curl, CURLOPT_URL, endpoint); + break; +@@ -972,7 +970,6 @@ static int send_request(struct session *session) + break; + + case ACTION_DIRECT: +- /* NOT IMPLEMENTED - twitter requires authentication anyway */ + break; + + default: +@@ -1052,7 +1049,6 @@ static int send_request(struct session *session) + } else { + switch (session->action) { + case ACTION_UPDATE: +- /* dont test it here, let twitter return an error that we show */ + if (strlen_utf8(session->tweet) > 140 + 1000 ) { + printf("E: tweet is too long!\n"); + goto skip_tweet; +@@ -1083,7 +1079,7 @@ static int send_request(struct session *session) + mentions_uri, session->page); + break; + case ACTION_PUBLIC: +- sprintf(endpoint, "%s%s", twitter_host_stream, ++ sprintf(endpoint, "%s%s", statusnet_host, + public_uri); + break; + case ACTION_GROUP: +@@ -1102,7 +1098,7 @@ static int send_request(struct session *session) + break; + case ACTION_DIRECT: + escaped_tweet = oauth_url_escape(session->tweet); +- sprintf(endpoint, "%s%s?user=%s&text=%s", twitter_host_simple, ++ sprintf(endpoint, "%s%s?user=%s&text=%s", statusnet_host, + direct_uri, session->user, escaped_tweet); + is_post = 1; + break; +@@ -1691,10 +1687,10 @@ int main(int argc, char *argv[], char *envp[]) + free(session->hosturl); + if (session->hostname) + free(session->hostname); +- if (strcasecmp(optarg, "twitter") == 0) { +- session->host = HOST_TWITTER; +- session->hosturl = strdup(twitter_host); +- session->hostname = strdup(twitter_name); ++ if (strcasecmp(optarg, "statusnet") == 0) { ++ session->host = HOST_STATUSNET; ++ session->hosturl = strdup(statusnet_host); ++ session->hostname = strdup(statusnet_name); + } else { + session->host = HOST_CUSTOM; + session->hosturl = strdup(optarg); +@@ -1750,31 +1746,8 @@ int main(int argc, char *argv[], char *envp[]) + if (debug) + display_version(); + +- if (session->host == HOST_TWITTER) { +- if (!session->consumer_key || !session->consumer_secret) { +- if (session->action == ACTION_USER || +- session->action == ACTION_PUBLIC) { +- /* +- * Some actions may still work without +- * authentication +- */ +- session->guest = 1; +- } else { +- fprintf(stderr, +- "Twitter no longer supports HTTP basic authentication.\n" +- "Both consumer key, and consumer secret are required" +- " for bti in order to behave as an OAuth consumer.\n"); +- goto exit; +- } +- } +- if (session->action == ACTION_GROUP) { +- fprintf(stderr, "Groups only work in Identi.ca.\n"); +- goto exit; +- } +- } else { +- if (!session->consumer_key || !session->consumer_secret) +- session->no_oauth = 1; +- } ++ if (!session->consumer_key || !session->consumer_secret) ++ session->no_oauth = 1; + + if (session->no_oauth) { + if (!session->account) { +diff --git a/bti.example b/bti.example +index 57c55c9..29afa11 100644 +--- a/bti.example ++++ b/bti.example +@@ -5,7 +5,7 @@ + # a message. + account=twitmaster + password=icanhascheezburger +-host=identica ++host=statusnet + # Example of a custom StatusNet installation + #host=http://army.twit.tv/api/statuses + logfile=.bti.log +diff --git a/bti.h b/bti.h +index 3d5ed9c..e466c2a 100644 +--- a/bti.h ++++ b/bti.h +@@ -17,7 +17,7 @@ + #define __BTI_H + + enum host { +- HOST_TWITTER = 0, ++ HOST_STATUSNET = 1, + HOST_CUSTOM = 2 + }; + +@@ -75,8 +75,8 @@ struct bti_curl_buffer { + int length; + }; + +-extern const char twitter_host[]; +-extern const char twitter_name[]; ++extern const char statusnet_host[]; ++extern const char statusnet_name[]; + extern int debug; + + extern void bti_parse_configfile(struct session *session); +diff --git a/bti.xml b/bti.xml +index c0b89ee..00ad9a8 100644 +--- a/bti.xml ++++ b/bti.xml +@@ -21,7 +21,7 @@ + + <refnamediv> + <refname>bti</refname> +- <refpurpose>send a tweet to twitter.com from the command line</refpurpose> ++ <refpurpose>send a tweet to status.net from the command line</refpurpose> + </refnamediv> + + <refsynopsisdiv> +@@ -49,7 +49,7 @@ + </refsynopsisdiv> + + <refsect1><title>DESCRIPTION</title> +- <para>bti sends a tweet message to twitter.com. ++ <para>bti sends a tweet message to status.net. + </para> + </refsect1> + +@@ -59,7 +59,7 @@ + <term><option>--account account</option></term> + <listitem> + <para> +- Specify the twitter.com account name. ++ Specify the status.net account name. + </para> + </listitem> + </varlistentry> +@@ -67,7 +67,7 @@ + <term><option>--password password</option></term> + <listitem> + <para> +- Specify the password of your twitter.com account. ++ Specify the password of your status.net account. + </para> + </listitem> + </varlistentry> +@@ -100,10 +100,10 @@ + <listitem> + <para> + Specify the host which you want to send your message to. Valid +- options are "twitter" to send to twitter.com. ++ options are "statusnet" to send to status.net. + </para> + <para> +- If no host is specified, the default is to send to twitter.com. ++ If no host is specified, the default is to send to status.net. + </para> + </listitem> + </varlistentry> +@@ -149,10 +149,6 @@ + reply to. + </para> + <para> +- For twitter, this is ignored unless the message starts with the +- @name of the owner of the post with the status ID. +- </para> +- <para> + For status.net, this can link any two messages into context with + each other. Status.net will also link a message that contains an + @name without this without regard to context. +@@ -301,7 +297,7 @@ + <term><option>account</option></term> + <listitem> + <para> +- The twitter.com account name you wish to use to send this ++ The status.net account name you wish to use to send this + message with. + </para> + </listitem> +@@ -310,7 +306,7 @@ + <term><option>password</option></term> + <listitem> + <para> +- The twitter.com password for the account you wish to use ++ The status.net password for the account you wish to use + to send this message with. + </para> + </listitem> +@@ -341,7 +337,7 @@ + <listitem> + <para> + The host you want to use to send the message to. Valid +- options is "twitter" or "custom" to specify your own server. ++ options is "statusnet" or "custom" to specify your own server. + + </para> + </listitem> +diff --git a/config.c b/config.c +index e6fecc1..0bbc186 100644 +--- a/config.c ++++ b/config.c +@@ -219,10 +219,10 @@ static int retweet_callback(struct session *session, char *value) + + static int host_callback(struct session *session, char *value) + { +- if (strcasecmp(value, "twitter") == 0) { +- session->host = HOST_TWITTER; +- session->hosturl = strdup(twitter_host); +- session->hostname = strdup(twitter_name); ++ if (strcasecmp(value, "statusnet") == 0) { ++ session->host = HOST_STATUSNET; ++ session->hosturl = strdup(statusnet_host); ++ session->hostname = strdup(statusnet_name); + } else { + session->host = HOST_CUSTOM; + session->hosturl = strdup(value); |