revamp pin system

This commit is contained in:
Ward from fusion-voyager-3 2024-07-15 14:55:56 +03:00
parent a34a6f7266
commit d974c9b4ea
8 changed files with 895 additions and 69 deletions

25
.github/workflows/gen-apt-config.yml vendored Normal file
View File

@ -0,0 +1,25 @@
name: Generate and commit apt configs
on:
workflow_dispatch
jobs:
build:
runs-on: self-hosted
container:
image: ghcr.io/pikaos-linux/pika-base-debian-container:latest
volumes:
- /proc:/proc
options: --privileged -it
steps:
- uses: actions/checkout@v3
- name: Update apt cache
run: apt-get update -y
- name: Build Package
run: ./gen-apt-config.sh
- name: Setup git and push
run: git config --global user.name 'Github Workflow Action' && git config --global user.email 'hotrod.master@hotmail.com' && git config --global --add safe.directory /__w/debian-workaround-packages-repo/debian-workaround-packages-repo && git add . && git commit -am"Include Debfile file for qtbase-abi-5-15-10" && git push

69
gen-apt-config.py Executable file
View File

@ -0,0 +1,69 @@
#! /bin/python3
import os, errno
import apt_pkg
import apt
import json
_APT_CONFIG_PIN="""Package: {PACKAGES}
Pin: release a=experimental
Pin-Priority: 500
"""
def silentremove(filename):
try:
os.remove(filename)
except OSError as e: # this would be "except OSError, e:" before Python 2.6
if e.errno != errno.ENOENT: # errno.ENOENT = no such file or directory
raise # re-raise exception if a different error occurred
current_path = os.path.dirname(os.path.realpath(__file__))
srcnames_files = [open(current_path + "/package_srcnames/" + filename) for filename in os.listdir(current_path + "/package_srcnames/")]
srcname_lines = []
pkgname_lines = []
cache = apt.Cache()
for file in srcnames_files:
for line in file.readlines():
srcname = line.strip()
srcname_lines.append(srcname)
srcrecords = apt_pkg.SourceRecords()
srcrec = srcrecords.lookup(srcname)
if srcrec:
bins = srcrecords.binaries
for bin in bins:
pkgname_lines.append(bin)
file.close()
src_data = {
'source_names': [source_name for source_name in srcname_lines],
}
pkg_data = {
'package_names': [pkg_name for pkg_name in pkgname_lines]
}
apt_pin_packages = ""
for pkg in pkgname_lines:
apt_pin_packages += (pkg + " ")
silentremove("0-debian-exp-overrides")
with open("0-debian-exp-overrides", "w") as file:
debian_exp_override_file = _APT_CONFIG_PIN.format(
PACKAGES=apt_pin_packages,
)
file.write(debian_exp_override_file)
silentremove("exp_src_names.json")
with open("exp_src_names.json", "w") as twitterDataFile:
twitterDataFile.write(
json.dumps(src_data, indent=4)
)
silentremove("exp_pkg_names.json")
with open("exp_pkg_names.json", "w") as twitterDataFile:
twitterDataFile.write(
json.dumps(pkg_data, indent=4)
)

View File

