Skip to content

Commit e082237

Browse files
committed
README: move Linux documentation into Linux platforms
This information is Linux specific, move it to the appropriate platform directory.
1 parent 028586a commit e082237

File tree

2 files changed

+98
-100
lines changed

2 files changed

+98
-100
lines changed

README.md

Lines changed: 0 additions & 99 deletions
Original file line numberDiff line numberDiff line change
@@ -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-
* Maintainer: [email protected]
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

15758
Before contributing, please read [our main guide](https://www.swift.org/contributing)

platforms/Linux/README.md

Lines changed: 98 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,100 @@
11
## Linux Packaging and Distribution
22

3-
Information from the main README specific to the Linux platform could be moved here.
3+
## Linux Packages (RPM/Deb)
4+
5+
Currently Swift on Linux is distributed via tarball and Docker, and
6+
we would like to start supporting RPM and Debs officially on swift.org.
7+
The goal is to provide a seamless install process for Swift on Linux by
8+
utilizing the platform’s native package manager (RPM/Deb).
9+
10+
11+
* Step 1. Develop native packages / installers for the distributions
12+
* Step 2. Offer the native packages / installers through swift.org
13+
* Support all officially supported Linux platforms
14+
* Code signed by swift.org certificate
15+
* Repository hosted on swift.org
16+
* Step 3. Offer the native packages / installer through official repositories
17+
for the various platforms
18+
* Work with official repositories to accept package specs
19+
* Deprecate swift.org packages / installer repository
20+
* Step 4. Deprecate swift.org Linux tarballs
21+
22+
### Package Info
23+
24+
* Package name: swiftlang
25+
* License: Apache 2.0
26+
* Maintainer: [email protected]
27+
* URL: https://swift.org
28+
* Description:
29+
```
30+
Swift is a general-purpose programming language built using
31+
a modern approach to safety, performance, and software design
32+
patterns.
33+
34+
The goal of the Swift project is to create the best available
35+
language for uses ranging from systems programming, to mobile
36+
and desktop apps, scaling up to cloud services. Most
37+
importantly, Swift is designed to make writing and maintaining
38+
correct programs easier for the developer.
39+
```
40+
41+
### RPM Naming Convention:
42+
43+
Package naming convention: `swiftlang-<VERSION>-<RELEASE>.<DIST>.<ARCH>.rpm`
44+
Package structure: `/repo/<OS>/releases/<OS_VERSION>/<ARCH>/`
45+
Repository configuration: `/repo/<OS>/releases/<OS_VERSION>/swiftlang.repo`
46+
47+
48+
#### Example
49+
50+
* **Package structure:**
51+
```
52+
/repo/centos/releases/8/x86_64/swiftlang-5.5.0-1.el8.x86_64.rpm
53+
/repo/centos/releases/8/aarch64/swiftlang-5.5.0-1.el8.aarch64.rpm
54+
```
55+
56+
* **Package URL:**
57+
https://download.swift.org/repo/centos/releases/8/aarch64/swiftlang-5.5.0-1.el8.aarch64.rpm
58+
59+
* **Repository configuration file URL:**
60+
https://download.swift.org/repo/centos/releases/8/swiftlang.repo
61+
62+
## Tasks
63+
64+
### RPM Package Manager (RPM)*
65+
66+
- [ ] [SR-15325](https://bugs.swift.org/browse/SR-15325) Create RPM spec file
67+
- [ ] [SR-15326](https://bugs.swift.org/browse/SR-15326) Setup CI job to build the rpm package
68+
- [ ] [SR-15327](https://bugs.swift.org/browse/SR-15327) Code sign rpm package with swift.org certificate
69+
- [ ] [SR-15328](https://bugs.swift.org/browse/SR-15328) Host the rpm package on swift.org
70+
- [ ] [SR-15329](https://bugs.swift.org/browse/SR-15329) Host the rpm repository on swift.org
71+
- [ ] [SR-15330](https://bugs.swift.org/browse/SR-15330) Verify the rpm package and repository
72+
- [ ] [SR-15331](https://bugs.swift.org/browse/SR-15331) Update swift.org download / install page
73+
- [ ] [SR-15332](https://bugs.swift.org/browse/SR-15332) Work with official repositories to accept package specs
74+
75+
*For each platform, we will start with CentOS 8.
76+
77+
### Debian Package (Deb)*
78+
79+
- [ ] [SR-15334](https://bugs.swift.org/browse/SR-15334) Create Debs control file
80+
- [ ] [SR-15335](https://bugs.swift.org/browse/SR-15335) Setup CI to build the deb package
81+
- [ ] [SR-15336](https://bugs.swift.org/browse/SR-15336) Code sign package with swift.org certificate
82+
- [ ] [SR-15337](https://bugs.swift.org/browse/SR-15337) Host the deb package on swift.org
83+
- [ ] [SR-15338](https://bugs.swift.org/browse/SR-15338) Host the deb repository on swift.org
84+
- [ ] [SR-15339](https://bugs.swift.org/browse/SR-15339) Verify the deb package and repository
85+
- [ ] [SR-15340](https://bugs.swift.org/browse/SR-15340) Update swift.org download / install page
86+
- [ ] [SR-15341](https://bugs.swift.org/browse/SR-15341) Work with official repositories to accept package control files
87+
88+
*For each platform, we will start with Ubuntu 20.04
89+
90+
## Open Questions
91+
92+
* Where should swiftlang be installed on the system?
93+
* Option 1: Diverge the install location between platform to best fit the platform requirements.
94+
* symlink the toolchain into /usr/ to avoid conflicting with llvm.org binaries.
95+
* Option 2: Install in /usr and rename llvm-project binaries (example: swift-lldb/lldb-swift ...)
96+
* [GitHub discussion](https://github.com/apple/swift-installer-scripts/pull/37#discussion_r726707320)
97+
* Should we support multiple swiftlang versions on the system?
98+
* Multiple packages:
99+
* swiftlang
100+
* swiftlang-runtime

0 commit comments

Comments
 (0)