rdiff-backup: Migrated
This commit is contained in:
parent
5e161c3dad
commit
4105ffa91f
20
Rakefile
20
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
|
||||
|
||||
|
34
app/Main.hs
34
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
|
||||
|
@ -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)
|
||||
|
@ -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)
|
||||
|
Loading…
Reference in New Issue
Block a user