@ -1,29 +0,0 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1
mQINBFZzyHQBEACp99aWXcCS0a5uOXsJ6SahpN34tF1DkZisg0Np/e2AJ4hrWXWM
eqFuB8zeKB5JkEBm8EGI4qnxUU8YdPsUhZVlB3X9tm3la1vzcyAFx8sYUYBAgZe5
paOOFUary6GV1738NPkoDsQtJdcKMOD6l9KaRR6Oop6gi25CPqNWon2D5EbCGrz9
69SewsXx21ov71bQnBLcErgqwujyt973R8d13W6M66ul6TFK9OA1ZHjA6Hjl7Yr1
wNw7ckL9SRZ3ICbSIySaNkauw77EuPMP0SPqa+7sTeCM05DKZF3YPktb6i44fFHB
lH9CEla+8t8s7mGeUfxkDfYtaG1R5/3/o54aJq071SuDDB7tkbVcVG3zFDx8rZF0
FfC70kkPYdJbX8r7y+wne1sEdVqX6rLnzTn2U2eedUnZPMoeVpF/bWPanM/sobE6
hfdkZt4bQL974eILRynBvLfxMjKZPA8nDzlZflvAP12n3qZNeWkAjITnk5g9QZ/P
+/MXSdya0JwG9sL8jMKAmaBMTkbNos4wwc5v8YYSewcDauBBTeCVcYxw7OZ72rb6
fbDfCSrAnKoSC8BNQhwf82J/Dp+BiiNBGoVrx2PSrfpWEmYi04Z4gd9WXPgszhvu
1UEubxNDWr7XyQ+6JEuDqoW3E589u6bMd1tJmmXKbhfOybxut0cZPql+gQARAQAB
tAdOZW9uIENJiQI4BBMBAgAiBQJWc8h0AhsDBgsJCAcDAgYVCAIJCgsEFgIDAQIe
AQIXgAAKCRDm1HNiVXUeXSLQD/9FjEY0pmWh/pW/v68s2hlQOlEVtlisEnxNV+TN
NBSDKej711cV6qjlPOZGJ5wQiiEGOO8xajhhCbTvvIwZSE8wz8B+kO84hYtRzJXK
aY2ZwuC46pNAWbHJ86VMqdRtjQQ5+jzI00/BA9nzFkdIPBBbIsivBoVJUI4OF1FY
fYHZUtC28YqtRtREyVQl736e2CLGFRv+yDQ7Nj1UPvQIfAB6NjrZ0yF12PLCaWVb
+J92StmKcSUxlbrdTQtD2qNsBW19Vf62gmb3y3BS6jGQjUv8izP//2f21WtaapJ0
yTWWhD+IAX8e3SCiFSG2G5Rmh/cjZJIUOyuDMZj4wb1q832qA4DyKDXndPM1LPZa
R9o/pIKn2lnY7U+TjSVUnofbi6mG9KauB5jLtVrR+qCgf7IkSHcaHdc5WMiSXUbr
Q0oCC2Qa50m2vF5yAxnojrXOI8stWE1VvFlkG/qNkZLaZWl2hDktlxo3ljHMmJUk
WhflEnqyzhzKFVJdSXQhYL+dQ5UYMx0IFJicDYNAk6EqsBGOgp42W1gSGbiActBE
w6ZVDPt82whp4QXQcTI/NIVn53PHDU6LJPHCkGraG0DHCBBV/MWfAYOo1BmGB4ga
MHk+ZKzHANN5cN5sP/LlJUd2eqhcdmJH1Aiwst8upK6OiTBdQqAIqWJUXqpuy0Ho
rHlJaA==
=0IxS
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -0,0 +1,19 @@
iwyu
libedit
llvm-defaults
llvm-toolchain-14
llvm-toolchain-15
llvm-toolchain-16
llvm-toolchain-17
llvm-toolchain-18
llvmlite
swiftlang
z3
glibc
libnsl
libnss-nis
libnss-nisplus
rpcsvc-proto
tzdata
glibc-doc-reference
gcc-defaults

View File

@ -0,0 +1,130 @@
adwaita-icon-theme
at-spi2-core
baobab
gnome-calls
fonts-cantarell
d-spy
dconf
dconf-editor
devhelp
epiphany-browser
evince
evolution-data-server
folks
gcab
gcr
gcr4
gdk-pixbuf
gdm3
geocode-glib
gexiv2
gi-docgen
gjs
glib2.0
glib-networking
glibmm2.68
gmime
gnome-autoar
gnome-backgrounds
gnome-bluetooth3
gnome-boxes
gnome-builder
gnome-calculator
gnome-calendar
gnome-characters
gnome-clocks
gnome-color-manager
gnome-connections
gnome-console
gnome-contacts
gnome-control-center
gnome-desktop
gnome-disk-utility
gnome-font-viewer
gnome-initial-setup
gnome-keyring
gnome-logs
gnome-maps
gnome-menus
gnome-music
gnome-online-accounts
gnome-remote-desktop
gnome-session
gnome-settings-daemon
gnome-shell
gnome-shell-extensions
gnome-software
gnome-system-monitor
gnome-text-editor
gnome-tour
gnome-user-docs
gnome-user-share
gnome-weather
gobject-introspection
libgom
grilo
grilo-plugins
gsettings-desktop-schemas
gsound
gspell
gssdp
gtk4
gtk+3.0
gtk-doc
gtk-vnc
gtkmm4.0
gtksourceview4
gtksourceview5
gupnp
gupnp-av
gupnp-dlna
gvfs
json-glib
jsonrpc-glib
libadwaita-1
libdex
libgee-0.8
libgsf
libgtop2
libgweather4
libgxps
libhandy-1
libmediaart
libnma
libnotify
libpanel
libpeas
libpeas2
librsvg
libsecret
libshumate
libsigc++-3.0
libsoup3
loupe
mm-common
mutter
nautilus
orca
pango1.0
pangomm2.48
phodav
pyatspi
pygobject
librest
rygel
simple-scan
gnome-snapshot
gnome-sushi
sysprof
tecla
template-glib
totem
totem-pl-parser
tracker
tracker-miners
vala
vte2.91
xdg-desktop-portal-gnome
yelp
yelp-tools
yelp-xsl

