From 89f7fac7ce4249a883a697167d80fa0f00029761 Mon Sep 17 00:00:00 2001 From: Ryan Egesdahl Date: Thu, 6 May 2021 15:52:42 -0700 Subject: [PATCH 1/8] MONGOSH-692 Rename package to mongodb-mongosh The RPM and Debian packages are renamed to mongodb-mongosh to fit a common Linux package naming convention which allows users to locate software more easily. A Provides: tag is also added to the packages to provide a stable naming alias in case we ever decide to rename packages again. --- config/build.conf.js | 3 ++- .../deb-template/{mongosh => mongodb-mongosh}/DEBIAN/control | 1 + .../rpm-template/SPECS/{mongosh.spec => mongodb-mongosh.spec} | 1 + 3 files changed, 4 insertions(+), 1 deletion(-) rename packaging/deb-template/{mongosh => mongodb-mongosh}/DEBIAN/control (90%) rename packaging/rpm-template/SPECS/{mongosh.spec => mongodb-mongosh.spec} (95%) diff --git a/config/build.conf.js b/config/build.conf.js index 64b40c976d..278da891b7 100644 --- a/config/build.conf.js +++ b/config/build.conf.js @@ -143,7 +143,8 @@ module.exports = { } ], metadata: { - name: 'mongosh', + name: 'mongodb-mongosh', + providesName: 'mongodb-shell', fullName: 'MongoDB Shell', version: CLI_REPL_PACKAGE_JSON.version, description: CLI_REPL_PACKAGE_JSON.description, diff --git a/packaging/deb-template/mongosh/DEBIAN/control b/packaging/deb-template/mongodb-mongosh/DEBIAN/control similarity index 90% rename from packaging/deb-template/mongosh/DEBIAN/control rename to packaging/deb-template/mongodb-mongosh/DEBIAN/control index eda057c0af..fed2d63214 100644 --- a/packaging/deb-template/mongosh/DEBIAN/control +++ b/packaging/deb-template/mongodb-mongosh/DEBIAN/control @@ -1,4 +1,5 @@ Package: {{name}} +Provides: {{providesName}} Version: {{version}} Section: utils Priority: optional diff --git a/packaging/rpm-template/SPECS/mongosh.spec b/packaging/rpm-template/SPECS/mongodb-mongosh.spec similarity index 95% rename from packaging/rpm-template/SPECS/mongosh.spec rename to packaging/rpm-template/SPECS/mongodb-mongosh.spec index 319ed58dd3..5062ac824f 100644 --- a/packaging/rpm-template/SPECS/mongosh.spec +++ b/packaging/rpm-template/SPECS/mongodb-mongosh.spec @@ -6,6 +6,7 @@ %define _libexecdir %{_exec_prefix}/libexec Name: {{name}} +Provides: {{providesName}} Version: {{version}} Release: 1%{?dist} Group: Development/Tools From 83e72dcc19394f103bc02be0758ebb2aedcbdde8 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 7 May 2021 14:31:46 +0200 Subject: [PATCH 2/8] fixup --- config/build.conf.js | 4 +++- packages/build/src/barque.spec.ts | 14 +++++++------- packages/build/src/download-center/config.spec.ts | 4 ++-- packages/build/src/download-center/config.ts | 4 ++-- .../build/src/packaging/package/create-package.ts | 2 +- .../src/packaging/package/get-package-file.spec.ts | 14 +++++++------- .../src/packaging/package/get-package-file.ts | 8 +++++--- .../src/packaging/package/package-information.ts | 2 ++ packages/build/src/run-draft.ts | 2 +- packages/build/src/run-publish.spec.ts | 6 ++++-- packages/build/src/run-publish.ts | 14 ++++++++++---- .../deb-template/mongodb-mongosh/DEBIAN/control | 2 +- packaging/rpm-template/SPECS/mongodb-mongosh.spec | 2 +- 13 files changed, 46 insertions(+), 32 deletions(-) diff --git a/config/build.conf.js b/config/build.conf.js index 278da891b7..5f238113da 100644 --- a/config/build.conf.js +++ b/config/build.conf.js @@ -143,7 +143,9 @@ module.exports = { } ], metadata: { - name: 'mongodb-mongosh', + name: 'mongosh', + rpmName: 'mongodb-mongosh', + debName: 'mongodb-mongosh', providesName: 'mongodb-shell', fullName: 'MongoDB Shell', version: CLI_REPL_PACKAGE_JSON.version, diff --git a/packages/build/src/barque.spec.ts b/packages/build/src/barque.spec.ts index e0be18248d..06a1633d86 100644 --- a/packages/build/src/barque.spec.ts +++ b/packages/build/src/barque.spec.ts @@ -53,18 +53,18 @@ describe('Barque', () => { [ { variant: BuildVariant.Debian, - url: 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongosh_0.1.0_amd64.deb', + url: 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongodb-mongosh_0.1.0_amd64.deb', publishedUrls: [ - `${Barque.PPA_REPO_BASE_URL}/apt/debian/dists/buster/mongodb-org/4.4/main/binary-amd64/mongosh_0.1.0_amd64.deb`, - `${Barque.PPA_REPO_BASE_URL}/apt/ubuntu/dists/bionic/mongodb-org/4.4/multiverse/binary-amd64/mongosh_0.1.0_amd64.deb`, - `${Barque.PPA_REPO_BASE_URL}/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-amd64/mongosh_0.1.0_amd64.deb`, + `${Barque.PPA_REPO_BASE_URL}/apt/debian/dists/buster/mongodb-org/4.4/main/binary-amd64/mongodb-mongosh_0.1.0_amd64.deb`, + `${Barque.PPA_REPO_BASE_URL}/apt/ubuntu/dists/bionic/mongodb-org/4.4/multiverse/binary-amd64/mongodb-mongosh_0.1.0_amd64.deb`, + `${Barque.PPA_REPO_BASE_URL}/apt/ubuntu/dists/focal/mongodb-org/4.4/multiverse/binary-amd64/mongodb-mongosh_0.1.0_amd64.deb`, ] }, { variant: BuildVariant.Redhat, - url: 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongosh-0.1.0-x86_64.rpm', + url: 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongodb-mongosh-0.1.0-x86_64.rpm', publishedUrls: [ - `${Barque.PPA_REPO_BASE_URL}/yum/redhat/8/mongodb-org/4.4/x86_64/RPMS/mongosh-0.1.0-x86_64.rpm`, + `${Barque.PPA_REPO_BASE_URL}/yum/redhat/8/mongodb-org/4.4/x86_64/RPMS/mongodb-mongosh-0.1.0-x86_64.rpm`, ] } ].forEach(({ variant, url, publishedUrls }) => { @@ -88,7 +88,7 @@ describe('Barque', () => { barque.createCuratorDir = sinon.stub().returns(Promise.resolve('./')); barque.extractLatestCurator = sinon.stub().returns(Promise.resolve(true)); - const debUrl = 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongosh_0.1.0_amd64.deb'; + const debUrl = 'https://s3.amazonaws.com/mciuploads/mongosh/5ed7ee5d8683818eb28d9d3b5c65837cde4a08f5/mongodb-mongosh_0.1.0_amd64.deb'; try { await barque.releaseToBarque(BuildVariant.Debian, debUrl); diff --git a/packages/build/src/download-center/config.spec.ts b/packages/build/src/download-center/config.spec.ts index 5be41389f3..33891c29c1 100644 --- a/packages/build/src/download-center/config.spec.ts +++ b/packages/build/src/download-center/config.spec.ts @@ -44,14 +44,14 @@ describe('DownloadCenter config', () => { const [version] = config.versions; const platforms = version.platform.filter(p => p.os === 'rhel'); expect(platforms).to.have.length(1); - expect(platforms[0].download_link).to.include('mongosh-1.2.2-x86_64.rpm'); + expect(platforms[0].download_link).to.include('mongodb-mongosh-1.2.2-x86_64.rpm'); }); it('has an artifact for debian', () => { const [version] = config.versions; const platforms = version.platform.filter(p => p.os === 'debian'); expect(platforms).to.have.length(1); - expect(platforms[0].download_link).to.include('mongosh_1.2.2_amd64.deb'); + expect(platforms[0].download_link).to.include('mongodb-mongosh_1.2.2_amd64.deb'); }); }); diff --git a/packages/build/src/download-center/config.ts b/packages/build/src/download-center/config.ts index 570c0f2230..2e7459eeff 100644 --- a/packages/build/src/download-center/config.ts +++ b/packages/build/src/download-center/config.ts @@ -48,13 +48,13 @@ export function createDownloadCenterConfig(version: string): DownloadCenterConfi 'arch': 'x64', 'os': 'debian', 'name': 'Debian 64-bit', - 'download_link': `https://downloads.mongodb.com/compass/mongosh_${version}_amd64.deb` + 'download_link': `https://downloads.mongodb.com/compass/mongodb-mongosh_${version}_amd64.deb` }, { 'arch': 'x64', 'os': 'rhel', 'name': 'Redhat / CentOS / SUSE / Amazon Linux 64-bit', - 'download_link': `https://downloads.mongodb.com/compass/mongosh-${version}-x86_64.rpm` + 'download_link': `https://downloads.mongodb.com/compass/mongodb-mongosh-${version}-x86_64.rpm` } ] } diff --git a/packages/build/src/packaging/package/create-package.ts b/packages/build/src/packaging/package/create-package.ts index bd00cf5375..7d73e4ec20 100644 --- a/packages/build/src/packaging/package/create-package.ts +++ b/packages/build/src/packaging/package/create-package.ts @@ -21,7 +21,7 @@ export async function createPackage( createMsiPackage: typeof createMsiPackageFn = createMsiPackageFn, createZipPackage: typeof createZipPackageFn = createZipPackageFn ): Promise { - const tarballFile = getPackageFile(buildVariant, packageInformation.metadata.version, packageInformation.metadata.name); + const tarballFile = getPackageFile(buildVariant, packageInformation); const fullTarballFilePath = path.join(outputDir, tarballFile.path); console.info('mongosh: gzipping:', fullTarballFilePath); diff --git a/packages/build/src/packaging/package/get-package-file.spec.ts b/packages/build/src/packaging/package/get-package-file.spec.ts index 1162ebb79e..f553c1f36e 100644 --- a/packages/build/src/packaging/package/get-package-file.spec.ts +++ b/packages/build/src/packaging/package/get-package-file.spec.ts @@ -6,7 +6,7 @@ describe('tarball getPackageFile', () => { context('when the build variant is windows', () => { it('returns the windows tarball name', () => { expect( - getPackageFile(BuildVariant.Windows, '1.0.0', 'mongosh') + getPackageFile(BuildVariant.Windows, { metadata: { version: '1.0.0', name: 'mongosh' } } as any) ).to.deep.equal({ path: 'mongosh-1.0.0-win32.zip', contentType: 'application/zip' @@ -17,7 +17,7 @@ describe('tarball getPackageFile', () => { context('when the build variant is macos', () => { it('returns the tarball details', () => { expect( - getPackageFile(BuildVariant.MacOs, '1.0.0', 'mongosh') + getPackageFile(BuildVariant.MacOs, { metadata: { version: '1.0.0', name: 'mongosh' } } as any) ).to.deep.equal({ path: 'mongosh-1.0.0-darwin.zip', contentType: 'application/zip' @@ -28,7 +28,7 @@ describe('tarball getPackageFile', () => { context('when the build variant is linux', () => { it('returns the tarball details', () => { expect( - getPackageFile(BuildVariant.Linux, '1.0.0', 'mongosh') + getPackageFile(BuildVariant.Linux, { metadata: { version: '1.0.0', name: 'mongosh' } } as any) ).to.deep.equal({ path: 'mongosh-1.0.0-linux.tgz', contentType: 'application/gzip' @@ -39,9 +39,9 @@ describe('tarball getPackageFile', () => { context('when the build variant is debian', () => { it('returns the tarball details', () => { expect( - getPackageFile(BuildVariant.Debian, '1.0.0', 'mongosh') + getPackageFile(BuildVariant.Debian, { metadata: { version: '1.0.0', debName: 'mongodb-mongosh' } } as any) ).to.deep.equal({ - path: 'mongosh_1.0.0_amd64.deb', + path: 'mongodb-mongosh_1.0.0_amd64.deb', contentType: 'application/vnd.debian.binary-package' }); }); @@ -50,9 +50,9 @@ describe('tarball getPackageFile', () => { context('when the build variant is rhel', () => { it('returns the tarball details', () => { expect( - getPackageFile(BuildVariant.Redhat, '1.0.0', 'mongosh') + getPackageFile(BuildVariant.Redhat, { metadata: { version: '1.0.0', rpmName: 'mongodb-mongosh' } } as any) ).to.deep.equal({ - path: 'mongosh-1.0.0-x86_64.rpm', + path: 'mongodb-mongosh-1.0.0-x86_64.rpm', contentType: 'application/x-rpm' }); }); diff --git a/packages/build/src/packaging/package/get-package-file.ts b/packages/build/src/packaging/package/get-package-file.ts index b71c559d43..6daa3af585 100644 --- a/packages/build/src/packaging/package/get-package-file.ts +++ b/packages/build/src/packaging/package/get-package-file.ts @@ -1,11 +1,13 @@ import { BuildVariant } from '../../config'; +import type { PackageInformation } from './package-information'; export interface PackageFile { path: string; contentType: string; } -export function getPackageFile(buildVariant: BuildVariant, version: string, name: string): PackageFile { +export function getPackageFile(buildVariant: BuildVariant, packageInformation: PackageInformation): PackageFile { + const { version, name, debName, rpmName } = packageInformation.metadata; switch (buildVariant) { case BuildVariant.Linux: return { @@ -14,7 +16,7 @@ export function getPackageFile(buildVariant: BuildVariant, version: string, name }; case BuildVariant.Redhat: return { - path: `${name}-${version}-x86_64.rpm`, + path: `${rpmName}-${version}-x86_64.rpm`, contentType: 'application/x-rpm' }; case BuildVariant.Debian: @@ -22,7 +24,7 @@ export function getPackageFile(buildVariant: BuildVariant, version: string, name // name: https://www.debian.org/doc/manuals/debian-faq/pkg-basics.en.html // sometimes there is also revision number, but we can add that later. return { - path: `${name}_${version}_amd64.deb`, + path: `${debName}_${version}_amd64.deb`, contentType: 'application/vnd.debian.binary-package' }; case BuildVariant.MacOs: diff --git a/packages/build/src/packaging/package/package-information.ts b/packages/build/src/packaging/package/package-information.ts index c4fb2091c0..e998f41bc4 100644 --- a/packages/build/src/packaging/package/package-information.ts +++ b/packages/build/src/packaging/package/package-information.ts @@ -19,6 +19,8 @@ export interface PackageInformation { otherDocFilePaths: DocumentationFile[]; metadata: { name: string; + debName: string; + rpmName: string; version: string; description: string; homepage: string; diff --git a/packages/build/src/run-draft.ts b/packages/build/src/run-draft.ts index 0cb467c9e5..b18d17a3bb 100644 --- a/packages/build/src/run-draft.ts +++ b/packages/build/src/run-draft.ts @@ -32,7 +32,7 @@ export async function runDraft( await fs.mkdir(tmpDir, { recursive: true }); for await (const variant of ALL_BUILD_VARIANTS) { - const tarballFile = getPackageFile(variant, config.packageInformation.metadata.version, config.packageInformation.metadata.name); + const tarballFile = getPackageFile(variant, config.packageInformation); console.info(`mongosh: processing artifact for ${variant} - ${tarballFile.path}`); const downloadedArtifact = await downloadArtifactFromEvergreen( diff --git a/packages/build/src/run-publish.spec.ts b/packages/build/src/run-publish.spec.ts index 93b6c7613b..4e358f494d 100644 --- a/packages/build/src/run-publish.spec.ts +++ b/packages/build/src/run-publish.spec.ts @@ -63,6 +63,8 @@ describe('publish', () => { packageInformation: { metadata: { name: 'mongosh', + rpmName: 'mongodb-mongosh', + debName: 'mongodb-mongosh', version: 'packageVersion', description: 'The best shell you ever had.', homepage: 'https://mongodb.com', @@ -179,11 +181,11 @@ describe('publish', () => { expect(barque.releaseToBarque).to.have.been.callCount(2); expect(barque.releaseToBarque).to.have.been.calledWith( BuildVariant.Redhat, - 'https://s3.amazonaws.com/mciuploads/project/v0.7.0-draft.42/mongosh-0.7.0-x86_64.rpm' + 'https://s3.amazonaws.com/mciuploads/project/v0.7.0-draft.42/mongodb-mongosh-0.7.0-x86_64.rpm' ); expect(barque.releaseToBarque).to.have.been.calledWith( BuildVariant.Debian, - 'https://s3.amazonaws.com/mciuploads/project/v0.7.0-draft.42/mongosh_0.7.0_amd64.deb' + 'https://s3.amazonaws.com/mciuploads/project/v0.7.0-draft.42/mongodb-mongosh_0.7.0_amd64.deb' ); expect(barque.waitUntilPackagesAreAvailable).to.have.been.called; }); diff --git a/packages/build/src/run-publish.ts b/packages/build/src/run-publish.ts index 51052eaa99..34422ef324 100644 --- a/packages/build/src/run-publish.ts +++ b/packages/build/src/run-publish.ts @@ -11,7 +11,7 @@ import { getArtifactUrl as getArtifactUrlFn } from './evergreen'; import { GithubRepo } from './github-repo'; import type { publishToHomebrew as publishToHomebrewType } from './homebrew'; import type { publishNpmPackages as publishNpmPackagesType } from './npm-packages'; -import { getPackageFile } from './packaging'; +import { PackageInformation, getPackageFile } from './packaging'; export async function runPublish( config: Config, @@ -51,7 +51,7 @@ export async function runPublish( config.project as string, releaseVersion, latestDraftTag.name, - packageName, + config.packageInformation as PackageInformation, getEvergreenArtifactUrl ); @@ -84,7 +84,7 @@ async function publishArtifactsToBarque( project: string, releaseVersion: string, mostRecentDraftTag: string, - packageName: string, + packageInformation: PackageInformation, getEvergreenArtifactUrl: typeof getArtifactUrlFn ): Promise { const variantsForBarque = [ @@ -94,7 +94,13 @@ async function publishArtifactsToBarque( const publishedPackages: string[] = []; for await (const variant of variantsForBarque) { - const packageFile = getPackageFile(variant, releaseVersion, packageName); + const packageFile = getPackageFile(variant, { + ...packageInformation, + metadata: { + ...packageInformation.metadata, + version: releaseVersion + } + }); const packageUrl = getEvergreenArtifactUrl(project, mostRecentDraftTag, packageFile.path); console.info(`mongosh: Publishing ${variant} artifact to barque ${packageUrl}`); const packageUrls = await barque.releaseToBarque(variant, packageUrl); diff --git a/packaging/deb-template/mongodb-mongosh/DEBIAN/control b/packaging/deb-template/mongodb-mongosh/DEBIAN/control index fed2d63214..fde6b800fb 100644 --- a/packaging/deb-template/mongodb-mongosh/DEBIAN/control +++ b/packaging/deb-template/mongodb-mongosh/DEBIAN/control @@ -1,4 +1,4 @@ -Package: {{name}} +Package: {{debName}} Provides: {{providesName}} Version: {{version}} Section: utils diff --git a/packaging/rpm-template/SPECS/mongodb-mongosh.spec b/packaging/rpm-template/SPECS/mongodb-mongosh.spec index 5062ac824f..2a3ebf7860 100644 --- a/packaging/rpm-template/SPECS/mongodb-mongosh.spec +++ b/packaging/rpm-template/SPECS/mongodb-mongosh.spec @@ -5,7 +5,7 @@ %undefine _libexecdir %define _libexecdir %{_exec_prefix}/libexec -Name: {{name}} +Name: {{rpmName}} Provides: {{providesName}} Version: {{version}} Release: 1%{?dist} From 2184241b7beae4db421cc14c5f44a891ef85b650 Mon Sep 17 00:00:00 2001 From: Ryan Egesdahl Date: Fri, 7 May 2021 08:59:42 -0700 Subject: [PATCH 3/8] Update the Provides tag to specify a version string --- config/build.conf.js | 1 + packaging/deb-template/mongodb-mongosh/DEBIAN/control | 2 +- packaging/rpm-template/SPECS/mongodb-mongosh.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/config/build.conf.js b/config/build.conf.js index 5f238113da..9142f10985 100644 --- a/config/build.conf.js +++ b/config/build.conf.js @@ -147,6 +147,7 @@ module.exports = { rpmName: 'mongodb-mongosh', debName: 'mongodb-mongosh', providesName: 'mongodb-shell', + providesVersion: '2.0', fullName: 'MongoDB Shell', version: CLI_REPL_PACKAGE_JSON.version, description: CLI_REPL_PACKAGE_JSON.description, diff --git a/packaging/deb-template/mongodb-mongosh/DEBIAN/control b/packaging/deb-template/mongodb-mongosh/DEBIAN/control index fde6b800fb..4a38fb4a5c 100644 --- a/packaging/deb-template/mongodb-mongosh/DEBIAN/control +++ b/packaging/deb-template/mongodb-mongosh/DEBIAN/control @@ -1,5 +1,5 @@ Package: {{debName}} -Provides: {{providesName}} +Provides: {{providesName}} (= {{providesVersion}}) Version: {{version}} Section: utils Priority: optional diff --git a/packaging/rpm-template/SPECS/mongodb-mongosh.spec b/packaging/rpm-template/SPECS/mongodb-mongosh.spec index 2a3ebf7860..7e78adf86b 100644 --- a/packaging/rpm-template/SPECS/mongodb-mongosh.spec +++ b/packaging/rpm-template/SPECS/mongodb-mongosh.spec @@ -6,7 +6,7 @@ %define _libexecdir %{_exec_prefix}/libexec Name: {{rpmName}} -Provides: {{providesName}} +Provides: {{providesName}} = {{providesVersion}} Version: {{version}} Release: 1%{?dist} Group: Development/Tools From 4d03ef3ea1ea32239c6550b3a40483a419198799 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 7 May 2021 18:16:13 +0200 Subject: [PATCH 4/8] fixup --- packages/build/src/packaging/package/debian.ts | 2 +- packages/build/src/packaging/package/redhat.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/build/src/packaging/package/debian.ts b/packages/build/src/packaging/package/debian.ts index e21d859732..71473e318a 100644 --- a/packages/build/src/packaging/package/debian.ts +++ b/packages/build/src/packaging/package/debian.ts @@ -43,7 +43,7 @@ export async function createDebianPackage( // Create the package. await execFile('dpkg', [ - '--build', path.join(dir, pkg.metadata.name) + '--build', path.join(dir, pkg.metadata.debName) ], { cwd: path.dirname(dir) }); diff --git a/packages/build/src/packaging/package/redhat.ts b/packages/build/src/packaging/package/redhat.ts index ec3cfab981..55d4fb9509 100644 --- a/packages/build/src/packaging/package/redhat.ts +++ b/packages/build/src/packaging/package/redhat.ts @@ -57,7 +57,7 @@ export async function createRedhatPackage( // Create the package. const arch = 'x86_64'; await execFile('rpmbuild', [ - '-bb', path.join(dir, 'SPECS', `${pkg.metadata.name}.spec`), + '-bb', path.join(dir, 'SPECS', `${pkg.metadata.rpmName}.spec`), '--target', arch, '--define', `_topdir ${dir}` ], { From f595b012f05c403a3d4c4d1a1069d199a6524544 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 7 May 2021 19:11:47 +0200 Subject: [PATCH 5/8] fixup --- packages/build/test/fixtures/pkgconf.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/build/test/fixtures/pkgconf.js b/packages/build/test/fixtures/pkgconf.js index ca0210e7fa..e2c6b0d5a8 100644 --- a/packages/build/test/fixtures/pkgconf.js +++ b/packages/build/test/fixtures/pkgconf.js @@ -38,6 +38,8 @@ module.exports = { homepage: 'https://example.org', maintainer: 'Somebody ', name: 'foobar', + debName: 'foobar', + rpmName: 'foobar', manufacturer: 'Some Random Company Inc.' }, debTemplateDir: path.resolve(__dirname, 'deb-template'), From f78423b2c356c06b35d45d1bb9ba98b67c57a0b8 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 7 May 2021 20:06:17 +0200 Subject: [PATCH 6/8] fixup --- packages/build/src/packaging/package/debian.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/build/src/packaging/package/debian.ts b/packages/build/src/packaging/package/debian.ts index 71473e318a..d12fdd0cab 100644 --- a/packages/build/src/packaging/package/debian.ts +++ b/packages/build/src/packaging/package/debian.ts @@ -48,7 +48,7 @@ export async function createDebianPackage( cwd: path.dirname(dir) }); - await fs.rename(path.join(dir, `${pkg.metadata.name}.deb`), outFile); + await fs.rename(path.join(dir, `${pkg.metadata.debName}.deb`), outFile); await promisify(rimraf)(dir); } From fe8f03e5f6aa800f909d6990cee1fc18e8f98d4e Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Fri, 7 May 2021 23:42:06 +0200 Subject: [PATCH 7/8] fixup: adjust docker scripts --- scripts/docker/centos7-rpm.Dockerfile | 2 +- scripts/docker/centos8-rpm.Dockerfile | 2 +- scripts/docker/ubuntu16.04-deb.Dockerfile | 2 +- scripts/docker/ubuntu18.04-deb.Dockerfile | 2 +- scripts/docker/ubuntu20.04-deb.Dockerfile | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/scripts/docker/centos7-rpm.Dockerfile b/scripts/docker/centos7-rpm.Dockerfile index 0d63227c66..4e380e7918 100644 --- a/scripts/docker/centos7-rpm.Dockerfile +++ b/scripts/docker/centos7-rpm.Dockerfile @@ -3,5 +3,5 @@ FROM centos:7 ARG artifact_url="" ADD ${artifact_url} /tmp RUN yum repolist -RUN yum install -y /tmp/mongosh-*-x86_64.rpm +RUN yum install -y /tmp/*mongosh-*-x86_64.rpm ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/centos8-rpm.Dockerfile b/scripts/docker/centos8-rpm.Dockerfile index 62be1104b0..1bb4495226 100644 --- a/scripts/docker/centos8-rpm.Dockerfile +++ b/scripts/docker/centos8-rpm.Dockerfile @@ -3,5 +3,5 @@ FROM centos:8 ARG artifact_url="" ADD ${artifact_url} /tmp RUN yum repolist -RUN yum install -y /tmp/mongosh-*-x86_64.rpm +RUN yum install -y /tmp/*mongosh-*-x86_64.rpm ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu16.04-deb.Dockerfile b/scripts/docker/ubuntu16.04-deb.Dockerfile index f2f1ae8efc..7787a556ed 100644 --- a/scripts/docker/ubuntu16.04-deb.Dockerfile +++ b/scripts/docker/ubuntu16.04-deb.Dockerfile @@ -3,6 +3,6 @@ FROM ubuntu:16.04 ARG artifact_url="" ADD ${artifact_url} /tmp RUN apt-get update -RUN apt-get install -y /tmp/mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh_*_amd64.deb RUN /usr/bin/mongosh --version ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu18.04-deb.Dockerfile b/scripts/docker/ubuntu18.04-deb.Dockerfile index dd15ef38be..c7bda1f2df 100644 --- a/scripts/docker/ubuntu18.04-deb.Dockerfile +++ b/scripts/docker/ubuntu18.04-deb.Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:18.04 ARG artifact_url="" ADD ${artifact_url} /tmp RUN apt-get update -RUN apt-get install -y /tmp/mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh_*_amd64.deb RUN /usr/bin/mongosh --version RUN /usr/libexec/mongocryptd-mongosh --version ENTRYPOINT [ "mongosh" ] diff --git a/scripts/docker/ubuntu20.04-deb.Dockerfile b/scripts/docker/ubuntu20.04-deb.Dockerfile index 7a0000d5c7..7a7fc5486a 100644 --- a/scripts/docker/ubuntu20.04-deb.Dockerfile +++ b/scripts/docker/ubuntu20.04-deb.Dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:20.04 ARG artifact_url="" ADD ${artifact_url} /tmp RUN apt-get update -RUN apt-get install -y /tmp/mongosh_*_amd64.deb +RUN apt-get install -y /tmp/*mongosh_*_amd64.deb RUN /usr/bin/mongosh --version RUN /usr/libexec/mongocryptd-mongosh --version ENTRYPOINT [ "mongosh" ] From 0a56455e2d2d00cb85607612b4795994576e2518 Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Mon, 10 May 2021 11:34:39 +0200 Subject: [PATCH 8/8] fixup (this should work for real) --- packages/build/src/packaging/package/debian.ts | 4 ++-- packages/build/src/packaging/package/redhat.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/build/src/packaging/package/debian.ts b/packages/build/src/packaging/package/debian.ts index d12fdd0cab..dc58271617 100644 --- a/packages/build/src/packaging/package/debian.ts +++ b/packages/build/src/packaging/package/debian.ts @@ -27,7 +27,7 @@ export async function createDebianPackage( ...pkg.binaries.map(({ license }) => license) ]; // Put documentation files in /usr/share/doc/. - const docdir = path.join(dir, pkg.metadata.name, 'usr', 'share', 'doc', pkg.metadata.name); + const docdir = path.join(dir, pkg.metadata.debName, 'usr', 'share', 'doc', pkg.metadata.debName); await fs.mkdir(docdir, { recursive: true }); for (const { sourceFilePath, packagedFilePath } of docFiles) { await fs.copyFile(sourceFilePath, path.join(docdir, packagedFilePath), COPYFILE_FICLONE); @@ -36,7 +36,7 @@ export async function createDebianPackage( // https://www.debian.org/doc/debian-policy/ch-archive.html#s-pkgcopyright await fs.writeFile(path.join(docdir, 'copyright'), await generateDebianCopyright(pkg)); for (const { sourceFilePath, category } of pkg.binaries) { - const targetDir = path.join(dir, pkg.metadata.name, 'usr', category); + const targetDir = path.join(dir, pkg.metadata.debName, 'usr', category); await fs.mkdir(targetDir, { recursive: true }); await fs.copyFile(sourceFilePath, path.join(targetDir, path.basename(sourceFilePath)), COPYFILE_FICLONE); } diff --git a/packages/build/src/packaging/package/redhat.ts b/packages/build/src/packaging/package/redhat.ts index 55d4fb9509..1ebda2bd24 100644 --- a/packages/build/src/packaging/package/redhat.ts +++ b/packages/build/src/packaging/package/redhat.ts @@ -43,7 +43,7 @@ export async function createRedhatPackage( filelistRpm, version }); - // Copy all files that we want to ship into the BUILD directory. + // Copy all files that we want to ship into the BUILD directory. for (const { sourceFilePath } of pkg.binaries) { await fs.copyFile(sourceFilePath, path.join(dir, 'BUILD', path.basename(sourceFilePath)), COPYFILE_FICLONE); }