summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Rakefile20
-rw-r--r--app/Main.hs34
-rw-r--r--app/SlackBuilder/CommandLine.hs10
-rw-r--r--lib/up2date.rb15
4 files changed, 22 insertions, 57 deletions
diff --git a/Rakefile b/Rakefile
index 4af411a..9cf1c36 100644
--- a/Rakefile
+++ b/Rakefile
@@ -64,27 +64,7 @@ task :webex do
commit 'network/webex', package.version
end
-task 'rdiff-backup', [:version] do |_, arguments|
- raise 'Version is not specified.' unless arguments.key? :version
-
- package = Package.new 'system/rdiff-backup',
- version: arguments[:version],
- homepage: 'https://rdiff-backup.net/',
- requires: ['librsync']
-
- uri = "https://github.com/rdiff-backup/rdiff-backup/releases/download/v#{arguments[:version]}/rdiff-backup-#{arguments[:version]}.tar.gz"
- tarball = "system/rdiff-backup/rdiff-backup-#{arguments[:version]}.tar.gz"
- checksum = SlackBuilder.download_and_deploy URI(uri), tarball
- download = "https://download.dlackware.com/hosted-sources/rdiff-backup/rdiff-backup-#{arguments[:version]}.tar.gz"
-
- write_info package, downloads: [Download.new(download, checksum)]
- update_slackbuild_version 'system/rdiff-backup', arguments[:version]
-
- commit 'system/rdiff-backup', arguments[:version]
-end
-
AUTO_UPDATABLE = {
- 'rdiff-backup' => [SlackBuilder::GitHub.new('rdiff-backup', 'rdiff-backup', 'rdiff-backup')],
'dmd' => [SlackBuilder::LatestText.new('https://downloads.dlang.org/releases/LATEST')]
}.freeze
diff --git a/app/Main.hs b/app/Main.hs
index ec9f310..99be344 100644
--- a/app/Main.hs
+++ b/app/Main.hs
@@ -93,7 +93,8 @@ autoUpdatable =
, transform = Nothing
}
checkVersion x
- | Text.isPrefixOf "php-8.2." x = Text.stripPrefix "php-" x
+ | not $ Text.isInfixOf "RC" x
+ , Text.isPrefixOf "php-8.2." x = Text.stripPrefix "php-" x
| otherwise = Nothing
latest' = latestGitHub ghArguments checkVersion
template = Package.DownloadTemplate
@@ -127,6 +128,25 @@ autoUpdatable =
, name = "kitty"
, reupload = Just [RawCommand "go" ["mod", "vendor"]]
}
+ , Package
+ { latest =
+ let ghArguments = GhArguments
+ { owner = "rdiff-backup"
+ , name = "rdiff-backup"
+ , transform = Nothing
+ }
+ latest' = latestGitHub ghArguments $ Text.stripPrefix "v"
+ template = Package.DownloadTemplate
+ $ Package.StaticPlaceholder "https://github.com/rdiff-backup/rdiff-backup/releases/download/v"
+ :| Package.VersionPlaceholder
+ : Package.StaticPlaceholder "/rdiff-backup-"
+ : Package.VersionPlaceholder
+ : [Package.StaticPlaceholder ".tar.gz"]
+ in Package.Updater latest' template
+ , category = "system"
+ , name = "rdiff-backup"
+ , reupload = Just mempty
+ }
]
up2Date :: SlackBuilderT ()
@@ -227,8 +247,6 @@ main = do
where
executeCommand = \case
TextCommand textArguments -> latestText textArguments
- GhCommand ghArguments@GhArguments{ transform }
- -> latestGitHub ghArguments $ chooseTransformFunction transform
SlackBuildCommand packagePath version ->
updateSlackBuildVersion packagePath version >> pure Nothing
CommitCommand packagePath version ->
@@ -246,13 +264,3 @@ main = do
DownloadAndDeployCommand uri' tarball -> fmap (Text.pack . show)
<$> downloadAndDeploy uri' tarball
Up2DateCommand -> up2Date >> pure Nothing
- chooseTransformFunction (Just "php") = phpTransform
- chooseTransformFunction (Just "rdiff-backup") = Text.stripPrefix "v"
- chooseTransformFunction _ = stripPrefix "v"
- stripPrefix prefix string = Just
- $ fromMaybe string
- $ Text.stripPrefix prefix string
- phpTransform version
- | (majorPrefix, _patchVersion) <- Text.breakOnEnd "." version
- , majorPrefix == "php-8.2." = Just $ Text.drop (Text.length "php-") version
- | otherwise = Nothing
diff --git a/app/SlackBuilder/CommandLine.hs b/app/SlackBuilder/CommandLine.hs
index 8624cb8..1375b6e 100644
--- a/app/SlackBuilder/CommandLine.hs
+++ b/app/SlackBuilder/CommandLine.hs
@@ -16,12 +16,11 @@ import Options.Applicative
, info
, fullDesc
, subparser
- , command, optional
+ , command,
)
data SlackBuilderCommand
= TextCommand TextArguments
- | GhCommand GhArguments
| SlackBuildCommand Text Text
| CommitCommand Text Text
| ExistsCommand Text
@@ -49,19 +48,12 @@ newtype TextArguments = TextArguments Text
textArguments :: Parser TextArguments
textArguments = TextArguments <$> argument str (metavar "URL")
-ghArguments :: Parser GhArguments
-ghArguments = GhArguments
- <$> argument str (metavar "OWNER")
- <*> argument str (metavar "NAME")
- <*> optional (argument str (metavar "TRANSFORM"))
-
slackBuilderParser :: ParserInfo SlackBuilderCommand
slackBuilderParser = info slackBuilderCommand fullDesc
slackBuilderCommand :: Parser SlackBuilderCommand
slackBuilderCommand = subparser
$ command "text" (info (TextCommand <$> textArguments) mempty)
- <> command "github" (info (GhCommand <$> ghArguments) mempty)
<> command "slackbuild" (info slackBuildCommand mempty)
<> command "commit" (info commitCommand mempty)
<> command "exists" (info existsCommand mempty)
diff --git a/lib/up2date.rb b/lib/up2date.rb
index 5d63da3..c74dc90 100644
--- a/lib/up2date.rb
+++ b/lib/up2date.rb
@@ -20,21 +20,6 @@ module SlackBuilder
end
end
- # Reads the list fo tags from the GitHub API.
- class GitHub < Repository
- def initialize(owner, name, version_transform = nil)
- super()
-
- @owner = owner
- @name = name
- @version_transform = version_transform
- end
-
- def latest
- `./bin/slackbuilder github #{@owner} #{@name} #{@version_transform}`.strip
- end
- end
-
# Reads a remote LATEST file.
class LatestText < Repository
def initialize(latest_url)