first commit
This commit is contained in:
parent
e9062a564c
commit
f8fb05fbbb
40
.github/workflows/release.yml
vendored
Normal file
40
.github/workflows/release.yml
vendored
Normal file
@ -0,0 +1,40 @@
|
||||
name: PikaOS Package Release
|
||||
|
||||
on:
|
||||
workflow_dispatch
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: self-hosted
|
||||
container:
|
||||
image: ubuntu:22.10
|
||||
volumes:
|
||||
- /proc:/proc
|
||||
options: --privileged -it
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
|
||||
- name: Install needed packages
|
||||
run: apt update && apt install software-properties-common sudo git bc gpg gpg-agent bison build-essential ccache cpio fakeroot flex git kmod libelf-dev libncurses5-dev libssl-dev lz4 qtbase5-dev rsync schedtool wget zstd tar reprepro dpkg-sig devscripts dh-make -y
|
||||
|
||||
- name: Import GPG key
|
||||
id: import_gpg
|
||||
uses: crazy-max/ghaction-import-gpg@v5
|
||||
with:
|
||||
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
|
||||
passphrase: ${{ secrets.PASSPHRASE }}
|
||||
|
||||
- name: Install SSH key
|
||||
uses: shimataro/ssh-key-action@v2
|
||||
with:
|
||||
key: ${{ secrets.SSH_KEY }}
|
||||
name: id_rsa
|
||||
known_hosts: ${{ secrets.KNOWN_HOSTS }}
|
||||
if_key_exists: replace
|
||||
|
||||
- name: Build Package
|
||||
run: ./main.sh
|
||||
|
||||
- name: Release Package
|
||||
run: ./release.sh
|
@ -1,3 +1,9 @@
|
||||
gnome-shell-vrr (43.1-99pika5) kinetic; urgency=medium
|
||||
|
||||
* Sync with ubuntu
|
||||
|
||||
-- Ward Nakchbandi <hotrod.master@hotmail.com> Fri, 07 Oct 2022 23:26:00 +0300
|
||||
|
||||
gnome-shell-vrr (43.0-99pika5) kinetic; urgency=medium
|
||||
|
||||
* Fix gschema.
|
48
debian/patches/dbusService-screencast-Hold-during-gstreamer-checks.patch
vendored
Normal file
48
debian/patches/dbusService-screencast-Hold-during-gstreamer-checks.patch
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Sun, 6 Nov 2022 11:56:41 +0100
|
||||
Subject: dbusService/screencast: Hold during gstreamer checks
|
||||
|
||||
Some gstreamer plugins require a connection to the display server,
|
||||
so they block until the server is up and running. That's why we
|
||||
moved the check into the D-Bus service, so that the blocking would
|
||||
not lock up the compositor itself.
|
||||
|
||||
However the block can still delay the service initialization so
|
||||
much that auto-shutdown hits immediately when returning from the
|
||||
constructor. If that happens, the proxy on the shell side is no
|
||||
longer backed by a remote object when the init callback runs, and
|
||||
all properties therefore resolve as `null`.
|
||||
|
||||
As a result, gnome-shell thinks that screencasts aren't supported
|
||||
and hides the screencast button.
|
||||
|
||||
Fix this by holding the service during the gstreamer checks, so
|
||||
that the auto-shutdown timeout only starts after the service is
|
||||
ready.
|
||||
|
||||
Bug: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6051
|
||||
Origin: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533
|
||||
Applied-upstream: 43.2, commit:f9ac8890d0a714c7cb44005def66fb5d0d15f6e4
|
||||
---
|
||||
js/dbusServices/screencast/screencastService.js | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/js/dbusServices/screencast/screencastService.js b/js/dbusServices/screencast/screencastService.js
|
||||
index f7f36da..a2bb23c 100644
|
||||
--- a/js/dbusServices/screencast/screencastService.js
|
||||
+++ b/js/dbusServices/screencast/screencastService.js
|
||||
@@ -271,11 +271,14 @@ var ScreencastService = class extends ServiceImplementation {
|
||||
constructor() {
|
||||
super(ScreencastIface, '/org/gnome/Shell/Screencast');
|
||||
|
||||
+ this.hold(); // gstreamer initializing can take a bit
|
||||
this._canScreencast = ScreencastService.canScreencast();
|
||||
|
||||
Gst.init(null);
|
||||
Gtk.init();
|
||||
|
||||
+ this.release();
|
||||
+
|
||||
this._recorders = new Map();
|
||||
this._senders = new Map();
|
||||
|
30
debian/patches/inhibitShorcutsDialog-Fix-permission-check.patch
vendored
Normal file
30
debian/patches/inhibitShorcutsDialog-Fix-permission-check.patch
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Fri, 18 Nov 2022 22:40:31 +0100
|
||||
Subject: inhibitShorcutsDialog: Fix permission check
|
||||
|
||||
Each permission entry is an array of strings, so checking that against
|
||||
the expected string itself will always fail.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6107
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2548>
|
||||
|
||||
(cherry picked from commit b0befbbfbbe4a335f6c184049743202e91fcdfe8)
|
||||
(cherry picked from commit a2cd818c8c4d6a81d565099b01920b8815dea355)
|
||||
---
|
||||
js/ui/inhibitShortcutsDialog.js | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js
|
||||
index b6f1330..7c3d159 100644
|
||||
--- a/js/ui/inhibitShortcutsDialog.js
|
||||
+++ b/js/ui/inhibitShortcutsDialog.js
|
||||
@@ -143,7 +143,7 @@ var InhibitShortcutsDialog = GObject.registerClass({
|
||||
|
||||
if (permissions[appId] === undefined) // Not found
|
||||
this._dialog.open();
|
||||
- else if (permissions[appId] === GRANTED)
|
||||
+ else if (permissions[appId][0] === GRANTED)
|
||||
this._emitResponse(DialogResponse.ALLOW);
|
||||
else
|
||||
this._emitResponse(DialogResponse.DENY);
|
47
debian/patches/screenshot-Cache-ScreencastSupported-property.patch
vendored
Normal file
47
debian/patches/screenshot-Cache-ScreencastSupported-property.patch
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Sun, 6 Nov 2022 13:06:44 +0100
|
||||
Subject: screenshot: Cache ScreencastSupported property
|
||||
|
||||
The screencast service shuts down when not in use, so it is almost
|
||||
certainly not running when handling the screencast shortcut.
|
||||
|
||||
Instead of making sure the service is restarted, just cache the
|
||||
property when initializing the proxy.
|
||||
|
||||
Origin: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2533
|
||||
Applied-upstream: 43.2, commit:b23de7f5309dcff34b2245d3797bb39381dff60c
|
||||
---
|
||||
js/ui/screenshot.js | 6 ++++--
|
||||
1 file changed, 4 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/js/ui/screenshot.js b/js/ui/screenshot.js
|
||||
index a01fbe3..b2ea6fa 100644
|
||||
--- a/js/ui/screenshot.js
|
||||
+++ b/js/ui/screenshot.js
|
||||
@@ -1017,6 +1017,7 @@ var ScreenshotUI = GObject.registerClass({
|
||||
});
|
||||
|
||||
this._screencastInProgress = false;
|
||||
+ this._screencastSupported = false;
|
||||
|
||||
this._screencastProxy = new ScreencastProxy(
|
||||
Gio.DBus.session,
|
||||
@@ -1028,7 +1029,8 @@ var ScreenshotUI = GObject.registerClass({
|
||||
return;
|
||||
}
|
||||
|
||||
- this._castButton.visible = this._screencastProxy.ScreencastSupported;
|
||||
+ this._screencastSupported = this._screencastProxy.ScreencastSupported;
|
||||
+ this._castButton.visible = this._screencastSupported;
|
||||
});
|
||||
|
||||
this._lockdownSettings = new Gio.Settings({ schema_id: 'org.gnome.desktop.lockdown' });
|
||||
@@ -1450,7 +1452,7 @@ var ScreenshotUI = GObject.registerClass({
|
||||
if (this._screencastInProgress)
|
||||
return;
|
||||
|
||||
- if (mode === UIMode.SCREENCAST && !this._screencastProxy.ScreencastSupported)
|
||||
+ if (mode === UIMode.SCREENCAST && !this._screencastSupported)
|
||||
return;
|
||||
|
||||
this._castButton.checked = mode === UIMode.SCREENCAST;
|
@ -1,4 +1,6 @@
|
||||
gdm-util-Only-start-fingerprint-service-synchronously-whe.patch
|
||||
dbusService-screencast-Hold-during-gstreamer-checks.patch
|
||||
screenshot-Cache-ScreencastSupported-property.patch
|
||||
debian/gnome-shell-extension-prefs-Give-Debian-specific-advice.patch
|
||||
Revert-build-Port-to-gcr4.patch
|
||||
ubuntu/desktop_detect.patch
|
||||
@ -24,8 +26,4 @@ ubuntu/sessionMode-Add-support-for-configuring-an-icons-resource.patch
|
||||
ubuntu/main-Support-loading-multiple-Yaru-theme-variants.patch
|
||||
ubuntu/Revert-dash-Use-pin-instead-of-favorites.patch
|
||||
ubuntu/darkMode-Add-support-to-Yaru-theme-color-variants.patch
|
||||
config-Assume-screen-recording-is-always-available.patch
|
||||
status-Use-fixed-sorting-of-input-sources-on-empty-MRU.patch
|
||||
bluetooth-Show-the-Bluetooth-switch-in-more-cases.patch
|
||||
status-volume-Include-origin-in-device-names.patch
|
||||
inhibitShortcutsDialog-Don-t-override-resource.patch
|
||||
inhibitShorcutsDialog-Fix-permission-check.patch
|
@ -1,62 +0,0 @@
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Thu, 15 Sep 2022 18:03:22 +0200
|
||||
Subject: bluetooth: Show the Bluetooth switch in more cases
|
||||
|
||||
In older versions of GNOME, when a menu was used for Bluetooth devices,
|
||||
we tried to avoid showing the Bluetooth menu to folks who didn't use
|
||||
Bluetooth.
|
||||
|
||||
This kept causing problems as the menu would disappear if no
|
||||
devices were setup and the platform "airplane mode" removed the
|
||||
Bluetooth device from the USB bus, making it impossible to detect
|
||||
whether a Bluetooth device existed, compared to a user unplugging a
|
||||
removable Bluetooth device.
|
||||
|
||||
Closes: #5749
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2488>
|
||||
(cherry picked from commit 57aa91e2b3f129ff12c6f87146096708e9ac2867)
|
||||
---
|
||||
js/ui/status/bluetooth.js | 13 +++++++------
|
||||
1 file changed, 7 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/bluetooth.js b/js/ui/status/bluetooth.js
|
||||
index d4de597..f5ed177 100644
|
||||
--- a/js/ui/status/bluetooth.js
|
||||
+++ b/js/ui/status/bluetooth.js
|
||||
@@ -64,7 +64,10 @@ const BtClient = GObject.registerClass({
|
||||
g_interface_info: rfkillManagerInfo,
|
||||
});
|
||||
this._proxy.connect('g-properties-changed', (p, properties) => {
|
||||
- if ('BluetoothHardwareAirplaneMode' in properties.unpack())
|
||||
+ const changedProperties = properties.unpack();
|
||||
+ if ('BluetoothHardwareAirplaneMode' in changedProperties)
|
||||
+ this.notify('available');
|
||||
+ else if ('BluetoothHasAirplaneMode' in changedProperties)
|
||||
this.notify('available');
|
||||
});
|
||||
this._proxy.init_async(GLib.PRIORITY_DEFAULT, null)
|
||||
@@ -79,21 +82,19 @@ const BtClient = GObject.registerClass({
|
||||
this._connectDeviceNotify(deviceStore.get_item(i));
|
||||
|
||||
this._client.connect('device-removed', (c, path) => {
|
||||
- this._syncHadSetupDevices();
|
||||
this._deviceNotifyConnected.delete(path);
|
||||
this.emit('devices-changed');
|
||||
});
|
||||
this._client.connect('device-added', (c, device) => {
|
||||
- this._syncHadSetupDevices();
|
||||
this._connectDeviceNotify(device);
|
||||
this.emit('devices-changed');
|
||||
});
|
||||
}
|
||||
|
||||
get available() {
|
||||
- // If there were set up devices, assume there is an adapter
|
||||
- // that can be powered on as long as we're not hard blocked
|
||||
- return this._hadSetupDevices
|
||||
+ // If we have an rfkill switch, make sure it's not a hardware
|
||||
+ // one as we can't get out of it in software
|
||||
+ return this._proxy.BluetoothHasAirplaneMode
|
||||
? !this._proxy.BluetoothHardwareAirplaneMode
|
||||
: this.active;
|
||||
}
|
@ -1,27 +0,0 @@
|
||||
From: Daniel van Vugt <daniel.van.vugt@canonical.com>
|
||||
Date: Wed, 12 Oct 2022 14:47:19 +0800
|
||||
Subject: config: Assume screen recording is always available
|
||||
|
||||
Which is safer than calling gst_init_check() as it may deadlock when it
|
||||
spawns client `gst-plugin-scanner` which then tries to connect back to
|
||||
us (for some plugins like gstvaapi).
|
||||
|
||||
Fixes: https://launchpad.net/bugs/1988488
|
||||
---
|
||||
js/misc/config.js.in | 6 +-----
|
||||
1 file changed, 1 insertion(+), 5 deletions(-)
|
||||
|
||||
diff --git a/js/misc/config.js.in b/js/misc/config.js.in
|
||||
index 7fc0e63..5092c1e 100644
|
||||
--- a/js/misc/config.js.in
|
||||
+++ b/js/misc/config.js.in
|
||||
@@ -21,8 +21,4 @@ var LIBMUTTER_API_VERSION = '@LIBMUTTER_API_VERSION@'
|
||||
|
||||
var HAVE_BLUETOOTH = pkg.checkSymbol('GnomeBluetooth', '3.0',
|
||||
'Client.default_adapter_state')
|
||||
-var HAVE_RECORDER =
|
||||
- pkg.checkSymbol('Gst', '1.0') &&
|
||||
- imports.gi.Gst.init_check(null) &&
|
||||
- imports.gi.Gst.ElementFactory.find('pipewiresrc') &&
|
||||
- imports.gi.Gst.ElementFactory.find('filesrc');
|
||||
+var HAVE_RECORDER = true;
|
@ -1,69 +0,0 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Thu, 6 Oct 2022 14:30:20 +0200
|
||||
Subject: inhibitShortcutsDialog: Don't override resource
|
||||
|
||||
PermissionStore's Set() method takes a complete permission
|
||||
table, so when setting an app's permission, we are implicitly
|
||||
removing all previously set entries for other apps.
|
||||
|
||||
Switch to the SetPermission() method which sets the permission
|
||||
for a single app.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5937
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2504>
|
||||
(cherry picked from commit 8590e3350145b3c652d3977d72fe0da7f1d8885c)
|
||||
---
|
||||
.../org.freedesktop.impl.portal.PermissionStore.xml | 7 +++++++
|
||||
js/ui/inhibitShortcutsDialog.js | 12 ++++--------
|
||||
2 files changed, 11 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
||||
index 75fbc46..55d3fc3 100644
|
||||
--- a/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
||||
+++ b/data/dbus-interfaces/org.freedesktop.impl.portal.PermissionStore.xml
|
||||
@@ -13,6 +13,13 @@
|
||||
<arg name="app_permissions" type="a{sas}" direction="in"/>
|
||||
<arg name="data" type="v" direction="in"/>
|
||||
</method>
|
||||
+ <method name="SetPermission">
|
||||
+ <arg name='table' type='s' direction='in'/>
|
||||
+ <arg name='create' type='b' direction='in'/>
|
||||
+ <arg name='id' type='s' direction='in'/>
|
||||
+ <arg name='app' type='s' direction='in'/>
|
||||
+ <arg name='permissions' type='as' direction='in'/>
|
||||
+ </method>
|
||||
<signal name="Changed">
|
||||
<arg name="table" type="s" direction="out"/>
|
||||
<arg name="id" type="s" direction="out"/>
|
||||
diff --git a/js/ui/inhibitShortcutsDialog.js b/js/ui/inhibitShortcutsDialog.js
|
||||
index f37c1f6..b6f1330 100644
|
||||
--- a/js/ui/inhibitShortcutsDialog.js
|
||||
+++ b/js/ui/inhibitShortcutsDialog.js
|
||||
@@ -1,5 +1,5 @@
|
||||
/* exported InhibitShortcutsDialog */
|
||||
-const { Clutter, Gio, GLib, GObject, Gtk, Meta, Pango, Shell, St } = imports.gi;
|
||||
+const {Clutter, Gio, GObject, Gtk, Meta, Pango, Shell, St} = imports.gi;
|
||||
|
||||
const Dialog = imports.ui.dialog;
|
||||
const ModalDialog = imports.ui.modalDialog;
|
||||
@@ -57,16 +57,12 @@ var InhibitShortcutsDialog = GObject.registerClass({
|
||||
if (!this._shouldUsePermStore() || this._permStore == null)
|
||||
return;
|
||||
|
||||
- let permissions = {};
|
||||
- permissions[this._app.get_id()] = [grant];
|
||||
- let data = GLib.Variant.new('av', {});
|
||||
-
|
||||
try {
|
||||
- await this._permStore.SetAsync(APP_PERMISSIONS_TABLE,
|
||||
+ await this._permStore.SetPermissionAsync(APP_PERMISSIONS_TABLE,
|
||||
true,
|
||||
APP_PERMISSIONS_ID,
|
||||
- permissions,
|
||||
- data);
|
||||
+ this._app.get_id(),
|
||||
+ [grant]);
|
||||
} catch (error) {
|
||||
log(error.message);
|
||||
}
|
@ -1,34 +0,0 @@
|
||||
From: Carlos Garnacho <carlosg@gnome.org>
|
||||
Date: Wed, 14 Sep 2022 20:20:14 +0200
|
||||
Subject: status: Use fixed sorting of input sources on empty MRU
|
||||
|
||||
When updating the MRU sources if there was no prior MRU, we want
|
||||
to go with the unmodified list of sources in visibility order.
|
||||
|
||||
However iterating over object properties happens in an undetermined
|
||||
order, so the initial MRU list ends up picking a value at random.
|
||||
|
||||
In order to prefer the sources list in the same order than they
|
||||
appear in the menu if there was no prior MRU, order the keys
|
||||
when accessing it and building the initial list of sources.
|
||||
|
||||
Closes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5873
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2487>
|
||||
(cherry picked from commit 13c9fd2a668e137b9e2569dcdedb0a25b95ae9aa)
|
||||
---
|
||||
js/ui/status/keyboard.js | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/js/ui/status/keyboard.js b/js/ui/status/keyboard.js
|
||||
index 76a42f6..65b3962 100644
|
||||
--- a/js/ui/status/keyboard.js
|
||||
+++ b/js/ui/status/keyboard.js
|
||||
@@ -492,7 +492,7 @@ var InputSourceManager = class extends Signals.EventEmitter {
|
||||
|
||||
_updateMruSources() {
|
||||
let sourcesList = [];
|
||||
- for (let i in this._inputSources)
|
||||
+ for (let i of Object.keys(this._inputSources).sort((a, b) => a - b))
|
||||
sourcesList.push(this._inputSources[i]);
|
||||
|
||||
this._keyboardManager.setUserLayouts(sourcesList.map(x => x.xkbId));
|
@ -1,35 +0,0 @@
|
||||
From: =?utf-8?q?Florian_M=C3=BCllner?= <fmuellner@gnome.org>
|
||||
Date: Mon, 3 Oct 2022 18:30:13 +0200
|
||||
Subject: status/volume: Include origin in device names
|
||||
|
||||
The description alone may not be descriptive enough, so include
|
||||
the origin (if available) to disambiguate the name.
|
||||
|
||||
This is consistent with the Sound Settings panel.
|
||||
|
||||
https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5829
|
||||
|
||||
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2502>
|
||||
(cherry picked from commit 0ce2bc343b024142dddfe6e6bb57b51bfa407df9)
|
||||
---
|
||||
js/ui/status/volume.js | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/js/ui/status/volume.js b/js/ui/status/volume.js
|
||||
index 71a91cb..bd49cc3 100644
|
||||
--- a/js/ui/status/volume.js
|
||||
+++ b/js/ui/status/volume.js
|
||||
@@ -113,8 +113,11 @@ const StreamSlider = GObject.registerClass({
|
||||
if (!device)
|
||||
return;
|
||||
|
||||
- const item = new PopupMenu.PopupImageMenuItem(
|
||||
- device.get_description(), device.get_gicon());
|
||||
+ const {description, origin} = device;
|
||||
+ const name = origin
|
||||
+ ? `${description} – ${origin}`
|
||||
+ : description;
|
||||
+ const item = new PopupMenu.PopupImageMenuItem(name, device.get_gicon());
|
||||
item.connect('activate', () => this._activateDevice(device));
|
||||
|
||||
this._deviceSection.addMenuItem(item);
|
26
main.sh
Executable file
26
main.sh
Executable file
@ -0,0 +1,26 @@
|
||||
DEBIAN_FRONTEND=noninteractive
|
||||
|
||||
# Add dependent repositories
|
||||
wget -q -O - https://ppa.pika-os.com/key.gpg | sudo apt-key add -
|
||||
add-apt-repository https://ppa.pika-os.com
|
||||
add-apt-repository ppa:pikaos/pika
|
||||
add-apt-repository ppa:kubuntu-ppa/backports
|
||||
# Clone Upstream
|
||||
git clone https://gitlab.gnome.org/GNOME/gnome-shell -b 43.1
|
||||
mv ./gnome-shell ./gnome-shell-vrr
|
||||
cp -rvf ./debian ./gnome-shell-vrr
|
||||
cd ./gnome-shell-vrr
|
||||
|
||||
# Get build deps
|
||||
ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
|
||||
DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata
|
||||
apt-get build-dep ./ -y
|
||||
|
||||
# Build package
|
||||
LOGNAME=root dh_make --createorig -y -l -p gnome-shell-vrr_43.1
|
||||
dpkg-buildpackage
|
||||
|
||||
# Move the debs to output
|
||||
cd ../
|
||||
mkdir -p ./output
|
||||
mv ./*.deb ./output/
|
11
release.sh
Executable file
11
release.sh
Executable file
@ -0,0 +1,11 @@
|
||||
# Sign the packages
|
||||
dpkg-sig --sign builder ./output/*.deb
|
||||
|
||||
# Pull down existing ppa repo db files etc
|
||||
rsync -azP --exclude '*.deb' ferreo@direct.pika-os.com:/srv/www/pikappa/ ./output/repo
|
||||
|
||||
# Add the new package to the repo
|
||||
reprepro -V --basedir ./output/repo/ includedeb kinetic ./output/*.deb
|
||||
|
||||
# Push the updated ppa repo to the server
|
||||
rsync -azP ./output/repo/ ferreo@direct.pika-os.com:/srv/www/pikappa/
|
Loading…
Reference in New Issue
Block a user