@@ -53,105 +53,6 @@ swift-installer-scripts
5353 └ ...
5454~~~
5555
56- ## Linux Packages (RPM/Deb)
57-
58- Currently Swift on Linux is distributed via tarball and Docker, and
59- we would like to start supporting RPM and Debs officially on swift.org.
60- The goal is to provide a seamless install process for Swift on Linux by
61- utilizing the platform’s native package manager (RPM/Deb).
62-
63-
64- * Step 1. Develop native packages / installers for the distributions
65- * Step 2. Offer the native packages / installers through swift.org
66- * Support all officially supported Linux platforms
67- * Code signed by swift.org certificate
68- * Repository hosted on swift.org
69- * Step 3. Offer the native packages / installer through official repositories
70- for the various platforms
71- * Work with official repositories to accept package specs
72- * Deprecate swift.org packages / installer repository
73- * Step 4. Deprecate swift.org Linux tarballs
74-
75- ### Package Info
76-
77- * Package name: swiftlang
78- * License: Apache 2.0
79- 80- * URL: https://swift.org
81- * Description:
82- ```
83- Swift is a general-purpose programming language built using
84- a modern approach to safety, performance, and software design
85- patterns.
86-
87- The goal of the Swift project is to create the best available
88- language for uses ranging from systems programming, to mobile
89- and desktop apps, scaling up to cloud services. Most
90- importantly, Swift is designed to make writing and maintaining
91- correct programs easier for the developer.
92- ```
93-
94- ### RPM Naming Convention:
95-
96- Package naming convention: ` swiftlang-<VERSION>-<RELEASE>.<DIST>.<ARCH>.rpm `
97- Package structure: ` /repo/<OS>/releases/<OS_VERSION>/<ARCH>/ `
98- Repository configuration: ` /repo/<OS>/releases/<OS_VERSION>/swiftlang.repo `
99-
100-
101- #### Example
102-
103- * ** Package structure:**
104- ```
105- /repo/centos/releases/8/x86_64/swiftlang-5.5.0-1.el8.x86_64.rpm
106- /repo/centos/releases/8/aarch64/swiftlang-5.5.0-1.el8.aarch64.rpm
107- ```
108-
109- * ** Package URL:**
110- https://download.swift.org/repo/centos/releases/8/aarch64/swiftlang-5.5.0-1.el8.aarch64.rpm
111-
112- * ** Repository configuration file URL:**
113- https://download.swift.org/repo/centos/releases/8/swiftlang.repo
114-
115- ## Tasks
116-
117- ### RPM Package Manager (RPM)*
118-
119- - [ ] [ SR-15325] ( https://bugs.swift.org/browse/SR-15325 ) Create RPM spec file
120- - [ ] [ SR-15326] ( https://bugs.swift.org/browse/SR-15326 ) Setup CI job to build the rpm package
121- - [ ] [ SR-15327] ( https://bugs.swift.org/browse/SR-15327 ) Code sign rpm package with swift.org certificate
122- - [ ] [ SR-15328] ( https://bugs.swift.org/browse/SR-15328 ) Host the rpm package on swift.org
123- - [ ] [ SR-15329] ( https://bugs.swift.org/browse/SR-15329 ) Host the rpm repository on swift.org
124- - [ ] [ SR-15330] ( https://bugs.swift.org/browse/SR-15330 ) Verify the rpm package and repository
125- - [ ] [ SR-15331] ( https://bugs.swift.org/browse/SR-15331 ) Update swift.org download / install page
126- - [ ] [ SR-15332] ( https://bugs.swift.org/browse/SR-15332 ) Work with official repositories to accept package specs
127-
128- * For each platform, we will start with CentOS 8.
129-
130- ### Debian Package (Deb)*
131-
132- - [ ] [ SR-15334] ( https://bugs.swift.org/browse/SR-15334 ) Create Debs control file
133- - [ ] [ SR-15335] ( https://bugs.swift.org/browse/SR-15335 ) Setup CI to build the deb package
134- - [ ] [ SR-15336] ( https://bugs.swift.org/browse/SR-15336 ) Code sign package with swift.org certificate
135- - [ ] [ SR-15337] ( https://bugs.swift.org/browse/SR-15337 ) Host the deb package on swift.org
136- - [ ] [ SR-15338] ( https://bugs.swift.org/browse/SR-15338 ) Host the deb repository on swift.org
137- - [ ] [ SR-15339] ( https://bugs.swift.org/browse/SR-15339 ) Verify the deb package and repository
138- - [ ] [ SR-15340] ( https://bugs.swift.org/browse/SR-15340 ) Update swift.org download / install page
139- - [ ] [ SR-15341] ( https://bugs.swift.org/browse/SR-15341 ) Work with official repositories to accept package control files
140-
141- * For each platform, we will start with Ubuntu 20.04
142-
143- ## Open Questions
144-
145- * Where should swiftlang be installed on the system?
146- * Option 1: Diverge the install location between platform to best fit the platform requirements.
147- * symlink the toolchain into /usr/ to avoid conflicting with llvm.org binaries.
148- * Option 2: Install in /usr and rename llvm-project binaries (example: swift-lldb/lldb-swift ...)
149- * [GitHub discussion](https://github.com/apple/swift-installer-scripts/pull/37#discussion_r726707320)
150- * Should we support multiple swiftlang versions on the system?
151- * Multiple packages:
152- * swiftlang
153- * swiftlang-runtime
154-
15556## Contributing
15657
15758Before contributing, please read [ our main guide] ( https://www.swift.org/contributing )
0 commit comments