View File

@ -0,0 +1,585 @@
activity-aware-firefox
akonadi
akonadi-calendar
akonadi-calendar-tools
akonadiconsole
akonadi-contacts
akonadi-import-wizard
akonadi-mime
akonadi-notes
akonadi-search
akregator
alkimia
amarok
analitza
ark
artikulate
attica-kf5
audiocd-kio
baloo-kf5
baloo-widgets
basket
bismuth
blinken
bluedevil
bluez-qt
bomber
bovo
breeze
breeze-grub
breeze-gtk
breeze-icons
breeze-plymouth
calamares-extensions
calligra
calligraplan
cantor
cervisia
charmtimetracker
choqok
clazy
colord-kde
convertall
ctemplate
debconf-kde
digikam
dolphin
dolphin-plugins
dragon
drkonqi
elisa-player
exiv2
extra-cmake-modules
ffmpegthumbs
filelight
flatpak-kcm
frameworkintegration
gammaray
gcompris-qt
ghostwriter
granatier
grantlee5
grantlee-editor
gtk2-engines-oxygen
gwenview
icecc
icecc-monitor
immer
indi
itinerary
juk
k3b
kaccounts-integration
kaccounts-providers
kactivities-kf5
kactivities-stats
kactivitymanagerd
kaddressbook
kaffeine
kaidan
kajongg
kalarm
kalendar
kalgebra
kalzium
kamera
kamoso
kanagram
kapidox
kapman
kapptemplate
karchive
kate
katomic
kauth
kbackup
kblackbox
kblocks
kbookmarks
kbounce
kbreakout
kbruch
kcachegrind
kcalc
kcalcore
kcalutils
kcharselect
kchmviewer
kcmutils
kcodecs
kcollectd
kcolorchooser
kcolorpicker
kcompletion
kconfig
kconfigwidgets
kcontacts
kcoreaddons
kcrash
kcron
kdav
kdb
kdbusaddons
kdebugsettings
kdeclarative
kde-cli-tools
kdeconnect
kdecoration
kded
kde-dev-scripts
kde-dev-utils
kdeedu-data
kdegraphics-mobipocket
kdegraphics-thumbnailers
kde-gtk-config
kde-inotify-survey
kdelibs4support
kdenetwork-filesharing
kdepim-addons
kdepim-runtime
kdeplasma-addons
kdesdk-kioslaves
kdesdk-thumbnailers
kdesignerplugin
kde-spectacle
kdesu
kdesvn
kdevelop
kdevelop-pg-qt
kdevelop-php
kdevelop-python
kdewebkit
kdf
kdiagram
kdialog
kdiamond
kdiff3
kdnssd-kf5
kdoctools
keditbookmarks
kemoticons
keurocalc
kexi
kf5-messagelib
kfilemetadata-kf5
kfind
kfloppy
kfourinline
kgamma5
kgeography
kgeotag
kget
kglobalaccel
kgoldrunner
kgpg
kguiaddons
khangman
khelpcenter
kholidays
khotkeys
khtml
ki18n
kiconthemes
kidentitymanagement
kidletime
kig
kigo
kile
killbots
kimageannotator
kimageformats
kimagemapeditor
kimap
kinfocenter
kinit
kio
kio-extras
kio-fuse
kio-gdrive
kio-gopher
kipi-plugins
kirigami2
kirigami-addons
kirigami-gallery
kiriki
kitemmodels
kitemviews
kiten
kitinerary
kjobwidgets
kjots
kjs
kjsembed
kjumpingcube
kldap
kleopatra
klettres
klickety
klines
kmag
kmahjongg
kmail
kmail-account-wizard
kmailtransport
kmbox
kmediaplayer
kmenuedit
kmime
kmines
kmix
kmousetool
kmouth
kmplayer
kmplot
kmymoney
knavalbattle
knetwalk
knewstuff
knights
knotes
knotifications
knotifyconfig
kolf
kollision
kolourpaint
kompare
kongress
konqueror
konquest
konsole
kontact
kontactinterface
kontrast
konversation
kookbook
kopeninghours
korganizer
kosmindoormap
kpackage
kparts
kpat
kpeople
kpeoplevcard
kphotoalbum
kpimtextedit
kpipewire
kpkpass
kplotting
kpmcore
kproperty
kpty
kpublictransport
kqtquickcharts
kquickcharts
kquickimageeditor
kraft
krdc
krename
kreport
kreversi
krfb
krita
kronometer
kross
kross-interpreters
kruler
krunner
krusader
ksanecore
kscreen
kscreenlocker
kseexpr
kservice
kshisen
ksirk
ksmtp
ksnakeduel
ksnip
kspaceduel
ksquares
ksshaskpass
kstars
ksudoku
ksyntax-highlighting
ksystemlog
ksystemstats
kteatime
ktechlab
ktextaddons
ktexteditor
ktextwidgets
ktikz
ktimer
ktimetracker
ktnef
ktorrent
ktouch
ktp-accounts-kcm
ktp-approver
ktp-auth-handler
ktp-call-ui
ktp-common-internals
ktp-contact-list
ktp-contact-runner
ktp-desktop-applets
ktp-filetransfer-handler
ktp-kded-integration-module
ktp-send-file
ktp-text-ui
ktrip
ktuberling
kturtle
kubrick
kunitconversion
kuserfeedback
kvirc
kwallet-kf5
kwalletmanager
kwallet-pam
kwave
kwayland
kwayland-integration
kwidgetsaddons
kwin
kwindowsystem
kwordquiz
kwrited
kxmlgui
kxmlrpcclient
kxstitch
labplot
lager
latte-dock
layer-shell-qt
lensfun
libaccounts-glib
libaccounts-qt
libappimage
libdbusmenu-qt
libkcddb
libkcompactdisc
libkdegames
libkeduvocdocument
libkf5calendarsupport
libkf5eventviews
libkf5grantleetheme
libkf5gravatar
libkf5incidenceeditor
libkf5kdcraw
libkf5kexiv2
libkf5kipi
libkf5kmahjongg
libkf5ksieve
libkf5libkdepim
libkf5libkleo
libkf5mailcommon
libkf5mailimporter
libkf5pimcommon
libkf5sane
libkgapi
libkomparediff2
libkscreen
libksysguard
libktorrent
libmediawiki
libnova
libqaccessibilityclient
libqapt
libsignon-glib
libspectre
libunibreak
lokalize
lskat
marble
markdownpart
mbox-importer
md4c
meta-kde
meta-kde-telepathy
milou
minuet
modemmanager-qt
neochat
networkmanager-qt
ocean-sound-theme
okteta
okular
oxygen
oxygen-fonts
oxygen-icons5
oxygen-sounds
palapeli
parley
partitionmanager
peruse
phonon
phonon-backend-gstreamer
phonon-backend-vlc
picmi
pim-data-exporter
pim-sieve-editor
pkg-kde-tools
plasma-bigscreen
plasma-browser-integration
plasma-desktop
plasma-discover
plasma-disks
plasma-firewall
plasma-framework
plasma-gamemode
plasma-gmailfeed
plasma-integration
plasma-nano
plasma-nm
plasma-pa
plasma-pass
plasma-remotecontrollers
plasma-sdk
plasma-systemmonitor
plasma-thunderbolt
plasma-vault
plasma-wayland-protocols
plasma-welcome
plasma-workspace
plasma-workspace-wallpapers
plymouth-kcm
polkit-kde-agent-1
polkit-qt-1
powerdevil
poxml
print-manager
prison-kf5
projecteur
pulseaudio-qt
purpose
pyside2
qbs
qca2
qconf
qcoro
qgnomeplatform
qqc2-breeze-style
qqc2-desktop-style
qt3d-opensource-src
qt5ct
qt5reactor
qt6-3d
qt6-5compat
qt6-base
qt6-charts
qt6-connectivity
qt6-datavis3d
qt6-declarative
qt6-grpc
qt6-httpserver
qt6-imageformats
qt6-languageserver
qt6-location
qt6-lottie
qt6-multimedia
qt6-networkauth
qt6-positioning
qt6-quick3d
qt6-quick3dphysics
qt6-quicktimeline
qt6-remoteobjects
qt6-scxml
qt6-sensors
qt6-serialbus
qt6-serialport
qt6-shadertools
qt6-speech
qt6-svg
qt6-tools
qt6-translations
qt6-virtualkeyboard
qt6-wayland
qt6-webchannel
qt6-webengine
qt6-websockets
qt6-webview
qtbase-opensource-src
qtbase-opensource-src-gles
qtcharts-opensource-src
qtchooser
qtconnectivity-opensource-src
qtcreator
qtcurve
qtdatavis3d-everywhere-src
qtdeclarative-opensource-src
qtdeclarative-opensource-src-gles
qtdoc-opensource-src
qtfeedback-opensource-src
qtgamepad-everywhere-src
qtgraphicaleffects-opensource-src
qt-gstreamer
qtimageformats-opensource-src
qtkeychain
qtlocation-opensource-src
qtmultimedia-opensource-src
qtnetworkauth-everywhere-src
qtpim-opensource-src
qtquickcontrols2-opensource-src
qtquickcontrols-opensource-src
qtremoteobjects-everywhere-src
qtscript-opensource-src
qtscxml-everywhere-src
qtsensors-opensource-src
qtserialbus-everywhere-src
qtserialport-opensource-src
qtspeech-opensource-src
qtspell
qtstyleplugins-src
qtsvg-opensource-src
qtsystems-opensource-src
qttools-opensource-src
qttranslations-opensource-src
qtvirtualkeyboard-opensource-src
qtwayland-opensource-src
qtwebchannel-opensource-src
qtwebengine-opensource-src
qtwebkit-opensource-src
qtwebsockets-opensource-src
qtwebview-opensource-src
qtx11extras-opensource-src
qtxmlpatterns-opensource-src
quassel
qzxing
readstat
rkward
rocs
rsibreak
sddm
sddm-kcm
signond
signon-kwallet-extension
signon-plugin-oauth2
signon-ui
skanlite
skanpage
skladnik
skrooge
smb4k
solid
sonnet
soundkonverter
stellarsolver
step
subtitlecomposer
svgpart
sweeper
syndication
systemsettings
telepathy-accounts-signon
telepathy-logger-qt
telepathy-qt
tellico
threadweaver
tokodon
umbrello
verdigris
xdg-desktop-portal-kde
yakuake
zanshin
zeroconf-ioslave
zug

