deb_version 1.0.0 → 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: da683bbad0561bf83d9e53fb06c0c15b4e91f7a0d965a9896f9b2488b0aa075a
4
- data.tar.gz: '061307976f05755c2a8aa14f3f25a9138b944f1385e30b85d30a4eea4f8edc90'
3
+ metadata.gz: 888af66ba17b645ae1ef3a98bbadf772a7486c59ccb2c6fb4eb7ca8b4a18449c
4
+ data.tar.gz: 7a656c657e4189e79f06ea9712d1be5584d42526931efc72d912bc5e36d9938d
5
5
  SHA512:
6
- metadata.gz: e1ce022f6a242e528c54c818dee4689c49881f32457d0113804327f749dffb91a78b1f55e160e3fb2f750f90b017dd25652af29da59761626a47adfb0a939800
7
- data.tar.gz: 567f056f47116d4eb68dadff2038041a5c9df017a541ccc0811dbd3be5f250876074aa8b49e7da497656a1de5c138bfbd5e1f6b6d33b2a9fceaf5a3a3f2dbaa3
6
+ metadata.gz: 223bab3293c88121f74f3aa95c5fb489d955131c63548c9d140faabcce94ab1ebcadca37203648da562d21ff5c72992a8aa4a575fbb39f4dded6039303f73220
7
+ data.tar.gz: b5a4960c5205ae620092a5523c04a4f0ae8ac1e2b96ceba7225632d9d05e262d624ff98d5d7583b6147b2fcc554cd7aa2780ff0dbed25cc91c3e3f0d8e47c8d6
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- deb_version (0.1.0)
4
+ deb_version (1.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/HACKING.md ADDED
@@ -0,0 +1,37 @@
1
+ # Development
2
+
3
+ The all-debian-versions.lst file is a sorted version of the file
4
+ from https://github.com/FauxFaux/deb-version/blob/42c0e61f62b6776fa1bd77b0da3327fa31dcc1c4/all-debian-versions.lst. The sorting was done using the following script:
5
+
6
+ ```
7
+ import sys
8
+ from functools import cmp_to_key
9
+ import apt_pkg
10
+ apt_pkg.init_system()
11
+ def compare_versions(version1, version2):
12
+ # Implement your comparison logic here
13
+ # Return -1 if version1 < version2
14
+ # Return 0 if version1 == version2
15
+ # Return 1 if version1 > version2
16
+ # You can use apt_pkg.version_compare or any other comparison logic
17
+
18
+ # Example comparison logic using apt_pkg.version_compare
19
+ return apt_pkg.version_compare(version1, version2)
20
+
21
+ def sort_debian_package_numbers(package_numbers):
22
+ # Sort the package numbers using cmp_to_key and compare_versions
23
+ return sorted(package_numbers, key=cmp_to_key(compare_versions))
24
+
25
+ if __name__ == "__main__":
26
+ # Read package numbers from stdin
27
+ package_numbers = [line.strip() for line in sys.stdin]
28
+
29
+ # Sort the package numbers
30
+ sorted_package_numbers = sort_debian_package_numbers(package_numbers)
31
+
32
+ # Write the sorted list to stdout
33
+ for package_number in sorted_package_numbers:
34
+ sys.stdout.write(package_number + '\n')
35
+ ```
36
+
37
+ Keeping a sorted version in the repository lets us avoid the libapt dependency.
data/README.md CHANGED
@@ -34,6 +34,8 @@ Run `bundle exec rake rubocop` to check for style violations.
34
34
 
35
35
  Run `bundle exec rake test` to run tests.
36
36
 
37
+ See [HACKING.md](HACKING.md) for further details.
38
+
37
39
  ## Contributing
38
40
 
39
41
  Bug reports and pull requests are welcome on GitHub at https://github.com/captn3m0/ruby-deb-version. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [code of conduct](https://github.com/captn3m0/ruby-deb-version/blob/main/CODE_OF_CONDUCT.md).
@@ -31,6 +31,14 @@ class DebVersion
31
31
  [@epoch, @upstream_version, @debian_revision]
32
32
  end
33
33
 
34
+ def to_s
35
+ result = ""
36
+ result << "#{@epoch}:" if @epoch != 0
37
+ result << @upstream_version
38
+ result << "-#{@debian_revision}" unless @debian_revision.empty?
39
+ result
40
+ end
41
+
34
42
  # Internal method to get the largest digit prefix
35
43
  def get_digit_prefix(characters)
36
44
  value = 0
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class DebVersion
4
- VERSION = "1.0.0"
4
+ VERSION = "1.0.1"
5
5
  end
data/lib/deb_version.rb CHANGED
@@ -14,7 +14,7 @@ class DebVersion
14
14
 
15
15
  # Sorted list of characters used by Debian Version sort.
16
16
  # see https://www.debian.org/doc/debian-policy/ch-controlfields.html#version
17
- SORT_LIST = ["~", ""] + ("A"..."Z").to_a + ("a"..."z").to_a + PUNCTUATION
17
+ SORT_LIST = ["~", ""] + ("A".."Z").to_a + ("a".."z").to_a + PUNCTUATION
18
18
 
19
19
  mapping = {}
20
20
  SORT_LIST.each_with_index do |char, index|
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: deb_version
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nemo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-05-25 00:00:00.000000000 Z
11
+ date: 2023-05-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: minitest
@@ -92,6 +92,7 @@ files:
92
92
  - CODE_OF_CONDUCT.md
93
93
  - Gemfile
94
94
  - Gemfile.lock
95
+ - HACKING.md
95
96
  - LICENSE.txt
96
97
  - README.md
97
98
  - Rakefile