fix
This commit is contained in:
commit
31810c0603
55 changed files with 7492 additions and 0 deletions
76
main/broadcom-wl/APKBUILD
Normal file
76
main/broadcom-wl/APKBUILD
Normal file
|
@ -0,0 +1,76 @@
|
|||
# Contributor: NeYurii <neyuriizkh@proton.me>
|
||||
# Maintainer: NeYurii <neyuriizkh@proton.me>
|
||||
pkgname=broadcom-wl
|
||||
_modname=wl
|
||||
pkgver=6.30.223.271
|
||||
pkgrel=0
|
||||
pkgdesc="Broadcom 802.11 Linux STA wireless driver"
|
||||
url="https://www.broadcom.com/site-search?filters[pages][content_type][values][]=Downloads&q=802.11%20linux%20sta%20wireless%20driver"
|
||||
arch="x86 x86_64"
|
||||
license="custom"
|
||||
depends="akms"
|
||||
source="
|
||||
https://docs.broadcom.com/docs-and-downloads/docs/linux_sta/hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
|
||||
patches/001-null-pointer-fix.patch
|
||||
patches/002-rdtscl.patch
|
||||
patches/003-linux47.patch
|
||||
patches/004-linux48.patch
|
||||
patches/005-debian-fix-kernel-warnings.patch
|
||||
patches/006-linux411.patch
|
||||
patches/007-linux412.patch
|
||||
patches/008-linux415.patch
|
||||
patches/009-fix_mac_profile_discrepancy.patch
|
||||
patches/010-linux56.patch
|
||||
patches/011-linux59.patch
|
||||
patches/012-linux517.patch
|
||||
patches/013-linux518.patch
|
||||
patches/014-linux414.patch
|
||||
patches/015-linux600.patch
|
||||
patches/016-linux601.patch
|
||||
patches/017-linux612.patch
|
||||
patches/018-linux613.patch
|
||||
patches/019-linux614.patch"
|
||||
builddir="$srcdir"
|
||||
options="!check"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
sed -i -e '/BRCM_WLAN_IFNAME/s/eth/wlan/' src/wl/sys/wl_linux.c
|
||||
sed -i -e "/EXTRA_LDFLAGS/s|\$(src)/lib|/usr/lib|;/GE_49 :=/s|:= .*|:= 1|" Makefile
|
||||
|
||||
cat >AKMBUILD <<-EOF
|
||||
modname=wl
|
||||
modver=6.30.223.271
|
||||
built_modules=wl.ko
|
||||
EOF
|
||||
}
|
||||
|
||||
package() {
|
||||
local destdir="$pkgdir/usr/src/$_modname-$pkgver"
|
||||
install -D -m644 -t "$destdir" Makefile AKMBUILD
|
||||
install -D -m644 "lib/wlc_hybrid.o_shipped" "$pkgdir/usr/lib/wlc_hybrid.o_shipped"
|
||||
cp -a src "$destdir"
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
6855781f7c69a9aecb9461932423688964879d5a4df571f01ae7adaa7bf21a410bef839605d555afb6c8f4eec92fe8510af6cb120930095617ff6cdcccedaf17 hybrid-v35_64-nodebug-pcoem-6_30_223_271.tar.gz
|
||||
4403cad0360b01f8e88faccb77e6239865e9cc2b68dac62896153ab37957f1e73e5e4c95d3e81dac334106a2cd4ef0784955a5fefd8abc6e793a68f182bbffe4 001-null-pointer-fix.patch
|
||||
b483a4fd5fbb5a4697365b6ddcd8034b4d90ddee9bf2aecf003b0fd6838a708d3e84be33b08acdbe165d440480da25fdf0dfff0d2fe12fa2c5271c51d6ac74c0 002-rdtscl.patch
|
||||
f61ecfb6b8c5a377c7a4da7549c9ec75677782fa2f97e64de0df1259e0ec3b993cfa3eaa4ff50331703ee18ef28f2af0d09839dd3b63ed994e6b29cbfe8ed73f 003-linux47.patch
|
||||
e5959921b6f0cd5d61d7ed568f549b0920f394458c28257c05064b89d7067ce11c8e44ed0e5a48a65bd041c6193d9ae2d02fca2f5efbfb787d3f9001786a4578 004-linux48.patch
|
||||
6209a0a5a46a3efcede3cb1e263467173153d779b6267ba4c20f46421a9abd8743a7068527ace350a3da3ef3046b0399e09b37aba917fabe020c8c2600b60fdf 005-debian-fix-kernel-warnings.patch
|
||||
b7db17e30731a9cbc940b83f7b62f059529cff6c134e47e2176cd7c6fcd8d028334ed4fe1fdce7cf1aef87590f9664b463383ae3302a6e2aabe1baa79fbc5c95 006-linux411.patch
|
||||
d4acd891023ff8d4b9308afdd55c4e971cdf7773570c8e3a545400ed9e414eeca5016ebc8a530002e7858fd44f1fd5b0ae70c0d0a3cdbbffd5bd9abb702b2cde 007-linux412.patch
|
||||
2fb5c3eebd48b6099fb87a9fd92545c17b2abf318b040a434c1b0bdd75a7a682b6e7ec9f80245c198f1c306bbaef35a2488123c5ba8764d5a83eb18132c0857b 008-linux415.patch
|
||||
97d34398d18ac9a7943233c12e01cf7006bf0648938303100932cabf5000c346f1a852978e3c8c48bb6e8652177e625ce1190047d580624319e680a13802ce92 009-fix_mac_profile_discrepancy.patch
|
||||
8fb320c1272246c91fdd99cade2fb67a6ecd924a132c1b9432fa1ff0338444700451ffc6a1cb35e07188c58c5bd1ccaf59ebf014c49f44cb6ba33d1ec732859d 010-linux56.patch
|
||||
b9a0193ab604da92c99051e2a4fd91e43c3b6aeea7dbda15635b43eabd35b414e197bf5f25ac0d4ec905a1cb75abc15f165428470bc788dbefd73f178d165099 011-linux59.patch
|
||||
ec34a2800d7a70a7a1ff8a96ba87c2327f68066addf5adc9f60ba303cfda9cee39159f110013f075e357988f92efe802010e9c1d7884a5dfb1908df1489bd608 012-linux517.patch
|
||||
b815a4ff9289d81ddbe7f76553b092df19ee137438c9e33811c3a8b15e8a3896763715975b42391b4edfb60cfb0db46b71f4fee0f33a7b07f8d45cc4608d3faa 013-linux518.patch
|
||||
30207d8872ee8925a7c7412184e3b4fd6935f8017fb46e1173aca77333c99fb4316ef1511a83e345593c369210d4cbf976eea53995e229b4d856d97662c98961 014-linux414.patch
|
||||
21cf9b0b01ad4b30fa8541638e9a8428c8c68c89992b7e15c19f8526e8df6f8c5ff20de5ae2759b36fead07deacd1805749a9ed82611d15fb75dc94812e4941e 015-linux600.patch
|
||||
22a5071dddfe14b7add661f670047948b20110e7b3adf8474d1a2cc5a344b587352c2b70338b26500ec242ef117a2a7836e7d0ef352fa4dfaebfcfb3c129b0fa 016-linux601.patch
|
||||
3b57d064323e5602ac5e94538d3a810a72dd4185a09cf6be772e787ba968052d2bd43e5946689312cf8df934d72c9e7f495476d5851e106f3dcb2b525be8f3a1 017-linux612.patch
|
||||
3caf2049555f39f71270d768d0b25d0cc8177f50a649a915284467f87de1d74926ecff158e211f3c05ea7e3107ab4047ec005786cf3bb88e856431e537974ab5 018-linux613.patch
|
||||
db8f677138ed9b25d2c8cc8f66dff340a63fdef5e6d8a325bc684bda80053b68441b84b2e8b148aff06de51dc357c9d2dcf6ac11d40814d0914c393a24e93d62 019-linux614.patch
|
||||
"
|
27
main/broadcom-wl/patches/001-null-pointer-fix.patch
Normal file
27
main/broadcom-wl/patches/001-null-pointer-fix.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
Description: Fixing null pointer crash
|
||||
|
||||
Origin: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=773713
|
||||
Bug-Ubuntu: https://launchpad.net/bugs/1415880
|
||||
Last-Update: 2015-08-18
|
||||
|
||||
---
|
||||
src/wl/sys/wl_linux.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
index 860b935..295156f 100644
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -2157,8 +2157,8 @@ wl_start(struct sk_buff *skb, struct net_device *dev)
|
||||
wlif = WL_DEV_IF(dev);
|
||||
wl = WL_INFO(dev);
|
||||
|
||||
+ skb->prev = NULL;
|
||||
if (WL_ALL_PASSIVE_ENAB(wl) || (WL_RTR() && WL_CONFIG_SMP())) {
|
||||
- skb->prev = NULL;
|
||||
|
||||
TXQ_LOCK(wl);
|
||||
|
||||
--
|
||||
1.9.1
|
||||
|
22
main/broadcom-wl/patches/002-rdtscl.patch
Normal file
22
main/broadcom-wl/patches/002-rdtscl.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
Since Linux 4.3, rdtscl() is no longer available and native_read_tsc()
|
||||
is renamed to rdtsc(). Move the macro contents in-line and call the
|
||||
new function. References:
|
||||
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=fe47ae6e1a5005b2e82f7eab57b5c3820453293a
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=4ea1636b04dbd66536fa387bae2eea463efc705b
|
||||
|
||||
diff -ru a/src/shared/linux_osl.c b/src/shared/linux_osl.c
|
||||
--- a/src/shared/linux_osl.c 2015-09-19 01:47:15.000000000 +0300
|
||||
+++ b/src/shared/linux_osl.c 2015-11-21 15:20:30.585902518 +0200
|
||||
@@ -932,7 +932,11 @@
|
||||
uint cycles;
|
||||
|
||||
#if defined(__i386__)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 3, 0)
|
||||
+ cycles = (u32)rdtsc();
|
||||
+#else
|
||||
rdtscl(cycles);
|
||||
+#endif
|
||||
#else
|
||||
cycles = 0;
|
||||
#endif
|
109
main/broadcom-wl/patches/003-linux47.patch
Normal file
109
main/broadcom-wl/patches/003-linux47.patch
Normal file
|
@ -0,0 +1,109 @@
|
|||
Since Linux 4.7, the enum ieee80211_band is no longer used
|
||||
|
||||
This shall cause no problem's since both enums ieee80211_band
|
||||
and nl80211_band were added in the same commit:
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=13ae75b103e07304a34ab40c9136e9f53e06475c
|
||||
|
||||
This patch refactors the references of IEEE80211_BAND_* to NL80211_BAND_*
|
||||
|
||||
Reference:
|
||||
https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit?id=57fbcce37be7c1d2622b56587c10ade00e96afa3
|
||||
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:57:36.159340297 -0500
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2016-06-13 11:58:18.442323435 -0500
|
||||
@@ -236,7 +236,7 @@
|
||||
#endif
|
||||
|
||||
#define CHAN2G(_channel, _freq, _flags) { \
|
||||
- .band = IEEE80211_BAND_2GHZ, \
|
||||
+ .band = NL80211_BAND_2GHZ, \
|
||||
.center_freq = (_freq), \
|
||||
.hw_value = (_channel), \
|
||||
.flags = (_flags), \
|
||||
@@ -245,7 +245,7 @@
|
||||
}
|
||||
|
||||
#define CHAN5G(_channel, _flags) { \
|
||||
- .band = IEEE80211_BAND_5GHZ, \
|
||||
+ .band = NL80211_BAND_5GHZ, \
|
||||
.center_freq = 5000 + (5 * (_channel)), \
|
||||
.hw_value = (_channel), \
|
||||
.flags = (_flags), \
|
||||
@@ -379,7 +379,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_2ghz = {
|
||||
- .band = IEEE80211_BAND_2GHZ,
|
||||
+ .band = NL80211_BAND_2GHZ,
|
||||
.channels = __wl_2ghz_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_2ghz_channels),
|
||||
.bitrates = wl_g_rates,
|
||||
@@ -387,7 +387,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_5ghz_a = {
|
||||
- .band = IEEE80211_BAND_5GHZ,
|
||||
+ .band = NL80211_BAND_5GHZ,
|
||||
.channels = __wl_5ghz_a_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_5ghz_a_channels),
|
||||
.bitrates = wl_a_rates,
|
||||
@@ -395,7 +395,7 @@
|
||||
};
|
||||
|
||||
static struct ieee80211_supported_band __wl_band_5ghz_n = {
|
||||
- .band = IEEE80211_BAND_5GHZ,
|
||||
+ .band = NL80211_BAND_5GHZ,
|
||||
.channels = __wl_5ghz_n_channels,
|
||||
.n_channels = ARRAY_SIZE(__wl_5ghz_n_channels),
|
||||
.bitrates = wl_a_rates,
|
||||
@@ -1876,8 +1876,8 @@
|
||||
wdev->wiphy->max_num_pmkids = WL_NUM_PMKIDS_MAX;
|
||||
#endif
|
||||
wdev->wiphy->interface_modes = BIT(NL80211_IFTYPE_STATION) | BIT(NL80211_IFTYPE_ADHOC);
|
||||
- wdev->wiphy->bands[IEEE80211_BAND_2GHZ] = &__wl_band_2ghz;
|
||||
- wdev->wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_a;
|
||||
+ wdev->wiphy->bands[NL80211_BAND_2GHZ] = &__wl_band_2ghz;
|
||||
+ wdev->wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_a;
|
||||
wdev->wiphy->signal_type = CFG80211_SIGNAL_TYPE_MBM;
|
||||
wdev->wiphy->cipher_suites = __wl_cipher_suites;
|
||||
wdev->wiphy->n_cipher_suites = ARRAY_SIZE(__wl_cipher_suites);
|
||||
@@ -2000,7 +2000,7 @@
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
|
||||
freq = ieee80211_channel_to_frequency(notif_bss_info->channel,
|
||||
(notif_bss_info->channel <= CH_MAX_2G_CHANNEL) ?
|
||||
- IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ);
|
||||
+ NL80211_BAND_2GHZ : NL80211_BAND_5GHZ);
|
||||
#else
|
||||
freq = ieee80211_channel_to_frequency(notif_bss_info->channel);
|
||||
#endif
|
||||
@@ -2116,7 +2116,7 @@
|
||||
return err;
|
||||
}
|
||||
chan = wf_chspec_ctlchan(chanspec);
|
||||
- band = (chan <= CH_MAX_2G_CHANNEL) ? IEEE80211_BAND_2GHZ : IEEE80211_BAND_5GHZ;
|
||||
+ band = (chan <= CH_MAX_2G_CHANNEL) ? NL80211_BAND_2GHZ : NL80211_BAND_5GHZ;
|
||||
freq = ieee80211_channel_to_frequency(chan, band);
|
||||
channel = ieee80211_get_channel(wiphy, freq);
|
||||
cfg80211_ibss_joined(ndev, (u8 *)&wl->bssid, channel, GFP_KERNEL);
|
||||
@@ -2250,10 +2250,10 @@
|
||||
join_params->params.chanspec_list[0] =
|
||||
ieee80211_frequency_to_channel(chan->center_freq);
|
||||
|
||||
- if (chan->band == IEEE80211_BAND_2GHZ) {
|
||||
+ if (chan->band == NL80211_BAND_2GHZ) {
|
||||
chanspec |= WL_CHANSPEC_BAND_2G;
|
||||
}
|
||||
- else if (chan->band == IEEE80211_BAND_5GHZ) {
|
||||
+ else if (chan->band == NL80211_BAND_5GHZ) {
|
||||
chanspec |= WL_CHANSPEC_BAND_5G;
|
||||
}
|
||||
else {
|
||||
@@ -2885,7 +2885,7 @@
|
||||
|
||||
if (phy == 'n' || phy == 'a' || phy == 'v') {
|
||||
wiphy = wl_to_wiphy(wl);
|
||||
- wiphy->bands[IEEE80211_BAND_5GHZ] = &__wl_band_5ghz_n;
|
||||
+ wiphy->bands[NL80211_BAND_5GHZ] = &__wl_band_5ghz_n;
|
||||
}
|
||||
|
||||
return err;
|
64
main/broadcom-wl/patches/004-linux48.patch
Normal file
64
main/broadcom-wl/patches/004-linux48.patch
Normal file
|
@ -0,0 +1,64 @@
|
|||
From d3f93542326a06d920c6eb89b703384290d37b8b Mon Sep 17 00:00:00 2001
|
||||
From: Alberto Milone <alberto.milone@canonical.com>
|
||||
Date: Fri, 2 Sep 2016 17:35:34 +0200
|
||||
Subject: [PATCH 1/1] Add support for Linux 4.8
|
||||
|
||||
Orginal author: Krzysztof Kolasa
|
||||
---
|
||||
src/wl/sys/wl_cfg80211_hybrid.c | 22 ++++++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index 2fc71fe..ec5e472 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -2388,8 +2388,16 @@ wl_bss_connect_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
s32 err = 0;
|
||||
|
||||
if (wl->scan_request) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = true,
|
||||
+ };
|
||||
+ WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
WL_DBG(("%s: Aborting scan\n", __FUNCTION__));
|
||||
cfg80211_scan_done(wl->scan_request, true);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
|
||||
@@ -2490,7 +2498,14 @@ wl_notify_scan_status(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
|
||||
scan_done_out:
|
||||
if (wl->scan_request) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = false,
|
||||
+ };
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
cfg80211_scan_done(wl->scan_request, false);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
rtnl_unlock();
|
||||
@@ -2909,7 +2924,14 @@ s32 wl_cfg80211_down(struct net_device *ndev)
|
||||
s32 err = 0;
|
||||
|
||||
if (wl->scan_request) {
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 8, 0)
|
||||
+ struct cfg80211_scan_info info = {
|
||||
+ .aborted = true,
|
||||
+ };
|
||||
+ cfg80211_scan_done(wl->scan_request, &info);
|
||||
+#else
|
||||
cfg80211_scan_done(wl->scan_request, true);
|
||||
+#endif
|
||||
wl->scan_request = NULL;
|
||||
}
|
||||
|
||||
--
|
||||
2.7.4
|
||||
|
161
main/broadcom-wl/patches/005-debian-fix-kernel-warnings.patch
Normal file
161
main/broadcom-wl/patches/005-debian-fix-kernel-warnings.patch
Normal file
|
@ -0,0 +1,161 @@
|
|||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -1968,7 +1968,7 @@
|
||||
|
||||
if (dtoh32(bi->length) > WL_BSS_INFO_MAX) {
|
||||
WL_DBG(("Beacon is larger than buffer. Discarding\n"));
|
||||
- return err;
|
||||
+ return -E2BIG;
|
||||
}
|
||||
notif_bss_info = kzalloc(sizeof(*notif_bss_info) + sizeof(*mgmt) - sizeof(u8) +
|
||||
WL_BSS_INFO_MAX, GFP_KERNEL);
|
||||
@@ -1992,9 +1992,15 @@
|
||||
beacon_proberesp->capab_info = cpu_to_le16(bi->capability);
|
||||
wl_rst_ie(wl);
|
||||
|
||||
- wl_mrg_ie(wl, ((u8 *) bi) + bi->ie_offset, bi->ie_length);
|
||||
- wl_cp_ie(wl, beacon_proberesp->variable, WL_BSS_INFO_MAX -
|
||||
+ err = wl_mrg_ie(wl, ((u8 *) bi) + bi->ie_offset, bi->ie_length);
|
||||
+ if (err)
|
||||
+ goto inform_single_bss_out;
|
||||
+
|
||||
+ err = wl_cp_ie(wl, beacon_proberesp->variable, WL_BSS_INFO_MAX -
|
||||
offsetof(struct wl_cfg80211_bss_info, frame_buf));
|
||||
+ if (err)
|
||||
+ goto inform_single_bss_out;
|
||||
+
|
||||
notif_bss_info->frame_len = offsetof(struct ieee80211_mgmt, u.beacon.variable) +
|
||||
wl_get_ielen(wl);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 39)
|
||||
@@ -2006,14 +2012,14 @@
|
||||
#endif
|
||||
if (freq == 0) {
|
||||
WL_ERR(("Invalid channel, fail to chcnage channel to freq\n"));
|
||||
- kfree(notif_bss_info);
|
||||
- return -EINVAL;
|
||||
+ err = -EINVAL;
|
||||
+ goto inform_single_bss_out;
|
||||
}
|
||||
channel = ieee80211_get_channel(wiphy, freq);
|
||||
if (unlikely(!channel)) {
|
||||
WL_ERR(("ieee80211_get_channel error\n"));
|
||||
- kfree(notif_bss_info);
|
||||
- return -EINVAL;
|
||||
+ err = -EINVAL;
|
||||
+ goto inform_single_bss_out;
|
||||
}
|
||||
|
||||
WL_DBG(("SSID : \"%s\", rssi %d, channel %d, capability : 0x04%x, bssid %pM\n",
|
||||
@@ -2021,28 +2027,37 @@
|
||||
mgmt->u.beacon.capab_info, &bi->BSSID));
|
||||
|
||||
signal = notif_bss_info->rssi * 100;
|
||||
- cbss = cfg80211_inform_bss_frame(wiphy, channel, mgmt,
|
||||
- le16_to_cpu(notif_bss_info->frame_len), signal, GFP_KERNEL);
|
||||
- if (unlikely(!cbss)) {
|
||||
- WL_ERR(("cfg80211_inform_bss_frame error\n"));
|
||||
- kfree(notif_bss_info);
|
||||
- return -EINVAL;
|
||||
- }
|
||||
|
||||
- notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
|
||||
- notify_ielen = le32_to_cpu(bi->ie_length);
|
||||
+ if (!wl->scan_request) {
|
||||
+ cbss = cfg80211_inform_bss_frame(wiphy, channel, mgmt,
|
||||
+ le16_to_cpu(notif_bss_info->frame_len), signal, GFP_KERNEL);
|
||||
+ if (unlikely(!cbss)) {
|
||||
+ WL_ERR(("cfg80211_inform_bss_frame error\n"));
|
||||
+ err = -ENOMEM;
|
||||
+ goto inform_single_bss_out;
|
||||
+ }
|
||||
+ } else {
|
||||
+ notify_ie = (u8 *)bi + le16_to_cpu(bi->ie_offset);
|
||||
+ notify_ielen = le32_to_cpu(bi->ie_length);
|
||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 18, 0)
|
||||
- cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
|
||||
- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
|
||||
- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
|
||||
+ cbss = cfg80211_inform_bss(wiphy, channel, (const u8 *)(bi->BSSID.octet),
|
||||
+ 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
|
||||
+ (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
|
||||
#else
|
||||
- cbss = cfg80211_inform_bss(wiphy, channel, CFG80211_BSS_FTYPE_UNKNOWN, (const u8 *)(bi->BSSID.octet),
|
||||
- 0, beacon_proberesp->capab_info, beacon_proberesp->beacon_int,
|
||||
- (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
|
||||
+ cbss = cfg80211_inform_bss(wiphy, channel,
|
||||
+ wl->active_scan ?
|
||||
+ CFG80211_BSS_FTYPE_PRESP : CFG80211_BSS_FTYPE_BEACON,
|
||||
+ (const u8 *)(bi->BSSID.octet), 0,
|
||||
+ beacon_proberesp->capab_info,
|
||||
+ beacon_proberesp->beacon_int,
|
||||
+ (const u8 *)notify_ie, notify_ielen, signal, GFP_KERNEL);
|
||||
#endif
|
||||
-
|
||||
- if (unlikely(!cbss))
|
||||
- return -ENOMEM;
|
||||
+ if (unlikely(!cbss)) {
|
||||
+ WL_ERR(("cfg80211_inform_bss error\n"));
|
||||
+ err = -ENOMEM;
|
||||
+ goto inform_single_bss_out;
|
||||
+ }
|
||||
+ }
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
cfg80211_put_bss(wiphy, cbss);
|
||||
@@ -2050,6 +2065,7 @@
|
||||
cfg80211_put_bss(cbss);
|
||||
#endif
|
||||
|
||||
+inform_single_bss_out:
|
||||
kfree(notif_bss_info);
|
||||
|
||||
return err;
|
||||
@@ -2316,6 +2332,9 @@
|
||||
if (err)
|
||||
goto update_bss_info_out;
|
||||
|
||||
+ bss = cfg80211_get_bss(wl_to_wiphy(wl), NULL, (s8 *)&wl->bssid,
|
||||
+ ssid->SSID, ssid->SSID_len, WLAN_CAPABILITY_ESS, WLAN_CAPABILITY_ESS);
|
||||
+
|
||||
ie = ((u8 *)bi) + bi->ie_offset;
|
||||
ie_len = bi->ie_length;
|
||||
} else {
|
||||
@@ -2328,11 +2347,18 @@
|
||||
ie_len = bss->len_information_elements;
|
||||
#endif
|
||||
wl->conf->channel = *bss->channel;
|
||||
+ }
|
||||
+
|
||||
+ if (bss) {
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 9, 0)
|
||||
cfg80211_put_bss(wiphy, bss);
|
||||
#else
|
||||
cfg80211_put_bss(bss);
|
||||
#endif
|
||||
+ } else {
|
||||
+ WL_DBG(("Could not update BSS\n"));
|
||||
+ err = -EINVAL;
|
||||
+ goto update_bss_info_out;
|
||||
}
|
||||
|
||||
tim = bcm_parse_tlvs(ie, ie_len, WLAN_EID_TIM);
|
||||
@@ -2360,10 +2386,17 @@
|
||||
struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
|
||||
s32 err = 0;
|
||||
|
||||
- wl_get_assoc_ies(wl);
|
||||
+ err = wl_get_assoc_ies(wl);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
memcpy(wl->profile->bssid, &e->addr, ETHER_ADDR_LEN);
|
||||
memcpy(&wl->bssid, &e->addr, ETHER_ADDR_LEN);
|
||||
- wl_update_bss_info(wl);
|
||||
+
|
||||
+ err = wl_update_bss_info(wl);
|
||||
+ if (err)
|
||||
+ return err;
|
||||
+
|
||||
cfg80211_roamed(ndev,
|
||||
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
|
||||
&wl->conf->channel,
|
27
main/broadcom-wl/patches/006-linux411.patch
Normal file
27
main/broadcom-wl/patches/006-linux411.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
diff -u sys0/wl_cfg80211_hybrid.c sys/wl_cfg80211_hybrid.c
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -39,6 +39,10 @@
|
||||
#include <proto/802.11.h>
|
||||
#include <wl_cfg80211_hybrid.h>
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0)
|
||||
+#include <linux/sched/signal.h>
|
||||
+#endif
|
||||
+
|
||||
#define EVENT_TYPE(e) dtoh32((e)->event_type)
|
||||
#define EVENT_FLAGS(e) dtoh16((e)->flags)
|
||||
#define EVENT_STATUS(e) dtoh32((e)->status)
|
||||
diff -u sys0/wl_linux.c sys/wl_linux.c
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -2915,7 +2915,9 @@
|
||||
if (skb == NULL) return;
|
||||
|
||||
skb->dev = wl->monitor_dev;
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 11, 0)
|
||||
skb->dev->last_rx = jiffies;
|
||||
+#endif
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 22)
|
||||
skb_reset_mac_header(skb);
|
||||
#else
|
78
main/broadcom-wl/patches/007-linux412.patch
Normal file
78
main/broadcom-wl/patches/007-linux412.patch
Normal file
|
@ -0,0 +1,78 @@
|
|||
From 0b888bf115612074df99654140a1980111c29748 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Cotten <tonio.cotten@gmail.com>
|
||||
Date: Fri, 7 Jul 2017 15:17:47 +0200
|
||||
Subject: [PATCH] Apply patch from Debian bug #867258
|
||||
|
||||
Compile fix with kernel 4.12
|
||||
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867258
|
||||
---
|
||||
src/wl/sys/wl_cfg80211_hybrid.c | 29 +++++++++++++++++++++++++----
|
||||
1 file changed, 25 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index c46944a..1a9840a 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -53,7 +53,11 @@ u32 wl_dbg_level = WL_DBG_ERR;
|
||||
#endif
|
||||
|
||||
static s32 wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
|
||||
- enum nl80211_iftype type, u32 *flags, struct vif_params *params);
|
||||
+ enum nl80211_iftype type,
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
|
||||
+ u32 *flags,
|
||||
+#endif
|
||||
+ struct vif_params *params);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 6, 0)
|
||||
static s32
|
||||
wl_cfg80211_scan(struct wiphy *wiphy,
|
||||
@@ -466,8 +470,11 @@ wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
|
||||
|
||||
static s32
|
||||
wl_cfg80211_change_iface(struct wiphy *wiphy, struct net_device *ndev,
|
||||
- enum nl80211_iftype type, u32 *flags,
|
||||
- struct vif_params *params)
|
||||
+ enum nl80211_iftype type,
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 12, 0)
|
||||
+ u32 *flags,
|
||||
+#endif
|
||||
+ struct vif_params *params)
|
||||
{
|
||||
struct wl_cfg80211_priv *wl = wiphy_to_wl(wiphy);
|
||||
struct wireless_dev *wdev;
|
||||
@@ -2387,6 +2394,15 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
const wl_event_msg_t *e, void *data)
|
||||
{
|
||||
struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
|
||||
+ struct cfg80211_roam_info roam_info = {
|
||||
+ .bssid = wl->profile->bssid,
|
||||
+ .req_ie = conn_info->req_ie,
|
||||
+ .req_ie_len = conn_info->req_ie_len,
|
||||
+ .resp_ie = conn_info->resp_ie,
|
||||
+ .resp_ie_len = conn_info->resp_ie_len,
|
||||
+ };
|
||||
+#endif
|
||||
s32 err = 0;
|
||||
|
||||
err = wl_get_assoc_ies(wl);
|
||||
@@ -2401,12 +2417,17 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
return err;
|
||||
|
||||
cfg80211_roamed(ndev,
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
|
||||
+ &roam_info,
|
||||
+#else
|
||||
#if LINUX_VERSION_CODE > KERNEL_VERSION(2, 6, 39)
|
||||
&wl->conf->channel,
|
||||
#endif
|
||||
(u8 *)&wl->bssid,
|
||||
conn_info->req_ie, conn_info->req_ie_len,
|
||||
- conn_info->resp_ie, conn_info->resp_ie_len, GFP_KERNEL);
|
||||
+ conn_info->resp_ie, conn_info->resp_ie_len,
|
||||
+#endif
|
||||
+ GFP_KERNEL);
|
||||
WL_DBG(("Report roaming result\n"));
|
||||
|
||||
set_bit(WL_STATUS_CONNECTED, &wl->status);
|
||||
|
46
main/broadcom-wl/patches/008-linux415.patch
Normal file
46
main/broadcom-wl/patches/008-linux415.patch
Normal file
|
@ -0,0 +1,46 @@
|
|||
--- a/src/wl/sys/wl_linux.c 2017-07-17 00:11:24.000000000 +0100
|
||||
+++ b/src/wl/sys/wl_linux.c 2018-01-27 09:49:47.057799596 +0000
|
||||
@@ -93,7 +93,11 @@
|
||||
|
||||
#include <wlc_wowl.h>
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
+static void wl_timer(struct timer_list *tl);
|
||||
+#else
|
||||
static void wl_timer(ulong data);
|
||||
+#endif
|
||||
static void _wl_timer(wl_timer_t *t);
|
||||
static struct net_device *wl_alloc_linux_if(wl_if_t *wlif);
|
||||
|
||||
@@ -2297,10 +2301,17 @@
|
||||
atomic_dec(&t->wl->callbacks);
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
+static void
|
||||
+wl_timer(struct timer_list *tl)
|
||||
+{
|
||||
+ wl_timer_t *t = (wl_timer_t *)tl;
|
||||
+#else
|
||||
static void
|
||||
wl_timer(ulong data)
|
||||
{
|
||||
wl_timer_t *t = (wl_timer_t *)data;
|
||||
+#endif
|
||||
|
||||
if (!WL_ALL_PASSIVE_ENAB(t->wl))
|
||||
_wl_timer(t);
|
||||
@@ -2352,9 +2363,13 @@
|
||||
|
||||
bzero(t, sizeof(wl_timer_t));
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
+ timer_setup(&t->timer, wl_timer, 0);
|
||||
+#else
|
||||
init_timer(&t->timer);
|
||||
t->timer.data = (ulong) t;
|
||||
t->timer.function = wl_timer;
|
||||
+#endif
|
||||
t->wl = wl;
|
||||
t->fn = fn;
|
||||
t->arg = arg;
|
|
@ -0,0 +1,14 @@
|
|||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2015-09-19 00:47:30.000000000 +0200
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2018-11-14 14:06:03.313487995 +0100
|
||||
@@ -1444,11 +1444,10 @@
|
||||
s32 rate;
|
||||
s32 err = 0;
|
||||
|
||||
if (memcmp(mac, wl->profile->bssid, ETHER_ADDR_LEN)) {
|
||||
WL_ERR(("Wrong Mac address, mac = %pM profile =%pM\n", mac, wl->profile->bssid));
|
||||
- return -ENOENT;
|
||||
}
|
||||
|
||||
err = wl_dev_ioctl(dev, WLC_GET_RATE, &rate, sizeof(rate));
|
||||
if (err) {
|
||||
WL_DBG(("Could not get rate (%d)\n", err));
|
55
main/broadcom-wl/patches/010-linux56.patch
Normal file
55
main/broadcom-wl/patches/010-linux56.patch
Normal file
|
@ -0,0 +1,55 @@
|
|||
diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
|
||||
index 6157d18..8237ec7 100644
|
||||
--- a/src/shared/linux_osl.c
|
||||
+++ b/src/shared/linux_osl.c
|
||||
@@ -942,7 +942,7 @@ osl_getcycles(void)
|
||||
void *
|
||||
osl_reg_map(uint32 pa, uint size)
|
||||
{
|
||||
- return (ioremap_nocache((unsigned long)pa, (unsigned long)size));
|
||||
+ return (ioremap((unsigned long)pa, (unsigned long)size));
|
||||
}
|
||||
|
||||
void
|
||||
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
index 0d05100..2ed1f0d 100644
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -582,7 +582,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
|
||||
}
|
||||
wl->bcm_bustype = bustype;
|
||||
|
||||
- if ((wl->regsva = ioremap_nocache(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
|
||||
+ if ((wl->regsva = ioremap(dev->base_addr, PCI_BAR0_WINSZ)) == NULL) {
|
||||
WL_ERROR(("wl%d: ioremap() failed\n", unit));
|
||||
goto fail;
|
||||
}
|
||||
@@ -772,7 +772,7 @@ wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
|
||||
if ((val & 0x0000ff00) != 0)
|
||||
pci_write_config_dword(pdev, 0x40, val & 0xffff00ff);
|
||||
bar1_size = pci_resource_len(pdev, 2);
|
||||
- bar1_addr = (uchar *)ioremap_nocache(pci_resource_start(pdev, 2),
|
||||
+ bar1_addr = (uchar *)ioremap(pci_resource_start(pdev, 2),
|
||||
bar1_size);
|
||||
wl = wl_attach(pdev->vendor, pdev->device, pci_resource_start(pdev, 0), PCI_BUS, pdev,
|
||||
pdev->irq, bar1_addr, bar1_size);
|
||||
@@ -3335,12 +3335,19 @@ wl_proc_write(struct file *filp, const char __user *buff, size_t length, loff_t
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 10, 0)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 6, 0)
|
||||
+static struct proc_ops wl_fops = {
|
||||
+ .proc_read = wl_proc_read,
|
||||
+ .proc_write = wl_proc_write,
|
||||
+};
|
||||
+#else
|
||||
static const struct file_operations wl_fops = {
|
||||
.owner = THIS_MODULE,
|
||||
.read = wl_proc_read,
|
||||
.write = wl_proc_write,
|
||||
};
|
||||
#endif
|
||||
+#endif
|
||||
|
||||
static int
|
||||
wl_reg_proc_entry(wl_info_t *wl)
|
211
main/broadcom-wl/patches/011-linux59.patch
Normal file
211
main/broadcom-wl/patches/011-linux59.patch
Normal file
|
@ -0,0 +1,211 @@
|
|||
From f3d652840f8dd959395065a1cf67ca40b04ec69b Mon Sep 17 00:00:00 2001
|
||||
From: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
Date: Tue, 13 Oct 2020 19:35:55 +0200
|
||||
Subject: [PATCH] Get rid of get_fs/set_fs calls in Broadcom WL driver.
|
||||
|
||||
Tentative patch for broadcom-wl 6.30.223.271 driver for Linux 5.10 (tested -rc1 up to 5.10.1)
|
||||
|
||||
Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-23 on Arch Linux.
|
||||
|
||||
NB: Some checks in wlc_ioctl_internal are likely superfluous,
|
||||
but I'm not familiar enough with the driver to remove them with confidence.
|
||||
|
||||
See also: https://lwn.net/Articles/722267/
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=47058bb54b57962b3958a936ddbc59355e4c5504
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=5e6e9852d6f76e01b2e6803c74258afa5b432bc5
|
||||
|
||||
Signed-off-by: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
---
|
||||
src/wl/sys/wl_cfg80211_hybrid.c | 25 ++-------------------
|
||||
src/wl/sys/wl_iw.c | 25 ++-------------------
|
||||
src/wl/sys/wl_linux.c | 40 ++++++++++++++++++++++++++++-----
|
||||
src/wl/sys/wl_linux.h | 2 ++
|
||||
src/wl/sys/wlc_pub.h | 1 +
|
||||
5 files changed, 42 insertions(+), 51 deletions(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index 7b606e0..1e0adb7 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -38,6 +38,7 @@
|
||||
#include <wlioctl.h>
|
||||
#include <proto/802.11.h>
|
||||
#include <wl_cfg80211_hybrid.h>
|
||||
+#include <wl_linux.h>
|
||||
|
||||
#define EVENT_TYPE(e) dtoh32((e)->event_type)
|
||||
#define EVENT_FLAGS(e) dtoh16((e)->flags)
|
||||
@@ -435,30 +436,7 @@ static void key_endian_to_host(struct wl_wsec_key *key)
|
||||
static s32
|
||||
wl_dev_ioctl(struct net_device *dev, u32 cmd, void *arg, u32 len)
|
||||
{
|
||||
- struct ifreq ifr;
|
||||
- struct wl_ioctl ioc;
|
||||
- mm_segment_t fs;
|
||||
- s32 err = 0;
|
||||
-
|
||||
- BUG_ON(len < sizeof(int));
|
||||
-
|
||||
- memset(&ioc, 0, sizeof(ioc));
|
||||
- ioc.cmd = cmd;
|
||||
- ioc.buf = arg;
|
||||
- ioc.len = len;
|
||||
- strcpy(ifr.ifr_name, dev->name);
|
||||
- ifr.ifr_data = (caddr_t)&ioc;
|
||||
-
|
||||
- fs = get_fs();
|
||||
- set_fs(get_ds());
|
||||
-#if defined(WL_USE_NETDEV_OPS)
|
||||
- err = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
|
||||
-#else
|
||||
- err = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
|
||||
-#endif
|
||||
- set_fs(fs);
|
||||
-
|
||||
- return err;
|
||||
+ return wlc_ioctl_internal(dev, cmd, arg, len);
|
||||
}
|
||||
|
||||
static s32
|
||||
diff --git a/src/wl/sys/wl_iw.c b/src/wl/sys/wl_iw.c
|
||||
index c4c610b..e346b15 100644
|
||||
--- a/src/wl/sys/wl_iw.c
|
||||
+++ b/src/wl/sys/wl_iw.c
|
||||
@@ -37,6 +37,7 @@ typedef const struct si_pub si_t;
|
||||
|
||||
#include <wl_dbg.h>
|
||||
#include <wl_iw.h>
|
||||
+#include <wl_linux.h>
|
||||
|
||||
extern bool wl_iw_conn_status_str(uint32 event_type, uint32 status,
|
||||
uint32 reason, char* stringBuf, uint buflen);
|
||||
@@ -103,29 +104,7 @@ dev_wlc_ioctl(
|
||||
int len
|
||||
)
|
||||
{
|
||||
- struct ifreq ifr;
|
||||
- wl_ioctl_t ioc;
|
||||
- mm_segment_t fs;
|
||||
- int ret;
|
||||
-
|
||||
- memset(&ioc, 0, sizeof(ioc));
|
||||
- ioc.cmd = cmd;
|
||||
- ioc.buf = arg;
|
||||
- ioc.len = len;
|
||||
-
|
||||
- strcpy(ifr.ifr_name, dev->name);
|
||||
- ifr.ifr_data = (caddr_t) &ioc;
|
||||
-
|
||||
- fs = get_fs();
|
||||
- set_fs(get_ds());
|
||||
-#if defined(WL_USE_NETDEV_OPS)
|
||||
- ret = dev->netdev_ops->ndo_do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
|
||||
-#else
|
||||
- ret = dev->do_ioctl(dev, &ifr, SIOCDEVPRIVATE);
|
||||
-#endif
|
||||
- set_fs(fs);
|
||||
-
|
||||
- return ret;
|
||||
+ return wlc_ioctl_internal(dev, cmd, arg, len);
|
||||
}
|
||||
|
||||
static int
|
||||
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
index 947cef3..f04c148 100644
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -1643,10 +1643,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
||||
goto done2;
|
||||
}
|
||||
|
||||
- if (segment_eq(get_fs(), KERNEL_DS))
|
||||
- buf = ioc.buf;
|
||||
-
|
||||
- else if (ioc.buf) {
|
||||
+ if (ioc.buf) {
|
||||
if (!(buf = (void *) MALLOC(wl->osh, MAX(ioc.len, WLC_IOCTL_MAXLEN)))) {
|
||||
bcmerror = BCME_NORESOURCE;
|
||||
goto done2;
|
||||
@@ -1667,7 +1664,7 @@ wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
|
||||
WL_UNLOCK(wl);
|
||||
|
||||
done1:
|
||||
- if (ioc.buf && (ioc.buf != buf)) {
|
||||
+ if (ioc.buf) {
|
||||
if (copy_to_user(ioc.buf, buf, ioc.len))
|
||||
bcmerror = BCME_BADADDR;
|
||||
MFREE(wl->osh, buf, MAX(ioc.len, WLC_IOCTL_MAXLEN));
|
||||
@@ -1680,6 +1677,39 @@ done2:
|
||||
return (OSL_ERROR(bcmerror));
|
||||
}
|
||||
|
||||
+int
|
||||
+wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len)
|
||||
+{
|
||||
+ wl_info_t *wl;
|
||||
+ wl_if_t *wlif;
|
||||
+ int bcmerror;
|
||||
+
|
||||
+ if (!dev)
|
||||
+ return -ENETDOWN;
|
||||
+
|
||||
+ wl = WL_INFO(dev);
|
||||
+ wlif = WL_DEV_IF(dev);
|
||||
+ if (wlif == NULL || wl == NULL || wl->dev == NULL)
|
||||
+ return -ENETDOWN;
|
||||
+
|
||||
+ bcmerror = 0;
|
||||
+
|
||||
+ WL_TRACE(("wl%d: wlc_ioctl_internal: cmd 0x%x\n", wl->pub->unit, cmd));
|
||||
+
|
||||
+ WL_LOCK(wl);
|
||||
+ if (!capable(CAP_NET_ADMIN)) {
|
||||
+ bcmerror = BCME_EPERM;
|
||||
+ } else {
|
||||
+ bcmerror = wlc_ioctl(wl->wlc, cmd, buf, len, wlif->wlcif);
|
||||
+ }
|
||||
+ WL_UNLOCK(wl);
|
||||
+
|
||||
+ ASSERT(VALID_BCMERROR(bcmerror));
|
||||
+ if (bcmerror != 0)
|
||||
+ wl->pub->bcmerror = bcmerror;
|
||||
+ return (OSL_ERROR(bcmerror));
|
||||
+}
|
||||
+
|
||||
static struct net_device_stats*
|
||||
wl_get_stats(struct net_device *dev)
|
||||
{
|
||||
diff --git a/src/wl/sys/wl_linux.h b/src/wl/sys/wl_linux.h
|
||||
index 5b1048e..c8c1f41 100644
|
||||
--- a/src/wl/sys/wl_linux.h
|
||||
+++ b/src/wl/sys/wl_linux.h
|
||||
@@ -22,6 +22,7 @@
|
||||
#define _wl_linux_h_
|
||||
|
||||
#include <wlc_types.h>
|
||||
+#include <wlc_pub.h>
|
||||
|
||||
typedef struct wl_timer {
|
||||
struct timer_list timer;
|
||||
@@ -187,6 +188,7 @@ extern irqreturn_t wl_isr(int irq, void *dev_id, struct pt_regs *ptregs);
|
||||
extern int __devinit wl_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent);
|
||||
extern void wl_free(wl_info_t *wl);
|
||||
extern int wl_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
|
||||
+extern int wlc_ioctl_internal(struct net_device *dev, int cmd, void *buf, int len);
|
||||
extern struct net_device * wl_netdev_get(wl_info_t *wl);
|
||||
|
||||
#endif
|
||||
diff --git a/src/wl/sys/wlc_pub.h b/src/wl/sys/wlc_pub.h
|
||||
index 53a98b8..2b5a029 100644
|
||||
--- a/src/wl/sys/wlc_pub.h
|
||||
+++ b/src/wl/sys/wlc_pub.h
|
||||
@@ -24,6 +24,7 @@
|
||||
|
||||
#include <wlc_types.h>
|
||||
#include <wlc_utils.h>
|
||||
+#include <siutils.h>
|
||||
#include "proto/802.11.h"
|
||||
#include "proto/bcmevent.h"
|
||||
|
||||
--
|
||||
2.28.0
|
80
main/broadcom-wl/patches/012-linux517.patch
Normal file
80
main/broadcom-wl/patches/012-linux517.patch
Normal file
|
@ -0,0 +1,80 @@
|
|||
From 31b7849092c43805c7fbaf7518b99874aa1b310c Mon Sep 17 00:00:00 2001
|
||||
From: Joan Bruguera <joanbrugueram@gmail.com>
|
||||
Date: Wed, 12 Jan 2022 20:49:20 +0100
|
||||
Subject: [PATCH] Tentative fix for broadcom-wl 6.30.223.271 driver for Linux 5.17-rc1
|
||||
|
||||
Set netdev->dev_addr through dev_addr_mod + PDE_DATA fix
|
||||
|
||||
Since Linux 5.17 netdev->dev_addr is const and must be changed through
|
||||
dev_addr_mod, otherwise a warning is logged in dmesg and bad things may happen.
|
||||
|
||||
NB: The #if is not wrong, dev_addr_mod is defined since Linux 5.15-rc1
|
||||
|
||||
Plus a trivial fix for PDE_DATA.
|
||||
|
||||
Applies on top of all the patches applied to broadcom-wl-dkms 6.30.223.271-28 on Arch Linux.
|
||||
|
||||
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=adeef3e32146a8d2a73c399dc6f5d76a449131b1
|
||||
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=359745d78351c6f5442435f81549f0207ece28aa
|
||||
---
|
||||
src/wl/sys/wl_linux.c | 16 +++++++++++++---
|
||||
1 file changed, 13 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
index e491df7..e4614fb 100644
|
||||
--- a/src/wl/sys/wl_linux.c
|
||||
+++ b/src/wl/sys/wl_linux.c
|
||||
@@ -93,6 +93,10 @@ struct iw_statistics *wl_get_wireless_stats(struct net_device *dev);
|
||||
|
||||
#include <wlc_wowl.h>
|
||||
|
||||
+#if (LINUX_VERSION_CODE >= KERNEL_VERSION(5, 17, 0))
|
||||
+#define PDE_DATA pde_data
|
||||
+#endif
|
||||
+
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 15, 0)
|
||||
static void wl_timer(struct timer_list *tl);
|
||||
#else
|
||||
@@ -490,6 +494,12 @@ wl_if_setup(struct net_device *dev)
|
||||
#endif
|
||||
}
|
||||
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 15, 0)
|
||||
+static inline void eth_hw_addr_set(struct net_device *dev, const void *addr) {
|
||||
+ memcpy(dev->dev_addr, addr, ETHER_ADDR_LEN);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
static wl_info_t *
|
||||
wl_attach(uint16 vendor, uint16 device, ulong regs,
|
||||
uint bustype, void *btparam, uint irq, uchar* bar1_addr, uint32 bar1_size)
|
||||
@@ -634,7 +644,7 @@ wl_attach(uint16 vendor, uint16 device, ulong regs,
|
||||
WL_ERROR(("wl%d: Error setting MAC ADDRESS\n", unit));
|
||||
}
|
||||
#endif
|
||||
- bcopy(&wl->pub->cur_etheraddr, dev->dev_addr, ETHER_ADDR_LEN);
|
||||
+ eth_hw_addr_set(dev, wl->pub->cur_etheraddr.octet);
|
||||
|
||||
online_cpus = 1;
|
||||
|
||||
@@ -1835,7 +1845,7 @@ wl_set_mac_address(struct net_device *dev, void *addr)
|
||||
|
||||
WL_LOCK(wl);
|
||||
|
||||
- bcopy(sa->sa_data, dev->dev_addr, ETHER_ADDR_LEN);
|
||||
+ eth_hw_addr_set(dev, sa->sa_data);
|
||||
err = wlc_iovar_op(wl->wlc, "cur_etheraddr", NULL, 0, sa->sa_data, ETHER_ADDR_LEN,
|
||||
IOV_SET, (WL_DEV_IF(dev))->wlcif);
|
||||
WL_UNLOCK(wl);
|
||||
@@ -3010,7 +3020,7 @@ _wl_add_monitor_if(wl_task_t *task)
|
||||
else
|
||||
dev->type = ARPHRD_IEEE80211_RADIOTAP;
|
||||
|
||||
- bcopy(wl->dev->dev_addr, dev->dev_addr, ETHER_ADDR_LEN);
|
||||
+ eth_hw_addr_set(dev, wl->dev->dev_addr);
|
||||
|
||||
#if defined(WL_USE_NETDEV_OPS)
|
||||
dev->netdev_ops = &wl_netdev_monitor_ops;
|
||||
--
|
||||
2.35.1
|
||||
|
71
main/broadcom-wl/patches/013-linux518.patch
Normal file
71
main/broadcom-wl/patches/013-linux518.patch
Normal file
|
@ -0,0 +1,71 @@
|
|||
diff -u -r a/src/shared/linux_osl.c b/src/shared/linux_osl.c
|
||||
--- a/src/shared/linux_osl.c 2022-05-24 20:51:15.662604980 +0000
|
||||
+++ b/src/shared/linux_osl.c 2022-05-24 21:13:38.264472425 +0000
|
||||
@@ -599,6 +599,8 @@
|
||||
va = kmalloc(size, GFP_ATOMIC | __GFP_ZERO);
|
||||
if (va)
|
||||
*pap = (ulong)__virt_to_phys(va);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ va = dma_alloc_coherent(&((struct pci_dev *)osh->pdev)->dev, size, (dma_addr_t*)pap, GFP_ATOMIC);
|
||||
#else
|
||||
va = pci_alloc_consistent(osh->pdev, size, (dma_addr_t*)pap);
|
||||
#endif
|
||||
@@ -612,6 +614,8 @@
|
||||
|
||||
#ifdef __ARM_ARCH_7A__
|
||||
kfree(va);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ dma_free_coherent(&((struct pci_dev *)osh->pdev)->dev, size, va, (dma_addr_t)pa);
|
||||
#else
|
||||
pci_free_consistent(osh->pdev, size, va, (dma_addr_t)pa);
|
||||
#endif
|
||||
@@ -623,7 +627,11 @@
|
||||
int dir;
|
||||
|
||||
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
|
||||
+#else
|
||||
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
|
||||
+#endif
|
||||
|
||||
#if defined(__ARM_ARCH_7A__) && defined(BCMDMASGLISTOSL)
|
||||
if (dmah != NULL) {
|
||||
@@ -641,7 +649,11 @@
|
||||
ASSERT(totsegs + nsegs <= MAX_DMA_SEGS);
|
||||
sg->page_link = 0;
|
||||
sg_set_buf(sg, PKTDATA(osh, skb), PKTLEN(osh, skb));
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ dma_map_single(&((struct pci_dev *)osh->pdev)->dev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
|
||||
+#else
|
||||
pci_map_single(osh->pdev, PKTDATA(osh, skb), PKTLEN(osh, skb), dir);
|
||||
+#endif
|
||||
}
|
||||
totsegs += nsegs;
|
||||
totlen += PKTLEN(osh, skb);
|
||||
@@ -656,7 +668,11 @@
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ return (dma_map_single(&((struct pci_dev *)osh->pdev)->dev, va, size, dir));
|
||||
+#else
|
||||
return (pci_map_single(osh->pdev, va, size, dir));
|
||||
+#endif
|
||||
}
|
||||
|
||||
void BCMFASTPATH
|
||||
@@ -665,8 +681,13 @@
|
||||
int dir;
|
||||
|
||||
ASSERT((osh && (osh->magic == OS_HANDLE_MAGIC)));
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 18, 0)
|
||||
+ dir = (direction == DMA_TX)? DMA_TO_DEVICE: DMA_FROM_DEVICE;
|
||||
+ dma_unmap_single(&((struct pci_dev *)osh->pdev)->dev, (uint32)pa, size, dir);
|
||||
+#else
|
||||
dir = (direction == DMA_TX)? PCI_DMA_TODEVICE: PCI_DMA_FROMDEVICE;
|
||||
pci_unmap_single(osh->pdev, (uint32)pa, size, dir);
|
||||
+#endif
|
||||
}
|
||||
|
||||
#if defined(BCMDBG_ASSERT)
|
37
main/broadcom-wl/patches/014-linux414.patch
Normal file
37
main/broadcom-wl/patches/014-linux414.patch
Normal file
|
@ -0,0 +1,37 @@
|
|||
From: Gerardo Esteban Malazdrewicz <gerardo@malazdrewicz.com.ar>
|
||||
Date: Fri, 29 Dec 2017 23:44:24 -0400
|
||||
Subject: linux414
|
||||
Origin: https://bugs.debian.org/885885
|
||||
|
||||
linux 4.14 changed the kernel_read function prototype.
|
||||
---
|
||||
src/shared/linux_osl.c | 12 +++++++++++-
|
||||
1 files changed, 12 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/shared/linux_osl.c b/src/shared/linux_osl.c
|
||||
index 9adc392..b24a973 100644
|
||||
--- a/src/shared/linux_osl.c
|
||||
+++ b/src/shared/linux_osl.c
|
||||
@@ -1076,11 +1076,21 @@ osl_os_get_image_block(char *buf, int len, void *image)
|
||||
{
|
||||
struct file *fp = (struct file *)image;
|
||||
int rdlen;
|
||||
+ loff_t pos;
|
||||
|
||||
if (!image)
|
||||
return 0;
|
||||
|
||||
- rdlen = kernel_read(fp, fp->f_pos, buf, len);
|
||||
+ pos = fp->f_pos;
|
||||
+ rdlen = kernel_read(fp,
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(4, 14, 0)
|
||||
+ pos,
|
||||
+#endif
|
||||
+ buf, len
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 14, 0)
|
||||
+ ,&pos
|
||||
+#endif
|
||||
+ );
|
||||
if (rdlen > 0)
|
||||
fp->f_pos += rdlen;
|
||||
|
31
main/broadcom-wl/patches/015-linux600.patch
Normal file
31
main/broadcom-wl/patches/015-linux600.patch
Normal file
|
@ -0,0 +1,31 @@
|
|||
From 933540c63f33e6ac2825d65c4b681ef3387d9146 Mon Sep 17 00:00:00 2001
|
||||
From: Antoine Cotten <hello@acotten.com>
|
||||
Date: Mon, 15 Aug 2022 17:53:51 +0200
|
||||
Subject: [PATCH] cfg80211_roam_info compat for MLO APIs in Linux >= 6.0
|
||||
|
||||
The 'bssid' struct field is now under 'links.bssid'.
|
||||
|
||||
See also: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=efbabc11650040c64884ff3019b88c7bcc0ceb1d
|
||||
|
||||
Original patch by Joan Bruguera:
|
||||
https://gist.github.com/joanbm/207210d74637870c01ef5a3c262a597d
|
||||
---
|
||||
src/wl/sys/wl_cfg80211_hybrid.c | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index 5e9e6d3..5ec35c5 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -2412,7 +2412,11 @@ wl_bss_roaming_done(struct wl_cfg80211_priv *wl, struct net_device *ndev,
|
||||
struct wl_cfg80211_connect_info *conn_info = wl_to_conn(wl);
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 12, 0)
|
||||
struct cfg80211_roam_info roam_info = {
|
||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(6, 0, 0)
|
||||
.bssid = wl->profile->bssid,
|
||||
+#else
|
||||
+ .links[0].bssid = wl->profile->bssid,
|
||||
+#endif
|
||||
.req_ie = conn_info->req_ie,
|
||||
.req_ie_len = conn_info->req_ie_len,
|
||||
.resp_ie = conn_info->resp_ie,
|
90
main/broadcom-wl/patches/016-linux601.patch
Normal file
90
main/broadcom-wl/patches/016-linux601.patch
Normal file
|
@ -0,0 +1,90 @@
|
|||
diff -Nurp a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:23:30.821615599 +0000
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c 2022-12-12 00:35:47.854975024 +0000
|
||||
@@ -105,14 +105,28 @@ static s32 wl_cfg80211_get_tx_power(stru
|
||||
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
|
||||
#endif
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
|
||||
+ struct net_device *dev, int link_id, u8 key_idx, bool unicast,
|
||||
+ bool multicast);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
|
||||
struct net_device *dev, u8 key_idx, bool unicast, bool multicast);
|
||||
#else
|
||||
static s32 wl_cfg80211_config_default_key(struct wiphy *wiphy,
|
||||
struct net_device *dev, u8 key_idx);
|
||||
#endif
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
|
||||
+ struct key_params *params);
|
||||
+static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr);
|
||||
+static s32 wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
|
||||
+ void *cookie,
|
||||
+ void (*callback) (void *cookie, struct key_params *params));
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
static s32 wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params);
|
||||
static s32 wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
@@ -1161,7 +1175,12 @@ static s32 wl_cfg80211_get_tx_power(stru
|
||||
return err;
|
||||
}
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32
|
||||
+wl_cfg80211_config_default_key(struct wiphy *wiphy,
|
||||
+ struct net_device *dev, int link_id, u8 key_idx, bool unicast,
|
||||
+ bool multicast)
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 38)
|
||||
static s32
|
||||
wl_cfg80211_config_default_key(struct wiphy *wiphy,
|
||||
struct net_device *dev, u8 key_idx, bool unicast, bool multicast)
|
||||
@@ -1186,7 +1205,12 @@ wl_cfg80211_config_default_key(struct wi
|
||||
return 0;
|
||||
}
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32
|
||||
+wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
|
||||
+ struct key_params *params)
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
static s32
|
||||
wl_cfg80211_add_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
u8 key_idx, bool pairwise, const u8 *mac_addr, struct key_params *params)
|
||||
@@ -1307,7 +1331,11 @@ wl_cfg80211_add_key(struct wiphy *wiphy,
|
||||
return err;
|
||||
}
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32
|
||||
+wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr)
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
static s32
|
||||
wl_cfg80211_del_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
u8 key_idx, bool pairwise, const u8 *mac_addr)
|
||||
@@ -1350,7 +1378,13 @@ wl_cfg80211_del_key(struct wiphy *wiphy,
|
||||
return err;
|
||||
}
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 1, 0)
|
||||
+static s32
|
||||
+wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
+ int link_id, u8 key_idx, bool pairwise, const u8 *mac_addr,
|
||||
+ void *cookie,
|
||||
+ void (*callback) (void *cookie, struct key_params * params))
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 37)
|
||||
static s32
|
||||
wl_cfg80211_get_key(struct wiphy *wiphy, struct net_device *dev,
|
||||
u8 key_idx, bool pairwise, const u8 *mac_addr, void *cookie,
|
15
main/broadcom-wl/patches/017-linux612.patch
Normal file
15
main/broadcom-wl/patches/017-linux612.patch
Normal file
|
@ -0,0 +1,15 @@
|
|||
diff -Nurp a/src/wl/sys/wl_linux.c b/src/wl/sys/wl_linux.c
|
||||
--- a/src/wl/sys/wl_linux.c 2024-11-19 03:05:21.160736778 +0000
|
||||
+++ b/src/wl/sys/wl_linux.c 2024-11-19 03:09:59.010905106 +0000
|
||||
@@ -56,7 +56,11 @@
|
||||
#include <asm/irq.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/uaccess.h>
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 12, 0)
|
||||
+#include <linux/unaligned.h>
|
||||
+#else
|
||||
#include <asm/unaligned.h>
|
||||
+#endif
|
||||
|
||||
#include <proto/802.1d.h>
|
||||
|
32
main/broadcom-wl/patches/018-linux613.patch
Normal file
32
main/broadcom-wl/patches/018-linux613.patch
Normal file
|
@ -0,0 +1,32 @@
|
|||
From 5788a19e88aac78e6b2ec8bef7cb094fc14cfbf0 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Joan=20Bruguera=20Mic=C3=B3?= <joanbrugueram@gmail.com>
|
||||
Date: Sat, 12 Oct 2024 11:54:40 +0000
|
||||
Subject: [PATCH] Tentative patch for broadcom-wl 6.30.223.271 driver for Linux
|
||||
6.13-rc1
|
||||
|
||||
The net/lib80211.h header has been removed by commit
|
||||
"wifi: ipw2x00/lib80211: move remaining lib80211 into libipw"
|
||||
(Johannes Berg, 7 Oct 2024).
|
||||
The header does not appear to be actually used anywhere, so remove it.
|
||||
|
||||
#include <asm/irq.h>
|
||||
#include <asm/pgtable.h>
|
||||
---
|
||||
src/include/linuxver.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/include/linuxver.h b/src/include/linuxver.h
|
||||
index b05bc32..06e32eb 100644
|
||||
--- a/src/include/linuxver.h
|
||||
+++ b/src/include/linuxver.h
|
||||
@@ -147,7 +147,7 @@ typedef irqreturn_t(*FN_ISR) (int irq, void *dev_id, struct pt_regs *ptregs);
|
||||
#include <linux/sched.h>
|
||||
#endif
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) && LINUX_VERSION_CODE < KERNEL_VERSION(6, 13, 0)
|
||||
#include <net/lib80211.h>
|
||||
#endif
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29)
|
||||
--
|
||||
2.47.0
|
34
main/broadcom-wl/patches/019-linux614.patch
Normal file
34
main/broadcom-wl/patches/019-linux614.patch
Normal file
|
@ -0,0 +1,34 @@
|
|||
From: Eduard Bloch <blade@debian.org>
|
||||
Date: Sun, 16 Mar 2025 16:13:08 +0100
|
||||
Subject: Prepare for 6.14.0-rc6
|
||||
|
||||
---
|
||||
src/wl/sys/wl_cfg80211_hybrid.c | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/wl/sys/wl_cfg80211_hybrid.c b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
index 2c865c1..e23ef83 100644
|
||||
--- a/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
+++ b/src/wl/sys/wl_cfg80211_hybrid.c
|
||||
@@ -98,7 +98,9 @@ static s32 wl_cfg80211_set_tx_power(struct wiphy *wiphy,
|
||||
enum tx_power_setting type, s32 mbm);
|
||||
#endif
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0)
|
||||
+static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, u32 /*link_id*/, s32 *dbm);
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
|
||||
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm);
|
||||
#else
|
||||
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm);
|
||||
@@ -1159,7 +1161,9 @@ wl_cfg80211_set_tx_power(struct wiphy *wiphy, enum tx_power_setting type, s32 mb
|
||||
return err;
|
||||
}
|
||||
|
||||
-#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
|
||||
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 14, 0)
|
||||
+static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, u32 /*link_id*/, s32 *dbm)
|
||||
+#elif LINUX_VERSION_CODE >= KERNEL_VERSION(3, 8, 0)
|
||||
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, struct wireless_dev *wdev, s32 *dbm)
|
||||
#else
|
||||
static s32 wl_cfg80211_get_tx_power(struct wiphy *wiphy, s32 *dbm)
|
31
main/broadcom-wl/readme.md
Normal file
31
main/broadcom-wl/readme.md
Normal file
|
@ -0,0 +1,31 @@
|
|||
# Broadcom wl driver for alpine linux
|
||||
|
||||
Uses [akms](https://github.com/jirutka/akms)
|
||||
|
||||
Since alpine got rid of non-free repository, the only way is to build driver from third-party APKBUILD.
|
||||
|
||||
**Installation:**
|
||||
|
||||
1. follow this instructions: <https://wiki.alpinelinux.org/wiki/Creating_an_Alpine_package#Setup_your_system_and_account>
|
||||
2. Copy ~/.abuild/key.rsa.pub into /etc/apk/keys
|
||||
3. Enter PACKAGER_PRIVKEY="$HOME/.abuild/key.rsa" into ~/.abuild/abuild.conf
|
||||
4. Clone this repo and cd into it
|
||||
5. Build package with `abuild -r`
|
||||
6. Go into ~/packages/broadcom-wl-akms/x86_64 and install package with `apk add broadcom-wl-6.30.223.271-r0.apk`
|
||||
|
||||
It`s done!
|
||||
|
||||
If you followed instructions in wiki about keygen you can skip steps 2 and 3.
|
||||
|
||||
---
|
||||
|
||||
Tested with Broadcom BCM43142, iwd, alpine edge
|
||||
|
||||
With iwd and busybox's dhcp you will need to add that to iwd config
|
||||
|
||||
```
|
||||
[General]
|
||||
EnableNetworkConfiguration=True
|
||||
```
|
||||
|
||||
With dhcpcd it may work without it
|
85
main/cdesktop-jwm/APKBUILD
Normal file
85
main/cdesktop-jwm/APKBUILD
Normal file
|
@ -0,0 +1,85 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chronalinux.org.tr>
|
||||
pkgname=cdesktop-jwm
|
||||
pkgver=1.4
|
||||
pkgrel=0
|
||||
pkgdesc="Minimal JWM Masaüstü Ortamı"
|
||||
url="https://chronalinux.net.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="
|
||||
jwm
|
||||
spacefm
|
||||
xorg-server
|
||||
xf86-input-libinput
|
||||
xinit
|
||||
eudev
|
||||
menumaker
|
||||
volumeicon
|
||||
alsa-utils
|
||||
alsaconf
|
||||
mesa-dri-gallium
|
||||
chrona-networkmanager-gtk
|
||||
netsurf
|
||||
st
|
||||
font-dejavu
|
||||
adwaita-icon-theme
|
||||
dbus
|
||||
dbus-x11
|
||||
tint2
|
||||
xterm
|
||||
mesa-gles
|
||||
"
|
||||
|
||||
# Ek yapılandırma dosyaları eklendi
|
||||
source="
|
||||
jwmrc
|
||||
mainmenu.svg
|
||||
tint2.conf
|
||||
JWMMenu
|
||||
chrona-startup.sh
|
||||
cdesktop-wallpaper
|
||||
chrona25-04.png
|
||||
"
|
||||
|
||||
build() {
|
||||
return 0
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/etc/skel
|
||||
mkdir -p "$pkgdir"/etc/skel/.config/tint2
|
||||
mkdir -p "$pkgdir"/etc/skel/.config/cdesktop
|
||||
mkdir -p "$pkgdir"/usr/share/cdesktop/
|
||||
mkdir -p "$pkgdir"/usr/share/icons/chrona/
|
||||
mkdir -p "$pkgdir"/usr/share/applications/
|
||||
mkdir -p "$pkgdir"/usr/share/cdesktop/wallpapers
|
||||
install -Dm644 chrona25-04.png "$pkgdir"/usr/share/cdesktop/wallpapers/chrona25-04.png
|
||||
install -Dm644 mainmenu.svg "$pkgdir"/usr/share/icons/chrona/mainmenu.svg
|
||||
install -Dm644 jwmrc "$pkgdir"/etc/skel/.jwmrc
|
||||
install -Dm644 tint2.conf "$pkgdir"/etc/skel/.config/tint2/tint2rc
|
||||
install -Dm755 JWMMenu "$pkgdir"/usr/share/cdesktop/JWMMenu
|
||||
install -Dm755 chrona-startup.sh "$pkgdir"/etc/skel/.config/cdesktop/cdesktop-startup.sh
|
||||
install -Dm755 cdesktop-wallpaper "$pkgdir"/etc/skel/.config/cdesktop/cdesktop-wallpaper
|
||||
cat >"$pkgdir"/usr/share/applications/cdesktop.desktop<<EOF
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=JWMMenu
|
||||
Comment=Main Menu Desktop Application
|
||||
Exec=
|
||||
Icon=/usr/share/icons/chrona/mainmenu.svg
|
||||
Terminal=false
|
||||
Categories=Utility;
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
6f4e4f96d2aac9f7b43e8f0318caa0d0628529c4ba94f1e53045c808703c7296c8426f2d7b4632a9e67d05ea43c3dca4c5aa447a22fd0d87ee32f4be5c5f1001 JWMMenu
|
||||
134158c66afa66eafc1e085bd2a5ee9fc2a587a6d1fd6b09b106081309968245cecbe9360cf3c33a6a9c3b97f4e42ed028024ee45349f217e27168c6cc9431a2 chrona-startup.sh
|
||||
e614d2913c5a06cb14445977872630bfca34377b96fda0382a159d547df04cff0ad7c5e55b20cfc04185ca627ad3a093bf5126775c1c4ac64e17921a4eca8153 jwmrc
|
||||
a4cf9ec771d6b45f44f5281ebe4c16d10c72dc3ebd08edc3c0bb1932762ea56028285bb2e5130df7fbdeba1d4085b9486600f102359c803925908e2ea98306c1 mainmenu.svg
|
||||
1d08e62d251fdd563de308c5e7e3992a267cea5caffcb674ec1b1ad9d91353223655745c278cc6359683914d3c65909dcde9b461efcacadff7ed4a9f600d3ddb tint2.conf
|
||||
8bbf2565d4e6c2f743a23e14331db0e7e3ec22e51281baf7d056eac53425719850d17c5ac4f32d785bd685e7b9f93b60bb79b592a2c0714af5aaa74af2b0a942 chrona25-04.png
|
||||
6e18cfe8179dfae345f2e11988728701610a61205dd086f483b9dba1264f141d5f0e4f8933bce576fadf667cef17ce38d8b29b296b9a4c3f95aa2886d13d7e7f cdesktop-wallpaper
|
||||
"
|
34
main/cdesktop-jwm/JWMMenu
Normal file
34
main/cdesktop-jwm/JWMMenu
Normal file
|
@ -0,0 +1,34 @@
|
|||
[Menu]
|
||||
Title = ChronaLinux
|
||||
Icon = /usr/share/icons/chrona/mainmenu.svg
|
||||
|
||||
[Submenu]
|
||||
Title = Programs
|
||||
Icon = /usr/share/icons/hicolor/22x22/apps/system-tools.png
|
||||
|
||||
[Item]
|
||||
Name = Terminal
|
||||
Icon = /usr/share/icons/hicolor/22x22/apps/terminal.png
|
||||
Action = Exec st
|
||||
|
||||
[Item]
|
||||
Name = Browser
|
||||
Icon = /usr/share/icons/hicolor/22x22/apps/www.png
|
||||
Action = Exec netsurf
|
||||
|
||||
[Item]
|
||||
Name = Text Editor
|
||||
Icon = /usr/share/icons/hicolor/22x22/apps/text-editor.png
|
||||
Action = Exec mousepad
|
||||
|
||||
[Separator]
|
||||
|
||||
[Item]
|
||||
Name = Restart JWM
|
||||
Icon = /usr/share/icons/hicolor/22x22/actions/reload.png
|
||||
Action = Exec jwmrestart
|
||||
|
||||
[Item]
|
||||
Name = Exit
|
||||
Icon = /usr/share/icons/hicolor/22x22/actions/exit.png
|
||||
Action = Exec jwmexit
|
9
main/cdesktop-jwm/cdesktop-wallpaper
Normal file
9
main/cdesktop-jwm/cdesktop-wallpaper
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
FLAGFILE="$HOME/.cache/spacefm_wallpaper_set"
|
||||
|
||||
if [ ! -f "$FLAGFILE" ]; then
|
||||
spacefm --set-wallpaper /usr/share/cdesktop/wallpapers/chrona25-04.png
|
||||
touch "$FLAGFILE"
|
||||
fi
|
||||
|
||||
exit 0
|
7
main/cdesktop-jwm/chrona-startup.sh
Normal file
7
main/cdesktop-jwm/chrona-startup.sh
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
sh ~/.config/cdesktop/cdesktop-wallpaper &
|
||||
spacefm --desktop &
|
||||
mmaker -f jwm > ~/.jwm/menu &
|
||||
nm-applet &
|
||||
volumeicon &
|
||||
tint2
|
BIN
main/cdesktop-jwm/chrona25-04.png
Normal file
BIN
main/cdesktop-jwm/chrona25-04.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
45
main/cdesktop-jwm/jwmrc
Normal file
45
main/cdesktop-jwm/jwmrc
Normal file
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0"?>
|
||||
<JWM>
|
||||
<IconPath>/usr/share/icons/hicolor/256x256/apps</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/256x256/mimetypes</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/actions</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/apps</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/categories</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/devices</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/emblems</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/mimetypes</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/32x32/status</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/512x512/apps</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/512x512/mimetypes</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/actions</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/apps</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/categories</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/devices</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/emblems</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/mimetypes</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/places</IconPath>
|
||||
<IconPath>/usr/share/icons/hicolor/scalable/status</IconPath>
|
||||
<IconPath>/usr/share/icons</IconPath>
|
||||
|
||||
<RootMenu label="Menu">
|
||||
<Include>~/.jwm/menu</Include>
|
||||
<Restart label="Restart JWM" icon="reload"/>
|
||||
<Exit label="Çıkış" icon="exit"/>
|
||||
</RootMenu>
|
||||
|
||||
<Desktops width="0"/>
|
||||
<Group>
|
||||
<Option>nolist</Option>
|
||||
</Group>
|
||||
|
||||
<StartupCommand>sh ~/.config/cdesktop/cdesktop-startup.sh</StartupCommand>
|
||||
|
||||
<WindowStyle>
|
||||
<Font>sans-12</Font>
|
||||
<Width>4</Width>
|
||||
<Height>24</Height>
|
||||
</WindowStyle>
|
||||
|
||||
<Key mask="A" key="F3">root:1</Key>
|
||||
|
||||
</JWM>
|
1687
main/cdesktop-jwm/mainmenu.svg
Normal file
1687
main/cdesktop-jwm/mainmenu.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 124 KiB |
181
main/cdesktop-jwm/tint2.conf
Normal file
181
main/cdesktop-jwm/tint2.conf
Normal file
|
@ -0,0 +1,181 @@
|
|||
#---- Generated by tint2conf 2641 ----
|
||||
# See https://gitlab.com/o9000/tint2/wikis/Configure for
|
||||
# full documentation of the configuration options.
|
||||
#-------------------------------------
|
||||
# Backgrounds
|
||||
# Background 1: Panel
|
||||
rounded = 0
|
||||
border_width = 0
|
||||
background_color = #000000 60
|
||||
border_color = #000000 30
|
||||
background_color_hover = #000000 60
|
||||
border_color_hover = #000000 30
|
||||
background_color_pressed = #000000 60
|
||||
border_color_pressed = #000000 30
|
||||
|
||||
# Background 2: Default task, Iconified task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
background_color = #777777 20
|
||||
border_color = #777777 30
|
||||
background_color_hover = #aaaaaa 22
|
||||
border_color_hover = #eaeaea 44
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #eaeaea 44
|
||||
|
||||
# Background 3: Active task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
background_color = #777777 20
|
||||
border_color = #ffffff 40
|
||||
background_color_hover = #aaaaaa 22
|
||||
border_color_hover = #eaeaea 44
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #eaeaea 44
|
||||
|
||||
# Background 4: Urgent task
|
||||
rounded = 4
|
||||
border_width = 1
|
||||
background_color = #aa4400 100
|
||||
border_color = #aa7733 100
|
||||
background_color_hover = #cc7700 100
|
||||
border_color_hover = #aa7733 100
|
||||
background_color_pressed = #555555 4
|
||||
border_color_pressed = #aa7733 100
|
||||
|
||||
# Background 5: Tooltip
|
||||
rounded = 1
|
||||
border_width = 1
|
||||
background_color = #ffffaa 100
|
||||
border_color = #000000 100
|
||||
background_color_hover = #ffffaa 100
|
||||
border_color_hover = #000000 100
|
||||
background_color_pressed = #ffffaa 100
|
||||
border_color_pressed = #000000 100
|
||||
|
||||
#-------------------------------------
|
||||
# Panel
|
||||
panel_items = LTSC
|
||||
panel_size = 100% 30
|
||||
panel_margin = 0 0
|
||||
panel_padding = 2 0 2
|
||||
panel_background_id = 1
|
||||
wm_menu = 1
|
||||
panel_dock = 0
|
||||
panel_position = bottom center horizontal
|
||||
panel_layer = top
|
||||
panel_monitor = all
|
||||
primary_monitor_first = 0
|
||||
autohide = 0
|
||||
autohide_show_timeout = 0
|
||||
autohide_hide_timeout = 0.5
|
||||
autohide_height = 2
|
||||
strut_policy = follow_size
|
||||
panel_window_name = tint2
|
||||
disable_transparency = 1
|
||||
mouse_effects = 1
|
||||
font_shadow = 0
|
||||
mouse_hover_icon_asb = 100 0 10
|
||||
mouse_pressed_icon_asb = 100 0 0
|
||||
|
||||
#-------------------------------------
|
||||
# Taskbar
|
||||
taskbar_mode = single_desktop
|
||||
taskbar_padding = 0 0 2
|
||||
taskbar_background_id = 0
|
||||
taskbar_active_background_id = 0
|
||||
taskbar_name = 1
|
||||
taskbar_hide_inactive_tasks = 0
|
||||
taskbar_hide_different_monitor = 0
|
||||
taskbar_always_show_all_desktop_tasks = 0
|
||||
taskbar_name_padding = 4 2
|
||||
taskbar_name_background_id = 0
|
||||
taskbar_name_active_background_id = 0
|
||||
taskbar_name_font_color = #e3e3e3 100
|
||||
taskbar_name_active_font_color = #ffffff 100
|
||||
taskbar_distribute_size = 0
|
||||
taskbar_sort_order = none
|
||||
task_align = left
|
||||
|
||||
#-------------------------------------
|
||||
# Task
|
||||
task_text = 1
|
||||
task_icon = 1
|
||||
task_centered = 1
|
||||
urgent_nb_of_blink = 100000
|
||||
task_maximum_size = 150 35
|
||||
task_padding = 2 2 4
|
||||
task_tooltip = 1
|
||||
task_font_color = #ffffff 100
|
||||
task_background_id = 2
|
||||
task_active_background_id = 3
|
||||
task_urgent_background_id = 4
|
||||
task_iconified_background_id = 2
|
||||
mouse_left = toggle_iconify
|
||||
mouse_middle = none
|
||||
mouse_right = close
|
||||
mouse_scroll_up = toggle
|
||||
mouse_scroll_down = iconify
|
||||
|
||||
#-------------------------------------
|
||||
# System tray (notification area)
|
||||
systray_padding = 0 4 2
|
||||
systray_background_id = 0
|
||||
systray_sort = ascending
|
||||
systray_icon_size = 24
|
||||
systray_icon_asb = 100 0 0
|
||||
systray_monitor = 1
|
||||
|
||||
#-------------------------------------
|
||||
# Launcher
|
||||
launcher_padding = 2 4 2
|
||||
launcher_background_id = 0
|
||||
launcher_icon_background_id = 0
|
||||
launcher_icon_size = 24
|
||||
launcher_icon_asb = 100 0 0
|
||||
launcher_icon_theme_override = 0
|
||||
startup_notifications = 1
|
||||
launcher_tooltip = 1
|
||||
launcher_item_app = /usr/share/applications/cdesktop.desktop
|
||||
|
||||
#-------------------------------------
|
||||
# Clock
|
||||
time1_format = %H:%M
|
||||
time2_format = %A %d %B
|
||||
time1_timezone =
|
||||
time2_timezone =
|
||||
clock_font_color = #ffffff 100
|
||||
clock_padding = 2 0
|
||||
clock_background_id = 0
|
||||
clock_tooltip =
|
||||
clock_tooltip_timezone =
|
||||
clock_lclick_command =
|
||||
clock_rclick_command = orage
|
||||
clock_mclick_command =
|
||||
clock_uwheel_command =
|
||||
clock_dwheel_command =
|
||||
|
||||
#-------------------------------------
|
||||
# Battery
|
||||
battery_tooltip = 1
|
||||
battery_low_status = 10
|
||||
battery_low_cmd = notify-send "battery low"
|
||||
battery_font_color = #ffffff 100
|
||||
battery_padding = 1 0
|
||||
battery_background_id = 0
|
||||
battery_hide = 101
|
||||
battery_lclick_command =
|
||||
battery_rclick_command =
|
||||
battery_mclick_command =
|
||||
battery_uwheel_command =
|
||||
battery_dwheel_command =
|
||||
ac_connected_cmd =
|
||||
ac_disconnected_cmd =
|
||||
|
||||
#-------------------------------------
|
||||
# Tooltip
|
||||
tooltip_show_timeout = 0.5
|
||||
tooltip_hide_timeout = 0.1
|
||||
tooltip_padding = 2 2
|
||||
tooltip_background_id = 5
|
||||
tooltip_font_color = #222222 100
|
86
main/chrona-base/APKBUILD
Normal file
86
main/chrona-base/APKBUILD
Normal file
|
@ -0,0 +1,86 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chrona.org.tr>
|
||||
pkgname=chrona-base
|
||||
pkgver=25.04
|
||||
pkgrel=0
|
||||
pkgdesc="Meta package for minimal chrona base"
|
||||
url="https://chronalinux.org.tr"
|
||||
arch="noarch"
|
||||
license="MIT"
|
||||
depends="
|
||||
alpine-baselayout
|
||||
alpine-conf
|
||||
chrona-release
|
||||
apk-tools
|
||||
busybox
|
||||
busybox-mdev-openrc
|
||||
busybox-openrc
|
||||
busybox-suid
|
||||
musl-utils
|
||||
openrc
|
||||
chrona-base-openrc
|
||||
"
|
||||
subpackages="chrona-release:release $pkgname-openrc:openrc"
|
||||
replaces="alpine-baselayout"
|
||||
options="!check"
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
}
|
||||
|
||||
release() {
|
||||
depends="alpine-keys"
|
||||
pkgdesc="Chrona release data"
|
||||
|
||||
mkdir -p "$subpkgdir"/etc
|
||||
# create /etc/alpine-release
|
||||
echo $pkgver > "$subpkgdir"/etc/alpine-release
|
||||
local _ver="$(echo "$pkgver" | grep -E -o '^[0-9]+\.[0-9]+')"
|
||||
local _rel="v$_ver"
|
||||
case "$pkgver" in
|
||||
*_alpha*|*_beta*|*_pre*)
|
||||
_ver="$pkgver (edge)"
|
||||
_rel="edge"
|
||||
;;
|
||||
esac
|
||||
|
||||
# create /etc/issue
|
||||
cat >"$subpkgdir"/etc/issue<<EOF
|
||||
Welcome to Chrona Linux $_ver
|
||||
Kernel \\r on an \\m (\\l)
|
||||
EOF
|
||||
cat >"$subpkgdir"/etc/motd<<EOF
|
||||
Welcome Chrona Linux !!
|
||||
Web Site: https://chronalinux.org.tr/
|
||||
Mastodon: https://floss.social/@chronalinux
|
||||
Me: https://sahanyilmaz.net.tr/
|
||||
EOF
|
||||
|
||||
# create os-release
|
||||
mkdir -p "$subpkgdir"/usr/lib
|
||||
cat >"$subpkgdir"/usr/lib/os-release<<EOF
|
||||
NAME="Chrona Linux"
|
||||
ID=alpine
|
||||
VERSION_ID=$pkgver
|
||||
PRETTY_NAME="Chrona Linux $_rel"
|
||||
HOME_URL="https://chronalinux.org.tr/"
|
||||
BUG_REPORT_URL="https://github.com/chronaos/chronaos/issues"
|
||||
EOF
|
||||
ln -s ../usr/lib/os-release "$subpkgdir"/etc/os-release
|
||||
|
||||
# create secfixes.d repository list
|
||||
mkdir -p "$subpkgdir"/etc/secfixes.d
|
||||
cat >"$subpkgdir"/etc/secfixes.d/alpine<<EOF
|
||||
https://secdb.alpinelinux.org/$_rel/main.json
|
||||
https://secdb.alpinelinux.org/$_rel/community.json
|
||||
EOF
|
||||
}
|
||||
openrc() {
|
||||
pkgdesc="Chrona Base OpenRC"
|
||||
depends="openrc"
|
||||
source="modloop.initd"
|
||||
replaces="openrc"
|
||||
mkdir -p "$subpkgdir"
|
||||
install -Dm755 modloop.initd "$subpkgdir"/etc/init.d/modloop
|
||||
sha512sums="59f9116ba64cb8350c91981ae31caca01fbf4c731b2446997f74aeaefa8acfb3a86bc5f811007ddf952ae53767884c8e74f786bb3927e148d809f7f72250ffa3 modloop.initd"
|
||||
}
|
||||
|
32
main/chrona-base/modloop.initd
Normal file
32
main/chrona-base/modloop.initd
Normal file
|
@ -0,0 +1,32 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
after dev-mount
|
||||
before checkfs fsck hwdrivers modules hwclock dev sysfs
|
||||
keyword -vserver -lxc
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Checking required directories"
|
||||
|
||||
KERNEL_VERSION=$(uname -r)
|
||||
MODULES_DIR="/lib/modules/$KERNEL_VERSION"
|
||||
FIRMWARE_DIR="/lib/firmware"
|
||||
|
||||
if [ ! -d "$MODULES_DIR" ]; then
|
||||
eerror "$MODULES_DIR not found! Kernel modules may be missing."
|
||||
return 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$FIRMWARE_DIR" ]; then
|
||||
eerror "$FIRMWARE_DIR not found! Firmware files may be missing."
|
||||
return 1
|
||||
fi
|
||||
|
||||
eend 0
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping service"
|
||||
eend 0
|
||||
}
|
16
main/chrona-installer/APKBUILD
Normal file
16
main/chrona-installer/APKBUILD
Normal file
|
@ -0,0 +1,16 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chronalinux.org.tr>
|
||||
pkgname=chrona-installer
|
||||
pkgver=25.04
|
||||
pkgrel=3
|
||||
pkgdesc="Chrona Linux Installer"
|
||||
url="https://chronalinux.org.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="rsync squashfs-tools sfdisk"
|
||||
replaces="alpine-conf"
|
||||
source="ci-disk"
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
install -Dm755 ci-disk "$pkgdir"/usr/sbin/ci-disk
|
||||
}
|
||||
sha512sums="dcf3a9eaede3eec9ee31ac2c6e9d3d8dfbb8ae76e3979edb4127efc29c5e29cca8eb24fca13c19f568a4000c1b378f3f2c94e33d3f3c1b6734d562f954444767 ci-disk"
|
1462
main/chrona-installer/ci-disk
Normal file
1462
main/chrona-installer/ci-disk
Normal file
File diff suppressed because it is too large
Load diff
23
main/chrona-live-boot/APKBUILD
Normal file
23
main/chrona-live-boot/APKBUILD
Normal file
|
@ -0,0 +1,23 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chrona.org.tr>
|
||||
pkgname=chrona-live-boot
|
||||
pkgver=1.1
|
||||
pkgrel=6
|
||||
pkgdesc="Live Packages for Chrona Linux"
|
||||
url="https://chronalinux.org.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
install="$pkgname.post-install"
|
||||
subpackages="chrona-live-boot-openrc:openrc"
|
||||
depends="chrona-live-boot-openrc"
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
}
|
||||
openrc() {
|
||||
replaces="openrc"
|
||||
mkdir -p "$subpkgdir"
|
||||
source="clive.initd"
|
||||
install -Dm755 clive.initd "$subpkgdir"/etc/init.d/clive
|
||||
sha512sums="f83455ea6a0ca6de196199fc449a2a22e182e0c8e1a3726ed3da2c7153cff8d1919f95980fd3df0f82996b32384e0a779dd196fdca7d0bdc7c3f9f402496d39c clive.initd
|
||||
"
|
||||
}
|
||||
|
42
main/chrona-live-boot/chrona-live-boot.post-install
Normal file
42
main/chrona-live-boot/chrona-live-boot.post-install
Normal file
|
@ -0,0 +1,42 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Create the 'chrona-live' group (continue even if the command fails)
|
||||
addgroup -S chrona-live || true
|
||||
|
||||
# Create the 'chrona-live' user with basic settings
|
||||
adduser -S -D -h /home/chrona-live -s /bin/sh -G chrona-live -g "Chrona Live User" chrona-live
|
||||
echo "chrona-live:chrona-live" | chpasswd
|
||||
|
||||
# Add the user to additional groups; attempt to create each group first
|
||||
# tty group
|
||||
addgroup tty || true
|
||||
addgroup chrona-live tty
|
||||
|
||||
# plugdev group
|
||||
addgroup plugdev || true
|
||||
addgroup chrona-live plugdev
|
||||
|
||||
# audio group
|
||||
addgroup audio || true
|
||||
addgroup chrona-live audio
|
||||
|
||||
# video group
|
||||
addgroup video || true
|
||||
addgroup chrona-live video
|
||||
|
||||
# input group
|
||||
addgroup input || true
|
||||
addgroup chrona-live input
|
||||
|
||||
# Configure udev rules for tty subsystem
|
||||
mkdir -p /etc/udev/rules.d/
|
||||
echo "SUBSYSTEM==\"tty\", KERNEL==\"tty[0-9]*\", GROUP=\"tty\", MODE=\"0660\"" > /etc/udev/rules.d/99-tty.rules
|
||||
|
||||
# Create messagebus group and user for D-Bus
|
||||
addgroup -S messagebus 2>/dev/null
|
||||
adduser -S -D -H -h /dev/null -s /sbin/nologin -G messagebus -g messagebus messagebus 2>/dev/null
|
||||
|
||||
# Confirm user setup
|
||||
echo "chrona-live user created and added to plugdev, tty, audio, video, and input groups."
|
||||
|
||||
exit 0
|
148
main/chrona-live-boot/clive.initd
Normal file
148
main/chrona-live-boot/clive.initd
Normal file
|
@ -0,0 +1,148 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
depend() {
|
||||
before networkmanager
|
||||
}
|
||||
|
||||
# Check if a specific package is installed
|
||||
check_pkg() {
|
||||
# -e option lists only installed packages
|
||||
apk info -e "$1" >/dev/null 2>&1
|
||||
return $?
|
||||
}
|
||||
|
||||
# Configure .xinitrc for cdesktop (icewm-session)
|
||||
configure_xinitrc_for_cdesktop_icewm() {
|
||||
XINITRC_PATH="/home/chrona-live/.xinitrc"
|
||||
|
||||
# Skip if .xinitrc exists and already configured for icewm-session
|
||||
if [ -f "$XINITRC_PATH" ] && grep -q "exec icewm-session" "$XINITRC_PATH"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Create .xinitrc with icewm-session configuration
|
||||
cat > "$XINITRC_PATH" <<EOF
|
||||
#!/bin/sh
|
||||
exec icewm-session
|
||||
EOF
|
||||
|
||||
# Set ownership and permissions
|
||||
chown chrona-live:chrona-live "$XINITRC_PATH"
|
||||
chmod 755 "$XINITRC_PATH"
|
||||
}
|
||||
|
||||
|
||||
configure_xinitrc_for_cdesktop_jwm() {
|
||||
XINITRC_PATH="/home/chrona-live/.xinitrc"
|
||||
|
||||
# Skip if .xinitrc exists and already configured for icewm-session
|
||||
if [ -f "$XINITRC_PATH" ] && grep -q "exec icewm-session" "$XINITRC_PATH"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Create .xinitrc with icewm-session configuration
|
||||
cat > "$XINITRC_PATH" <<EOF
|
||||
#!/bin/sh
|
||||
exec jwm
|
||||
EOF
|
||||
|
||||
# Set ownership and permissions
|
||||
chown chrona-live:chrona-live "$XINITRC_PATH"
|
||||
chmod 755 "$XINITRC_PATH"
|
||||
}
|
||||
|
||||
|
||||
|
||||
# Configure .xinitrc for xfce4
|
||||
configure_xinitrc_for_xfce() {
|
||||
XINITRC_PATH="/home/chrona-live/.xinitrc"
|
||||
|
||||
# Skip if .xinitrc exists and already configured for xfce4
|
||||
if [ -f "$XINITRC_PATH" ] && grep -q "exec startxfce4" "$XINITRC_PATH"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Create .xinitrc with xfce4 configuration
|
||||
cat > "$XINITRC_PATH" <<EOF
|
||||
#!/bin/sh
|
||||
exec startxfce4
|
||||
EOF
|
||||
|
||||
# Set ownership and permissions
|
||||
chown chrona-live:chrona-live "$XINITRC_PATH"
|
||||
chmod 755 "$XINITRC_PATH"
|
||||
}
|
||||
|
||||
# Configure .xinitrc for mate
|
||||
configure_xinitrc_for_mate() {
|
||||
XINITRC_PATH="/home/chrona-live/.xinitrc"
|
||||
|
||||
# Skip if .xinitrc exists and already configured for mate
|
||||
if [ -f "$XINITRC_PATH" ] && grep -q "dbus-launch --exit-with-session mate-session" "$XINITRC_PATH"; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Create .xinitrc with mate configuration
|
||||
cat > "$XINITRC_PATH" <<EOF
|
||||
#!/bin/sh
|
||||
# Launch D-Bus session for mate
|
||||
dbus-launch --exit-with-session mate-session
|
||||
EOF
|
||||
|
||||
# Set ownership and permissions
|
||||
chown chrona-live:chrona-live "$XINITRC_PATH"
|
||||
chmod 755 "$XINITRC_PATH"
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting session as chrona-live user"
|
||||
|
||||
# Set up udev if eudev package is installed
|
||||
if check_pkg eudev; then
|
||||
setup-devd udev
|
||||
ret=$?
|
||||
fi
|
||||
|
||||
# Configure Xwrapper to allow anybody to start X
|
||||
if [ ! -f /etc/X11/Xwrapper.config ]; then
|
||||
echo "allowed_users=anybody" > /etc/X11/Xwrapper.config
|
||||
fi
|
||||
|
||||
# Start appropriate session based on installed packages
|
||||
if check_pkg clxqt; then
|
||||
# Start clxqt service if clxqt package is installed
|
||||
rc-service clxqt start
|
||||
ret=$?
|
||||
elif check_pkg mate-desktop-environment; then
|
||||
# Configure and start mate session
|
||||
configure_xinitrc_for_mate
|
||||
su - chrona-live -c "startx"
|
||||
ret=$?
|
||||
elif check_pkg xfce4; then
|
||||
# Configure and start xfce4 session
|
||||
configure_xinitrc_for_xfce
|
||||
su - chrona-live -c "startx"
|
||||
ret=$?
|
||||
elif check_pkg cdesktop-jwm; then
|
||||
# Configure and start cdesktop (jwm) session
|
||||
configure_xinitrc_for_cdesktop_jwm
|
||||
su - chrona-live -c "startx"
|
||||
ret=$?
|
||||
elif check_pkg cdesktop-icewm; then
|
||||
# Configure and start cdesktop (icewm) session
|
||||
configure_xinitrc_for_cdesktop_icewm
|
||||
su - chrona-live -c "startx"
|
||||
ret=$?
|
||||
else
|
||||
# No action if no relevant packages are installed
|
||||
ret=0
|
||||
fi
|
||||
|
||||
eend $ret
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping chrona-live session service"
|
||||
# Perform session termination tasks
|
||||
eend $?
|
||||
}
|
33
main/chrona-networkmanager-gtk/APKBUILD
Normal file
33
main/chrona-networkmanager-gtk/APKBUILD
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chrona.org.tr>
|
||||
pkgname=chrona-networkmanager-gtk
|
||||
pkgver=1.0
|
||||
pkgrel=2
|
||||
pkgdesc="NetworkMamager GTK for Chrona Linux"
|
||||
url="https://chrona.org.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="networkmanager networkmanager-wifi network-manager-applet wpa_supplicant"
|
||||
replaces="networkmanager"
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
mkdir -p "$pkgdir"/etc/NetworkManager
|
||||
mkdir -p "$pkgdir"/etc/NetworkManager/conf.d
|
||||
cat <<EOF > "$pkgdir"/etc/NetworkManager/NetworkManager.conf
|
||||
[main]
|
||||
dhcp=internal
|
||||
plugins=ifupdown,keyfile
|
||||
|
||||
[ifupdown]
|
||||
managed=true
|
||||
|
||||
[device]
|
||||
wifi.scan-rand-mac-address=yes
|
||||
wifi.backend=wpa_supplicant
|
||||
EOF
|
||||
|
||||
cat <<EOF > "$pkgdir"/etc/NetworkManager/conf.d/any-user.conf
|
||||
[main]
|
||||
auth-polkit=false
|
||||
EOF
|
||||
|
||||
}
|
33
main/menumaker/APKBUILD
Normal file
33
main/menumaker/APKBUILD
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Maintainer: Avis Orsetti <avisorsetti@riseup.net>
|
||||
# Contributor: Dominika Liberda <ja@sdomi.pl>
|
||||
pkgname=menumaker
|
||||
pkgver=0.99.14
|
||||
pkgrel=1
|
||||
pkgdesc="Heuristics-driven menu generator for Deskmenu, FluxBox, IceWM, OpenBox, WindowMaker and XFCE"
|
||||
url="https://menumaker.sourceforge.net/"
|
||||
arch="all"
|
||||
license="BSD-2-Clause"
|
||||
depends="python3"
|
||||
options="!check" # No tests provided
|
||||
source="https://downloads.sourceforge.net/menumaker/menumaker-$pkgver.tar.gz"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
./configure --prefix=/usr --infodir=/usr/share/info
|
||||
}
|
||||
|
||||
build() {
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/usr/bin
|
||||
make DESTDIR="$pkgdir" pkgdatadir=/usr/lib/menumaker install
|
||||
make DESTDIR="$pkgdir" PYTHON_BIN="python3" pkgdatadir=/usr/lib/menumaker install-exec-local
|
||||
rm -rf "$pkgdir"/usr/share/info
|
||||
install -Dm644 COPYING "$pkgdir"/usr/share/licenses/$pkgname/license
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
81d44c1917d0fd4cd1c8b7cdd4ce12795fee7cc286959a7fc9dc6f84a096ea850a4348d98b6a7dce153c5d07fdb8b3aaf13f3476a9f34dd56646af3097d406d0 menumaker-0.99.14.tar.gz
|
||||
"
|
95
main/netsurf/APKBUILD
Normal file
95
main/netsurf/APKBUILD
Normal file
|
@ -0,0 +1,95 @@
|
|||
# Contributor: Sören Tempel <soeren+alpine@soeren-tempel.net>
|
||||
# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
|
||||
# Contributor: Miles Alan <m@milesalan.com>
|
||||
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
|
||||
pkgname=netsurf
|
||||
pkgver=3.11
|
||||
pkgrel=0
|
||||
pkgdesc="free, open source web browser"
|
||||
url="http://www.netsurf-browser.org"
|
||||
arch="all"
|
||||
license="GPL-2.0-or-later"
|
||||
makedepends="curl-dev openssl-dev doxygen flex bison libwebp-dev lcms2-dev
|
||||
libmng-dev gperf gtk+3.0-dev libcurl libpng-dev libidn-dev
|
||||
check-dev libharu-dev librsvg-dev libjpeg-turbo-dev vim
|
||||
perl perl-html-parser sdl12-compat-dev expat-dev"
|
||||
subpackages="
|
||||
$pkgname-doc
|
||||
$pkgname-framebuffer
|
||||
$pkgname-framebuffer-doc
|
||||
"
|
||||
source="http://download.netsurf-browser.org/netsurf/releases/source-full/netsurf-all-$pkgver.tar.gz
|
||||
netsurf
|
||||
non-coreutils-install-compatibility.patch"
|
||||
|
||||
builddir="$srcdir"/$pkgname-all-$pkgver
|
||||
|
||||
export CFLAGS="$CFLAGS -fcommon"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
sed 's:-Werror::' -i "$builddir"/libsvgtiny/Makefile
|
||||
}
|
||||
|
||||
build() {
|
||||
make \
|
||||
TARGET=gtk3 \
|
||||
LIBDIR=lib \
|
||||
INCLUDEDIR=include \
|
||||
PREFIX=/usr
|
||||
|
||||
make \
|
||||
TARGET=framebuffer \
|
||||
LIBDIR=lib \
|
||||
INCLUDEDIR=include \
|
||||
PREFIX=/usr
|
||||
}
|
||||
|
||||
package() {
|
||||
make \
|
||||
TARGET=gtk3 \
|
||||
LIBDIR=lib \
|
||||
INCLUDEDIR=include \
|
||||
DESTDIR="$pkgdir" \
|
||||
PREFIX=/usr \
|
||||
install
|
||||
|
||||
install -Dm755 "$srcdir/netsurf" "$pkgdir/usr/bin/$pkgname"
|
||||
install -Dm644 netsurf/docs/netsurf-gtk.1 -t "$pkgdir"/usr/share/man/man1
|
||||
|
||||
# Icon
|
||||
install -Dm644 netsurf/frontends/gtk/res/netsurf.xpm \
|
||||
"$pkgdir"/usr/share/pixmaps/netsurf.xpm
|
||||
|
||||
# Desktop file
|
||||
install -Dm644 netsurf/frontends/gtk/res/netsurf-gtk.desktop \
|
||||
"$pkgdir"/usr/share/applications/netsurf.desktop
|
||||
|
||||
# Run netsurf, not netsurf-gtk
|
||||
sed \
|
||||
-e 's:netsurf-gtk:netsurf:g' \
|
||||
-e 's:netsurf.png:netsurf:g' \
|
||||
-i "$pkgdir"/usr/share/applications/netsurf.desktop
|
||||
}
|
||||
|
||||
framebuffer() {
|
||||
pkgdesc="$pkgdesc (framebuffer)"
|
||||
|
||||
cd "$builddir"
|
||||
make \
|
||||
TARGET=framebuffer \
|
||||
LIBDIR=lib \
|
||||
INCLUDEDIR=include \
|
||||
PREFIX=/usr \
|
||||
DESTDIR="$subpkgdir" \
|
||||
install
|
||||
|
||||
install -Dm755 netsurf/nsfb "$subpkgdir/usr/bin/netsurf-framebuffer"
|
||||
install -Dm644 netsurf/docs/netsurf-fb.1 -t "$pkgdir"/usr/share/man/man1
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
f931687e08976ca336762587cc1ac75e45518be62b19d1d31aac3063b92b9666f8a022ff3a183e80c89404ba8ff33458b26521130e96943043085a42291ee283 netsurf-all-3.11.tar.gz
|
||||
4f6868f377abb1fbade92088bee9a319952c4cee82821ca5b3f892484e0d111f33045c8583f3d069e48af6f3f2fcad43c364daa0f5457b3b013542793ac10fcf netsurf
|
||||
528a0d085afcf089789fc2e2aafa27e48c71f9eba1eeed65ba293ccb9c60187193d8e36337ff56b9de8221821d6cb2a4146e175edb383f7a6ef660771c8a1e28 non-coreutils-install-compatibility.patch
|
||||
"
|
7
main/netsurf/netsurf
Normal file
7
main/netsurf/netsurf
Normal file
|
@ -0,0 +1,7 @@
|
|||
#!/bin/sh
|
||||
shortname=$(echo $LANG | cut -b1-2)
|
||||
if [ -d /usr/share/netsurf/$shortname ]; then
|
||||
/usr/bin/netsurf-gtk3 "$@"
|
||||
else
|
||||
LANG=en /usr/bin/netsurf-gtk3 "$@"
|
||||
fi
|
27
main/netsurf/non-coreutils-install-compatibility.patch
Normal file
27
main/netsurf/non-coreutils-install-compatibility.patch
Normal file
|
@ -0,0 +1,27 @@
|
|||
Alpine / busybox's install doesn't have coreutils' -T option.
|
||||
|
||||
--- a/netsurf/frontends/framebuffer/Makefile
|
||||
+++ b/netsurf/frontends/framebuffer/Makefile
|
||||
@@ -200,10 +200,10 @@ NETSURF_FRAMEBUFFER_RESOURCE_LIST := adblock.css credits.html \
|
||||
install-framebuffer:
|
||||
$(VQ)echo " INSTALL: $(DESTDIR)/$(PREFIX)"
|
||||
$(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)
|
||||
- $(Q)$(INSTALL) -T $(EXETARGET) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)/netsurf-fb
|
||||
+ $(Q)$(INSTALL) $(EXETARGET) $(DESTDIR)/$(NETSURF_FRAMEBUFFER_BIN)/netsurf-fb
|
||||
$(Q)$(INSTALL) -d $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)
|
||||
$(Q)for F in $(NETSURF_FRAMEBUFFER_RESOURCE_LIST); do $(INSTALL) -m 644 $(FRONTEND_RESOURCES_DIR)/$$F $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES); done
|
||||
- $(Q)$(INSTALL) -m 644 -T $(MESSAGES_TARGET)/en/Messages $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages
|
||||
+ $(Q)$(INSTALL) -m 644 $(MESSAGES_TARGET)/en/Messages $(DESTDIR)/$(NETSURF_FRAMEBUFFER_RESOURCES)/Messages
|
||||
|
||||
# ----------------------------------------------------------------------------
|
||||
# Package target
|
||||
--- a/buildsystem/makefiles/Makefile.tools
|
||||
+++ b/buildsystem/makefiles/Makefile.tools
|
||||
@@ -285,7 +285,7 @@ GENHTML ?= genhtml
|
||||
|
||||
BUILD_CXX ?= c++
|
||||
|
||||
-INSTALL ?= install -C
|
||||
+INSTALL ?= install
|
||||
|
||||
LCOV ?= lcov
|
39
main/qastools/APKBUILD
Normal file
39
main/qastools/APKBUILD
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Contributor: A. Wilcox <awilfox@adelielinux.org>
|
||||
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
|
||||
pkgname=qastools
|
||||
pkgver=0.23.0
|
||||
pkgrel=0
|
||||
pkgdesc="ALSA mixer and utilities for Qt"
|
||||
url="https://gitlab.com/sebholt/qastools"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="bash"
|
||||
makedepends="alsa-lib-dev cmake eudev-dev qt5-qtbase-dev qt5-qtsvg-dev
|
||||
qt5-qttools-dev"
|
||||
subpackages="$pkgname-doc $pkgname-lang"
|
||||
langdir="/usr/share/qastools/l10n"
|
||||
source="https://gitlab.com/sebholt/qastools/-/archive/v$pkgver/qastools-v$pkgver.tar.bz2"
|
||||
builddir="$srcdir/$pkgname-v$pkgver"
|
||||
|
||||
build() {
|
||||
if [ "$CBUILD" != "$CHOST" ]; then
|
||||
CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
|
||||
fi
|
||||
cmake \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=True \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebugInfo \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
${CMAKE_CROSSOPTS} .
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
CTEST_OUTPUT_ON_FAILURE=TRUE ctest
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir" install
|
||||
}
|
||||
|
||||
sha512sums="543e2f6407ba36f7cb0ce811ee1ceac14652960c58636671fabeaca25d154db263b654d07795ec2a81232b1e177469cbb45617099d40af47d6ab1148443582fb qastools-v0.23.0.tar.bz2"
|
34
main/volumeicon/APKBUILD
Normal file
34
main/volumeicon/APKBUILD
Normal file
|
@ -0,0 +1,34 @@
|
|||
# Contributor: ScrumpyJack <scrumpyjack@st.ilet.to>
|
||||
# Maintainer: ScrumpyJack <scrumpyjack@st.ilet.to>
|
||||
pkgname=volumeicon
|
||||
pkgver=0.5.1
|
||||
pkgrel=1
|
||||
pkgdesc="Volume Icon is a lightweight volume control that sits in your systray"
|
||||
url="http://softwarebakery.com/maato/volumeicon.html"
|
||||
arch="all"
|
||||
license="GPL-3.0-only"
|
||||
makedepends="gtk+3.0-dev intltool alsa-lib-dev libnotify-dev
|
||||
automake autoconf libtool"
|
||||
subpackages="$pkgname-lang"
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/Maato/volumeicon/archive/$pkgver.tar.gz"
|
||||
|
||||
prepare() {
|
||||
default_prepare
|
||||
./autogen.sh
|
||||
}
|
||||
|
||||
build() {
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--host=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--enable-notify
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
make DESTDIR="$pkgdir" install
|
||||
}
|
||||
|
||||
sha512sums="c158a1a1bdf84e91fa039defc4c2a7fefa53f9a3ffc48b92388144fee6f7400f2e20618d3527d5c26f694d2280b1035fa4f91080ffe3b4baa5d229130d0c13b7 volumeicon-0.5.1.tar.gz"
|
77
test/cdesktop-icewm/APKBUILD
Normal file
77
test/cdesktop-icewm/APKBUILD
Normal file
|
@ -0,0 +1,77 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chronalinux.org.tr>
|
||||
pkgname=cdesktop
|
||||
pkgver=1.4
|
||||
pkgrel=0
|
||||
pkgdesc="Minimal Icewm Masaüstü Ortamı"
|
||||
url="https://chronalinux.net.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="
|
||||
icewm
|
||||
spacefm
|
||||
xorg-server
|
||||
xf86-input-libinput
|
||||
xinit
|
||||
eudev
|
||||
volumeicon
|
||||
alsa-utils
|
||||
alsaconf
|
||||
mesa-dri-gallium
|
||||
chrona-networkmanager-gtk
|
||||
netsurf
|
||||
st
|
||||
font-dejavu
|
||||
adwaita-icon-theme
|
||||
dbus
|
||||
dbus-x11
|
||||
xterm
|
||||
mesa-gles
|
||||
"
|
||||
|
||||
# Ek yapılandırma dosyaları eklendi
|
||||
source="
|
||||
mainmenu.svg
|
||||
preferences
|
||||
startup
|
||||
cdesktop-wallpaper
|
||||
chrona25-04.png
|
||||
"
|
||||
|
||||
build() {
|
||||
return 0
|
||||
}
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"/etc/skel/
|
||||
mkdir -p "$pkgdir"/etc/skel/.config/cdesktop/
|
||||
mkdir -p "$pkgdir"/etc/skel/.config/icewm/
|
||||
mkdir -p "$pkgdir"/usr/share/cdesktop/
|
||||
mkdir -p "$pkgdir"/usr/share/icons/chrona/
|
||||
mkdir -p "$pkgdir"/usr/share/applications/
|
||||
mkdir -p "$pkgdir"/usr/share/cdesktop/wallpapers
|
||||
install -Dm755 startup "$pkgdir"/etc/skel/.config/icewm/startup
|
||||
install -Dm755 preferences "$pkgdir"/etc/skel/.config/icewm/preferences
|
||||
install -Dm644 chrona25-04.png "$pkgdir"/usr/share/cdesktop/wallpapers/chrona25-04.png
|
||||
install -Dm644 mainmenu.svg "$pkgdir"/usr/share/icons/chrona/mainmenu.svg
|
||||
install -Dm755 cdesktop-wallpaper "$pkgdir"/etc/skel/.config/cdesktop/cdesktop-wallpaper
|
||||
cat >"$pkgdir"/usr/share/applications/cdesktop.desktop<<EOF
|
||||
[Desktop Entry]
|
||||
Version=1.0
|
||||
Type=Application
|
||||
Name=cdesktop-menu
|
||||
Comment=Main Menu Desktop Application
|
||||
Exec=
|
||||
Icon=/usr/share/icons/chrona/mainmenu.svg
|
||||
Terminal=false
|
||||
Categories=Utility;
|
||||
EOF
|
||||
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
f3e95114f516671775d3f6a314ab5730b7068c44aecf3818dbf80c081ead26b12de06cdff41f74332a49c9961e575a57cb9f8c6c4e0b4fcdc32fb3b01f97f443 startup
|
||||
a4cf9ec771d6b45f44f5281ebe4c16d10c72dc3ebd08edc3c0bb1932762ea56028285bb2e5130df7fbdeba1d4085b9486600f102359c803925908e2ea98306c1 mainmenu.svg
|
||||
8bbf2565d4e6c2f743a23e14331db0e7e3ec22e51281baf7d056eac53425719850d17c5ac4f32d785bd685e7b9f93b60bb79b592a2c0714af5aaa74af2b0a942 chrona25-04.png
|
||||
6e18cfe8179dfae345f2e11988728701610a61205dd086f483b9dba1264f141d5f0e4f8933bce576fadf667cef17ce38d8b29b296b9a4c3f95aa2886d13d7e7f cdesktop-wallpaper
|
||||
79d80481e0c5029d0a305a61a48e59449f74929cf77e2ac29a1263970652d2cb8ad7a6e9b6a1c375f5fe13666d31779d16500cd927543157b8f7039da2532689 preferences
|
||||
"
|
9
test/cdesktop-icewm/cdesktop-wallpaper
Normal file
9
test/cdesktop-icewm/cdesktop-wallpaper
Normal file
|
@ -0,0 +1,9 @@
|
|||
#!/bin/sh
|
||||
FLAGFILE="$HOME/.cache/spacefm_wallpaper_set"
|
||||
|
||||
if [ ! -f "$FLAGFILE" ]; then
|
||||
spacefm --set-wallpaper /usr/share/cdesktop/wallpapers/chrona25-04.png
|
||||
touch "$FLAGFILE"
|
||||
fi
|
||||
|
||||
exit 0
|
BIN
test/cdesktop-icewm/chrona25-04.png
Normal file
BIN
test/cdesktop-icewm/chrona25-04.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
1687
test/cdesktop-icewm/mainmenu.svg
Normal file
1687
test/cdesktop-icewm/mainmenu.svg
Normal file
File diff suppressed because it is too large
Load diff
After Width: | Height: | Size: 124 KiB |
52
test/cdesktop-icewm/preferences
Normal file
52
test/cdesktop-icewm/preferences
Normal file
|
@ -0,0 +1,52 @@
|
|||
# ~/.icewm/preferences - TAM YAPILANDIRMA
|
||||
# ==================================================
|
||||
# ÇEKİRDEK AYARLAR
|
||||
#
|
||||
WorkspaceNames=" 1 " # Tek çalışma alanı
|
||||
QuickSwitch=0 # Pencere geçiş efektleri kapalı
|
||||
FocusMode=2 # Sıkı odak yönetimi (CLICKTOFOCUS)
|
||||
HonorOrigin=1 # Pencere pozisyonunu koru
|
||||
EdgeResistance=200 # Ekran kenarı direnci
|
||||
|
||||
# ==================================================
|
||||
# PERFORMANS OPTİMİZASYONU
|
||||
#
|
||||
UseComposite=0 # Compositing kapalı
|
||||
ShowBlend=0 # Animasyon yok
|
||||
ShowSplash=0 # Açılış ekranı kapalı
|
||||
TaskBarClockLeds=0 # Saat LED efekti yok
|
||||
TaskBarShowAPM=0 # Pil göstergesi kapalı
|
||||
TaskBarShowCPUStatus=0 # CPU göstergesi kapalı
|
||||
TaskBarShowMailboxStatus=0 # Posta bildirimi kapalı
|
||||
TaskBarShowWindowListMenu=0 # Pencere listesi menüsü kapalı
|
||||
|
||||
# ==================================================
|
||||
# MODERN GÖRÜNÜM
|
||||
#
|
||||
|
||||
DesktopBackgroundImage="/usr/share/cdesktop/wallpapers/chrona25-04.png" # Arka plan resmi
|
||||
DesktopBackgroundScaled=1 # Resmi ekrana sığdır
|
||||
|
||||
# ==================================================
|
||||
# GÖREV ÇUBUĞU ve SİSTEM ÇEKMECESİ
|
||||
#
|
||||
TaskBarShowTray=1 # Sistem çekmecesi aktif
|
||||
TaskBarShowShowDesktopButton=1 # Masaüstünü göster butonu
|
||||
TaskBarButtonless=0 # Görev çubuğunda uygulama butonları
|
||||
TaskBarShowWorkspaces=0 # Çalışma alanı düğmeleri kapalı
|
||||
NotificationArea=1 # Bildirim alanı aktif
|
||||
TrayNotifyd=1 # Sistem bildirimleri açık
|
||||
|
||||
# ==================================================
|
||||
# PENCERE YÖNETİMİ
|
||||
#
|
||||
OperateOnScreen=1 # Pencereleri ekran içinde tut
|
||||
SnapMove=1 # Pencere kenetleme aktif
|
||||
SnapResize=1 # Boyutlandırma kenetleme
|
||||
ShowAllWindows=1 # Tüm pencereleri göster
|
||||
|
||||
# ==================================================
|
||||
# KLASÖR ve UYGULAMA YOLLARI
|
||||
#
|
||||
PathApplications="/usr/share/applications:/usr/local/share/applications"
|
||||
PathIcons="/usr/share/icons:/usr/share/pixmaps"
|
6
test/cdesktop-icewm/startup
Normal file
6
test/cdesktop-icewm/startup
Normal file
|
@ -0,0 +1,6 @@
|
|||
#!/bin/sh
|
||||
~/.config/cdesktop/cdesktop-wallpaper &
|
||||
spacefm --desktop &
|
||||
volumeicon &
|
||||
nm-applet
|
||||
|
33
test/chrona-networkmanager-qt/APKBUILD
Normal file
33
test/chrona-networkmanager-qt/APKBUILD
Normal file
|
@ -0,0 +1,33 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chrona.org.tr>
|
||||
pkgname=chrona-networkmanager-qt
|
||||
pkgver=1.0
|
||||
pkgrel=2
|
||||
pkgdesc="NetworkMamager Qt for Chrona Linux"
|
||||
url="https://chrona.org.tr"
|
||||
arch="all"
|
||||
license="MIT"
|
||||
depends="networkmanager networkmanager-wifi nm-tray wpa_supplicant"
|
||||
replaces="networkmanager"
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
mkdir -p "$pkgdir"/etc/NetworkManager
|
||||
mkdir -p "$pkgdir"/etc/NetworkManager/conf.d
|
||||
cat <<EOF > "$pkgdir"/etc/NetworkManager/NetworkManager.conf
|
||||
[main]
|
||||
dhcp=internal
|
||||
plugins=ifupdown,keyfile
|
||||
|
||||
[ifupdown]
|
||||
managed=true
|
||||
|
||||
[device]
|
||||
wifi.scan-rand-mac-address=yes
|
||||
wifi.backend=wpa_supplicant
|
||||
EOF
|
||||
|
||||
cat <<EOF > "$pkgdir"/etc/NetworkManager/conf.d/any-user.conf
|
||||
[main]
|
||||
auth-polkit=false
|
||||
EOF
|
||||
|
||||
}
|
59
test/clxqt/APKBUILD
Normal file
59
test/clxqt/APKBUILD
Normal file
|
@ -0,0 +1,59 @@
|
|||
# Maintainer: Şahan Yılmaz <sahan@chrona.org.tr>
|
||||
pkgname=clxqt
|
||||
pkgver=1.4
|
||||
pkgrel=0
|
||||
pkgdesc="Lxqt Desktop for Chrona Linux"
|
||||
url="https://chrona.org.tr"
|
||||
arch="noarch !armhf !s390x"
|
||||
license="MIT"
|
||||
subpackages="clxqt-openrc:openrc clxqt-full:full clxqt-themes:theme"
|
||||
depends="
|
||||
xorg-server xf86-input-libinput clxqt-themes clxqt-openrc xinit eudev udev-init-scripts
|
||||
udev-init-scripts-openrc mesa-dri-gallium
|
||||
libqtxdg libsysstat liblxqt libfm-qt lxqt-themes
|
||||
libdbusmenu-lxqt lxqt-about lxqt-admin lxqt-config
|
||||
lxqt-globalkeys lxqt-powermanagement chrona-lxqt-session
|
||||
lxqt-panel lxqt-runner chrona-pcmanfm-qt xscreensaver
|
||||
lxqt-qtplugin lxqt-notificationd lxqt-archiver
|
||||
lxqt-policykit lxqt-openssh-askpass lxqt-sudo
|
||||
pm-utils qtermwidget qterminal openbox xdg-utils
|
||||
lximage-qt pavucontrol-qt arandr obconf-qt screengrab lxdm
|
||||
elogind polkit-elogind gvfs udisks2 breeze oxygen
|
||||
font-dejavu dbus dbus-x11 acpid upower pulseaudio pulseaudio-alsa
|
||||
chrona-nm-gtk
|
||||
"
|
||||
|
||||
package() {
|
||||
mkdir -p "$pkgdir"
|
||||
}
|
||||
|
||||
|
||||
theme() {
|
||||
replaces="lxqt-themes pcmanfm-qt"
|
||||
source="chrona.tar.gz chrona-25-03.png"
|
||||
mkdir -p "$subpkgdir"
|
||||
mkdir -p "$subpkgdir"/usr/share/lxqt/themes
|
||||
mkdir -p "$subpkgdir"/usr/share/lxqt/wallpapers
|
||||
tar -xzf chrona.tar.gz -C "$subpkgdir"/usr/share/lxqt/themes/
|
||||
install -Dm644 chrona-25-03.png "$subpkgdir"/usr/share/lxqt/wallpapers/chrona-25-03.png
|
||||
sha512sums="
|
||||
b4a06a22786c49822d105880755b8599a16dc1abb2ed332ff9dcfeb00e6125dddecc200a84d99009784889df380207d52e11d5380e78881835101c6b66325542 chrona.tar.gz
|
||||
8bbf2565d4e6c2f743a23e14331db0e7e3ec22e51281baf7d056eac53425719850d17c5ac4f32d785bd685e7b9f93b60bb79b592a2c0714af5aaa74af2b0a942 chrona-25-03.png
|
||||
"
|
||||
}
|
||||
|
||||
|
||||
openrc() {
|
||||
replaces="openrc"
|
||||
mkdir -p "$subpkgdir"
|
||||
source="clxqt.initd"
|
||||
install -Dm755 clxqt.initd "$subpkgdir"/etc/init.d/clxqt
|
||||
sha512sums="623a732334015c248b508fedf17100cc50d037276c016c104d29d67329fc846ccff84a892c2059ff000a6c3a562173c1cfabd1d66cb902b026c5f86a3253439d clxqt.initd
|
||||
"
|
||||
}
|
||||
|
||||
|
||||
full() {
|
||||
depends="clxqt mpv xpdf falkon libreoffice claws-mail xpdf"
|
||||
mkdir -p "$subpkgdir"
|
||||
}
|
BIN
test/clxqt/chrona-25-03.png
Normal file
BIN
test/clxqt/chrona-25-03.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.3 MiB |
BIN
test/clxqt/chrona.tar.gz
Normal file
BIN
test/clxqt/chrona.tar.gz
Normal file
Binary file not shown.
94
test/clxqt/clxqt.initd
Normal file
94
test/clxqt/clxqt.initd
Normal file
|
@ -0,0 +1,94 @@
|
|||
#!/sbin/openrc-run
|
||||
|
||||
description="Chrona Masaüstü Oturumu"
|
||||
|
||||
# Paketin kurulu olup olmadığını kontrol eder
|
||||
check_pkg() {
|
||||
apk info "$1" >/dev/null 2>&1
|
||||
}
|
||||
|
||||
# NetworkManager'ı yapılandırır (opsiyonel)
|
||||
configure_networkmanager() {
|
||||
if check_pkg chrona-nm-gtk; then
|
||||
# NetworkManager zaten eklendiğinden emin olmak için kontrol
|
||||
if ! rc-status | grep -q networkmanager; then
|
||||
rc-update add networkmanager default
|
||||
rc-service networkmanager start
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
start_pre() {
|
||||
# Gerekli hizmetlerin başlatılması
|
||||
setup-devd udev
|
||||
configure_networkmanager
|
||||
|
||||
ebegin "X11 ortamı hazırlanıyor"
|
||||
|
||||
# X11 dizinini oluştur
|
||||
if ! mkdir -p /etc/X11; then
|
||||
eend 1 "X11 dizini oluşturulamadı"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Xwrapper yapılandırmasını ayarla
|
||||
XWRAPPER_CONFIG="/etc/X11/Xwrapper.config"
|
||||
if ! echo "allowed_users=anybody" > "$XWRAPPER_CONFIG"; then
|
||||
eend 1 "Xwrapper yapılandırması başarısız"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Kullanıcı .xinitrc dosyalarını oluştur
|
||||
for user_dir in /etc/skel /home/chrona /root; do
|
||||
xinitrc="$user_dir/.xinitrc"
|
||||
if [ -f "$xinitrc" ]; then
|
||||
continue
|
||||
fi
|
||||
|
||||
# Dosyayı yaz
|
||||
if ! echo "exec startlxqt" > "$xinitrc"; then
|
||||
ewarn "$xinitrc oluşturulamadı"
|
||||
continue
|
||||
fi
|
||||
|
||||
# Dosya izinlerini ayarla
|
||||
chmod 755 "$xinitrc"
|
||||
einfo "$xinitrc oluşturuldu"
|
||||
done
|
||||
|
||||
eend 0
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Grafik oturumu başlatılıyor"
|
||||
|
||||
# Gerekli kullanıcı kontrolü
|
||||
if ! id -u chrona >/dev/null 2>&1; then
|
||||
eend 1 "Kullanıcı 'chrona' bulunamadı"
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Başlangıç senaryoları
|
||||
if check_pkg chrona-live-boot; then
|
||||
# X sunucusunu başlat
|
||||
su - chrona -c "startx" 2>/var/log/chrona-startx.log &
|
||||
eend 0
|
||||
|
||||
elif check_pkg lxdm; then
|
||||
# LXDM'yi başlat
|
||||
if ! rc-service lxdm start; then
|
||||
eend 1 "LXDM başlatılamadı"
|
||||
return 1
|
||||
fi
|
||||
eend 0
|
||||
|
||||
else
|
||||
eend 1 "Gerekli paketler eksik (chrona-live-boot veya lxdm)"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Servisler durduruluyor"
|
||||
eend 0
|
||||
}
|
39
test/nm-tray/APKBUILD
Normal file
39
test/nm-tray/APKBUILD
Normal file
|
@ -0,0 +1,39 @@
|
|||
# Contributor: cristian_ci <cristian_ci@protonmail.com>
|
||||
# Maintainer: cristian_ci <cristian_ci@protonmail.com>
|
||||
pkgname=nm-tray
|
||||
pkgver=0.5.0
|
||||
pkgrel=0
|
||||
pkgdesc="Simple NetworkManager front end based on Qt"
|
||||
url="https://github.com/palinek/nm-tray"
|
||||
arch="all"
|
||||
license="GPL-2.0-or-later"
|
||||
makedepends="
|
||||
cmake
|
||||
networkmanager-qt5-dev
|
||||
qt5-qtbase-dev
|
||||
qt5-qttools-dev
|
||||
samurai
|
||||
"
|
||||
subpackages="$pkgname-lang"
|
||||
source="$pkgname-$pkgver.tar.gz::https://github.com/palinek/nm-tray/archive/refs/tags/$pkgver.tar.gz"
|
||||
options="!check" # no test suite
|
||||
|
||||
build() {
|
||||
cmake -B build -G Ninja \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DNM_TRAY_XDG_AUTOSTART_DIR=/etc/xdg/autostart
|
||||
cmake --build build
|
||||
}
|
||||
|
||||
package() {
|
||||
DESTDIR="$pkgdir" cmake --install build
|
||||
}
|
||||
|
||||
lang() {
|
||||
install_if="lang $pkgname=$pkgver-r$pkgrel"
|
||||
amove usr/share/$pkgname/*.qm
|
||||
}
|
||||
|
||||
sha512sums="
|
||||
ba118f7fd07a60af5ed6b7b53cf771f339c89f9bef02aeb2f59bfbddd3e896bdc31aa506437e33cb8fe2ef921c595b76527d61cefd202e9e1f5197762b69ab51 nm-tray-0.5.0.tar.gz
|
||||
"
|
Loading…
Add table
Reference in a new issue