View File

@ -0,0 +1,62 @@
exo
garcon
gigolo
libxfce4ui
libxfce4util
lightdm
lightdm-gtk-greeter
light-locker
mousepad
orage
parole
ristretto
thunar
thunar-archive-plugin
thunar-media-tags-plugin
thunar-vcs-plugin
thunar-volman
tumbler
xfburn
xfce4
xfce4-appfinder
xfce4-battery-plugin
xfce4-clipman-plugin
xfce4-cpufreq-plugin
xfce4-cpugraph-plugin
xfce4-datetime-plugin
xfce4-dev-tools
xfce4-dict
xfce4-diskperf-plugin
xfce4-fsguard-plugin
xfce4-genmon-plugin
xfce4-goodies
xfce4-indicator-plugin
xfce4-mailwatch-plugin
xfce4-mount-plugin
xfce4-mpc-plugin
xfce4-netload-plugin
xfce4-notes-plugin
xfce4-notifyd
xfce4-panel
xfce4-panel-profiles
xfce4-places-plugin
xfce4-power-manager
xfce4-pulseaudio-plugin
xfce4-screensaver
xfce4-screenshooter
xfce4-sensors-plugin
xfce4-session
xfce4-settings
xfce4-smartbookmark-plugin
xfce4-systemload-plugin
xfce4-taskmanager
xfce4-terminal
xfce4-timer-plugin
xfce4-verve-plugin
xfce4-wavelan-plugin
xfce4-weather-plugin
xfce4-whiskermenu-plugin
xfce4-xkb-plugin
xfconf
xfdesktop4
xfwm4

File diff suppressed because one or more lines are too long