mirror of
https://github.com/VSCodium/vscodium.git
synced 2026-04-12 00:37:19 +10:00
Compare commits
23 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b1970e82af | ||
|
|
23160ad483 | ||
|
|
51ee66e019 | ||
|
|
2abbfed911 | ||
|
|
8187c7fd7f | ||
|
|
53b071366b | ||
|
|
98372f9d1e | ||
|
|
30313a518b | ||
|
|
2ecbd09c2b | ||
|
|
66551077f8 | ||
|
|
e1b4583cf9 | ||
|
|
bbc6e8f4b7 | ||
|
|
d29337f328 | ||
|
|
ca52c1cfda | ||
|
|
c7cc061077 | ||
|
|
34b5dbce34 | ||
|
|
cb8d774c77 | ||
|
|
6a5ba92d10 | ||
|
|
643b0f869d | ||
|
|
7d636ce0f7 | ||
|
|
5b3b76e65b | ||
|
|
64e101b963 | ||
|
|
527ce5efd2 |
2
.github/workflows/linux.yml
vendored
2
.github/workflows/linux.yml
vendored
@@ -38,7 +38,7 @@ jobs:
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.14.1
|
||||
node-version: 14
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
2
.github/workflows/macos.yml
vendored
2
.github/workflows/macos.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.14.1
|
||||
node-version: 14
|
||||
|
||||
- name: Check PR or cron
|
||||
run: |
|
||||
|
||||
2
.github/workflows/windows.yml
vendored
2
.github/workflows/windows.yml
vendored
@@ -25,7 +25,7 @@ jobs:
|
||||
- name: Setup Node.js environment
|
||||
uses: actions/setup-node@v1
|
||||
with:
|
||||
node-version: 12.18.3
|
||||
node-version: 14
|
||||
|
||||
- name: Install Yarn
|
||||
run: npm install -g yarn
|
||||
|
||||
9
DOCS.md
9
DOCS.md
@@ -12,6 +12,8 @@
|
||||
- [How do I run VSCodium in portable mode?](#portable)
|
||||
- [How do I press and hold a key and have it repeat in VSCodium?](#press-and-hold)
|
||||
- [How do I open VSCodium from the terminal?](#terminal-support)
|
||||
- [From Linux .tar.gz](#from-linux-targz)
|
||||
- [How to build VSCodium](https://github.com/VSCodium/vscodium/blob/master/docs/build.md)
|
||||
|
||||
## <a id="disable-telemetry"></a>Getting all the Telemetry Out
|
||||
|
||||
@@ -135,6 +137,7 @@ $ defaults write com.visualstudio.code.oss ApplePressAndHoldEnabled -bool false
|
||||
|
||||
## <a id="terminal-support"></a>How do I open VSCodium from the terminal?
|
||||
|
||||
For MacOS and Windows:
|
||||
- Go to the command palette (View | Command Palette...)
|
||||
- Choose `Shell command: Install 'codium' command in PATH`.
|
||||
|
||||
@@ -148,3 +151,9 @@ This allows you to open files or directories in VSCodium directly from your term
|
||||
```
|
||||
|
||||
Feel free to alias this command to something easier to type in your shell profile (e.g. `alias code=codium`).
|
||||
|
||||
On Linux, when installed with a package manager, `codium` has been installed in your `PATH`.
|
||||
|
||||
### <a id="from-linux-targz"></a>From Linux .tar.gz
|
||||
|
||||
When the archive `VSCodium-linux-<arch>-<version>.tar.gz` is extracted, the main entry point for VSCodium is `./bin/codium`.
|
||||
|
||||
@@ -68,7 +68,7 @@ scoop install vscodium
|
||||
VSCodium is available in the [Snap Store](https://snapcraft.io/) as [Codium](https://snapcraft.io/codium), published by the [Snapcrafters](https://github.com/snapcrafters/codium) community.
|
||||
If your GNU/Linux distribution has support for [snaps](https://snapcraft.io/docs/installing-snapd):
|
||||
```bash
|
||||
snap install codium
|
||||
snap install codium --classic
|
||||
```
|
||||
|
||||
#### <a id="install-with-package-manager"></a>Install with Package Manager (GNU/Linux)
|
||||
@@ -101,8 +101,8 @@ If you want to build from source yourself, head over to [Microsoft's vscode repo
|
||||
Microsoft's build process (which we are running to build the binaries) does download additional files. This was brought up in [Microsoft/vscode#49159](https://github.com/Microsoft/vscode/issues/49159) and [Microsoft/vscode#45978](https://github.com/Microsoft/vscode/issues/45978). These are the packages downloaded during build:
|
||||
|
||||
- Extensions from the Microsoft Marketplace:
|
||||
- ms-vscode.node-debug2
|
||||
- ms-vscode.node-debug
|
||||
- [ms-vscode.node-debug2](https://marketplace.visualstudio.com/items?itemName=ms-vscode.node-debug2)
|
||||
- [ms-vscode.node-debug](https://marketplace.visualstudio.com/items?itemName=ms-vscode.node-debug)
|
||||
- From [Electron releases](https://github.com/electron/electron/releases) (using [gulp-atom-electron](https://github.com/joaomoreno/gulp-atom-electron))
|
||||
- electron
|
||||
- ffmpeg
|
||||
@@ -118,7 +118,7 @@ According to the VS Code Marketplace [Terms of Use](https://aka.ms/vsmarketplace
|
||||
Please note that some Visual Studio Code extensions have licenses that restrict their use to the official Visual Studio Code builds and therefore do not work with VSCodium. See [this note](https://github.com/VSCodium/vscodium/blob/master/DOCS.md#proprietary-debugging-tools) on the Docs page for what's been found so far and possible workarounds.
|
||||
|
||||
### How are the VSCodium binaries built?
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflow` for Windows, GNU/Linux and macOS. These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
If you would like to see the commands we run to build `vscode` into VSCodium binaries, have a look at the workflow files in `.github/workflows` for Windows, GNU/Linux and macOS. These build files call all the other scripts in the repo. If you find something that doesn't make sense, feel free to ask about it [on Gitter](https://gitter.im/VSCodium/Lobby).
|
||||
|
||||
The builds are run every day, but exit early if there isn't a new release from Microsoft.
|
||||
|
||||
|
||||
@@ -30,3 +30,15 @@ script:
|
||||
- /usr/bin/convert vscodium.png -resize 48x48 usr/share/icons/hicolor/48x48/apps/vscodium.png
|
||||
- /usr/bin/convert vscodium.png -resize 32x32 usr/share/icons/hicolor/32x32/apps/vscodium.png
|
||||
- ( cd usr/bin/ ; ln -s ../share/codium/codium . )
|
||||
- cat > AppRun <<\EOF
|
||||
- #!/bin/sh
|
||||
- HERE="$(dirname "$(readlink -f "${0}")")"
|
||||
- export PATH="${HERE}"/usr/bin/:"${HERE}"/usr/sbin/:"${HERE}"/usr/games/:"${HERE}"/bin/:"${HERE}"/sbin/:"${PATH}"
|
||||
- export LD_LIBRARY_PATH="${HERE}"/usr/lib/:"${HERE}"/usr/lib/i386-linux-gnu/:"${HERE}"/usr/lib/x86_64-linux-gnu/:"${HERE}"/usr/lib32/:"${HERE}"/usr/lib64/:"${HERE}"/lib/:"${HERE}"/lib/i386-linux-gnu/:"${HERE}"/lib/x86_64-linux-gnu/:"${HERE}"/lib32/:"${HERE}"/lib64/:"${LD_LIBRARY_PATH}"
|
||||
- export XDG_DATA_DIRS="${HERE}"/usr/share/:"${XDG_DATA_DIRS}"
|
||||
- export PERLLIB="${HERE}"/usr/share/perl5/:"${HERE}"/usr/lib/perl5/:"${PERLLIB}"
|
||||
- export GSETTINGS_SCHEMA_DIR="${HERE}"/usr/share/glib-2.0/schemas/:"${GSETTINGS_SCHEMA_DIR}"
|
||||
- export QT_PLUGIN_PATH="${HERE}"/usr/lib/qt4/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt4/plugins/:"${HERE}"/usr/lib32/qt4/plugins/:"${HERE}"/usr/lib64/qt4/plugins/:"${HERE}"/usr/lib/qt5/plugins/:"${HERE}"/usr/lib/i386-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib/x86_64-linux-gnu/qt5/plugins/:"${HERE}"/usr/lib32/qt5/plugins/:"${HERE}"/usr/lib64/qt5/plugins/:"${QT_PLUGIN_PATH}"
|
||||
- EXEC=$(grep -e '^Exec=.*' "${HERE}"/*.desktop | head -n 1 | cut -d "=" -f 2- | sed -e 's|%.||g')
|
||||
- exec ${EXEC} "$@"
|
||||
- EOF
|
||||
|
||||
1
build.sh
1
build.sh
@@ -15,6 +15,7 @@ if [[ "$SHOULD_BUILD" == "yes" ]]; then
|
||||
yarn valid-layers-check
|
||||
|
||||
yarn gulp compile-build
|
||||
yarn gulp compile-extension-media
|
||||
yarn gulp compile-extensions-build
|
||||
yarn gulp minify-vscode
|
||||
|
||||
|
||||
@@ -3,16 +3,17 @@
|
||||
cd ..
|
||||
|
||||
if [[ "$VSCODE_ARCH" == "x64" ]]; then
|
||||
# install a dep needed for this process
|
||||
sudo apt-get install desktop-file-utils
|
||||
|
||||
wget -c https://github.com/$(wget -q https://github.com/AppImage/pkg2appimage/releases -O - | grep "pkg2appimage-.*-x86_64.AppImage" | head -n 1 | cut -d '"' -f 2)
|
||||
chmod +x ./pkg2appimage-*.AppImage
|
||||
|
||||
./pkg2appimage-*.AppImage --appimage-extract && mv ./squashfs-root ./pkg2appimage.AppDir
|
||||
|
||||
|
||||
# add update's url
|
||||
sed -i 's/generate_type2_appimage/generate_type2_appimage -u "gh-releases-zsync|VSCodium|vscodium|latest|*.AppImage.zsync"/' pkg2appimage.AppDir/AppRun
|
||||
|
||||
# remove check so build in docker can succeed
|
||||
sed -i 's/grep docker/# grep docker/' pkg2appimage.AppDir/usr/share/pkg2appimage/functions.sh
|
||||
|
||||
bash -ex pkg2appimage.AppDir/AppRun VSCodium-AppImage-Recipe.yml
|
||||
fi
|
||||
|
||||
|
||||
71
docs/build.md
Normal file
71
docs/build.md
Normal file
@@ -0,0 +1,71 @@
|
||||
# Build
|
||||
|
||||
## Table of Contents
|
||||
|
||||
- [Dependencies](#dependencies)
|
||||
- [Linux](#dependencies-linux)
|
||||
- [MacOS](#dependencies-macos)
|
||||
- [Windows](#dependencies-windows)
|
||||
- [Build Scripts](#build-scripts)
|
||||
- [Build in Docker](#build-docker)
|
||||
|
||||
## <a id="dependencies"></a>Dependencies
|
||||
|
||||
- node 14
|
||||
- yarn
|
||||
- jq
|
||||
|
||||
### <a id="dependencies-linux"></a>Linux
|
||||
|
||||
- libx11-dev
|
||||
- libxkbfile-dev
|
||||
- libsecret-1-dev
|
||||
- fakeroot
|
||||
- rpm
|
||||
- rpmbuild
|
||||
- dpkg
|
||||
|
||||
### <a id="dependencies-macos"></a>MacOS
|
||||
|
||||
### <a id="dependencies-windows"></a>Windows
|
||||
|
||||
- powershell
|
||||
- git
|
||||
- sed
|
||||
|
||||
## <a id="build-scripts"></a>Build Scripts
|
||||
|
||||
Each platform has its build helper script in the directory `build`.
|
||||
|
||||
- Linux: `./build/build_linux.sh`
|
||||
- MacOS: `./build/build_macos_.sh`
|
||||
- Windows: `powershell -ExecutionPolicy ByPass -File .\build\build_windows.ps1`
|
||||
|
||||
## <a id="build-docker"></a>Build in Docker
|
||||
|
||||
To build for Linux, you can alternatively build VSCodium in docker
|
||||
|
||||
Firstly, create the container with:
|
||||
```
|
||||
docker run -ti --volume=<local vscodium source>:/root/vscodium --name=vscodium-build-agent vscodium/vscodium-linux-build-agent:bionic-x64 bash
|
||||
```
|
||||
|
||||
When inside the container, you can use the following commands to build:
|
||||
```
|
||||
curl -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
|
||||
sudo apt-get install -y nodejs desktop-file-utils
|
||||
|
||||
npm install -g yarn
|
||||
|
||||
git clone https://github.com/VSCodium/vscodium.git
|
||||
|
||||
cd vscodium
|
||||
|
||||
./get_repo.sh
|
||||
|
||||
export SHOULD_BUILD=yes
|
||||
export OS_NAME=linux
|
||||
export VSCODE_ARCH=x64
|
||||
|
||||
./build.sh
|
||||
```
|
||||
17
get_repo.sh
17
get_repo.sh
@@ -1,12 +1,23 @@
|
||||
#!/bin/bash
|
||||
|
||||
# figure out latest tag by calling MS update API
|
||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
||||
if [ "$INSIDER" == "1" ]; then
|
||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/insider/lol)
|
||||
else
|
||||
UPDATE_INFO=$(curl https://update.code.visualstudio.com/api/update/darwin/stable/lol)
|
||||
fi
|
||||
export LATEST_MS_COMMIT=$(echo $UPDATE_INFO | jq -r '.version')
|
||||
export LATEST_MS_TAG=$(echo $UPDATE_INFO | jq -r '.name')
|
||||
echo "Got the latest MS tag: ${LATEST_MS_TAG}"
|
||||
echo "Got the latest MS tag: ${LATEST_MS_TAG} version: ${LATEST_MS_COMMIT}"
|
||||
|
||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
||||
if [ "$INSIDER" == "1" ]; then
|
||||
mkdir -p vscode; cd vscode
|
||||
git init ; git remote add origin https://github.com/Microsoft/vscode.git
|
||||
git fetch --depth 1 origin $LATEST_MS_COMMIT; git checkout FETCH_HEAD
|
||||
cd ..
|
||||
else
|
||||
git clone https://github.com/Microsoft/vscode.git --branch $LATEST_MS_TAG --depth 1
|
||||
fi
|
||||
|
||||
# for GH actions
|
||||
if [[ $GITHUB_ENV ]]; then
|
||||
|
||||
13
patches/crash-reporter.patch
Normal file
13
patches/crash-reporter.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index 19dde20..d9611f2 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -409,6 +409,8 @@ function configureCrashReporter() {
|
||||
argv.splice(endOfArgsMarkerIndex, 0, '--crash-reporter-id', crashReporterId);
|
||||
}
|
||||
}
|
||||
+ } else {
|
||||
+ return;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,14 +2,14 @@ diff --git a/src/vs/base/common/product.ts b/src/vs/base/common/product.ts
|
||||
index 129b8de..fadb99a 100644
|
||||
--- a/src/vs/base/common/product.ts
|
||||
+++ b/src/vs/base/common/product.ts
|
||||
@@ -62,6 +62,7 @@ export interface IProductConfiguration {
|
||||
@@ -68,6 +68,7 @@ export interface IProductConfiguration {
|
||||
|
||||
readonly extensionsGallery?: {
|
||||
readonly serviceUrl: string;
|
||||
+ readonly cacheUrl?: string;
|
||||
readonly itemUrl: string;
|
||||
readonly controlUrl: string;
|
||||
readonly recommendationsUrl: string;
|
||||
readonly extensionsGallery?: {
|
||||
readonly serviceUrl: string;
|
||||
+ readonly cacheUrl?: string;
|
||||
readonly itemUrl: string;
|
||||
readonly resourceUrlTemplate: string;
|
||||
readonly controlUrl: string;
|
||||
diff --git a/src/vs/platform/product/common/product.ts b/src/vs/platform/product/common/product.ts
|
||||
index d79c8a3..8b4153f 100644
|
||||
--- a/src/vs/platform/product/common/product.ts
|
||||
|
||||
13
patches/fix-cors.patch
Normal file
13
patches/fix-cors.patch
Normal file
@@ -0,0 +1,13 @@
|
||||
diff --git a/src/main.js b/src/main.js
|
||||
index f91f7b7..0ec4b6f 100644
|
||||
--- a/src/main.js
|
||||
+++ b/src/main.js
|
||||
@@ -174,7 +174,7 @@ function configureCommandlineSwitchesSync(cliArgs) {
|
||||
// Read argv config
|
||||
const argvConfig = readArgvConfigSync();
|
||||
|
||||
- let browserCodeLoadingStrategy = typeof codeCachePath === 'string' ? 'bypassHeatCheck' : 'none';
|
||||
+ let browserCodeLoadingStrategy = undefined;
|
||||
|
||||
Object.keys(argvConfig).forEach(argvKey => {
|
||||
const argvValue = argvConfig[argvKey];
|
||||
@@ -7,7 +7,7 @@ index 93424ca..133657e 100644
|
||||
@memoize
|
||||
get cachePath(): Promise<string> {
|
||||
- const result = path.join(tmpdir(), `vscode-update-${this.productService.target}-${process.arch}`);
|
||||
+ const result = path.join(tmpdir(), `${this.productService.nameShort.toLowerCase()}-update-${this.productService.target}-${process.arch}`);
|
||||
+ const result = path.join(tmpdir(), `${this.productService.applicationName}-update-${this.productService.target}-${process.arch}`);
|
||||
return pfs.Promises.mkdir(result, { recursive: true }).then(() => result);
|
||||
}
|
||||
|
||||
|
||||
1
patches/user/readme.txt
Normal file
1
patches/user/readme.txt
Normal file
@@ -0,0 +1 @@
|
||||
store user patches at location patches/user and those will be applied to vscode source git by the scripts
|
||||
@@ -8,10 +8,23 @@ cd vscode || exit
|
||||
../update_settings.sh
|
||||
|
||||
# apply patches
|
||||
patch -u src/vs/platform/update/electron-main/updateService.win32.ts -i ../patches/update-cache-path.patch
|
||||
patch -u resources/linux/rpm/code.spec.template -i ../patches/fix-rpm-spec.patch
|
||||
git apply --ignore-whitespace ../patches/binary-name.patch
|
||||
git apply --ignore-whitespace ../patches/custom-gallery.patch
|
||||
for file in ../patches/*.patch; do
|
||||
if [ -f "$file" ]; then
|
||||
echo applying patch: $file;
|
||||
if ! git apply --ignore-whitespace $file; then
|
||||
echo failed to apply patch $file 1>&2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
for file in ../patches/user/*.patch; do
|
||||
if [ -f "$file" ]; then
|
||||
echo applying user patch: $file;
|
||||
if ! git apply --ignore-whitespace $file; then
|
||||
echo failed to apply patch $file 1>&2
|
||||
fi
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
CHILD_CONCURRENCY=1 yarn --frozen-lockfile --ignore-optional
|
||||
@@ -65,27 +78,27 @@ if [[ "$OS_NAME" == "linux" ]]; then
|
||||
# as we are renaming the application to vscodium
|
||||
# we need to edit a line in the post install template
|
||||
sed -i "s/code-oss/codium/" resources/linux/debian/postinst.template
|
||||
|
||||
|
||||
# fix the packages metadata
|
||||
# code.appdata.xml
|
||||
sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com/home/home-screenshot-linux-lg.png|https://vscodium.com/img/vscodium.png|' resources/linux/code.appdata.xml
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/code.appdata.xml
|
||||
|
||||
|
||||
# control.template
|
||||
sed -i 's|Microsoft Corporation <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/debian/control.template
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/debian/control.template
|
||||
sed -i 's|Visual Studio Code|VSCodium|g' resources/linux/debian/control.template
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/debian/control.template
|
||||
|
||||
|
||||
# code.spec.template
|
||||
sed -i 's|https://code.visualstudio.com/docs/setup/linux|https://github.com/VSCodium/vscodium#download-install|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Microsoft Corporation|VSCodium Team|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Visual Studio Code Team <vscode-linux@microsoft.com>|VSCodium Team https://github.com/VSCodium/vscodium/graphs/contributors|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|https://code.visualstudio.com|https://vscodium.com|' resources/linux/rpm/code.spec.template
|
||||
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
|
||||
|
||||
|
||||
# snapcraft.yaml
|
||||
sed -i 's|Visual Studio Code|VSCodium|' resources/linux/rpm/code.spec.template
|
||||
fi
|
||||
|
||||
@@ -3,8 +3,15 @@
|
||||
TELEMETRY_URLS="(dc\.services\.visualstudio\.com)|(vortex\.data\.microsoft\.com)"
|
||||
REPLACEMENT="s/$TELEMETRY_URLS/0\.0\.0\.0/g"
|
||||
|
||||
#include common functions
|
||||
. ../utils.sh
|
||||
|
||||
if [[ "$OS_NAME" == "osx" ]]; then
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i '' -E $REPLACEMENT
|
||||
if is_gnu_sed; then
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i -E $REPLACEMENT
|
||||
else
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i '' -E $REPLACEMENT
|
||||
fi
|
||||
else
|
||||
grep -rl --exclude-dir=.git -E $TELEMETRY_URLS . | xargs sed -i -E $REPLACEMENT
|
||||
fi
|
||||
|
||||
@@ -3,18 +3,8 @@ DEFAULT_FALSE="'default': false"
|
||||
TELEMETRY_ENABLE="'telemetry.enableTelemetry':"
|
||||
TELEMETRY_CRASH_REPORTER="'telemetry.enableCrashReporter':"
|
||||
|
||||
is_gnu_sed () {
|
||||
sed --version >/dev/null 2>&1
|
||||
}
|
||||
|
||||
replace () {
|
||||
echo $1
|
||||
if is_gnu_sed; then
|
||||
sed -i -E "$1" $2
|
||||
else
|
||||
sed -i '' -E "$1" $2
|
||||
fi
|
||||
}
|
||||
#include common functions
|
||||
. ../utils.sh
|
||||
|
||||
update_setting () {
|
||||
local FILENAME="$2"
|
||||
|
||||
Reference in New Issue
Block a user